WebRTC with Django, Channels, HTMX, and coturn with Ken Whitesell

0:40:52
Published December 6, 2024

Audio/Video conferencing has become standard in many areas for augmenting communications among individuals. Modern browsers facilitate this by including support for Web Real Time Communications (WebRTC).

WebRTC itself is a point-to-point protocol, which means that two browsers using this for a video call are talking directly to each other. But, before that can happen, the those browsers need to know that each other exists and are looking to establish this connection. Then they need to negotiate the parameters for the connection.

Then there are many network-related issues that can affect the ability for those two browsers to connect. Things like firewalls and Network Address Translation (NAT) can affect how each side "sees" the other side, further complicating the situation.

All these issues have known solutions. The WebRTC APIs have matured to the point where they can be considered reasonably stable and reliable. It has become practical to incorporate these solutions in a Django-based website.

This session will discuss one implementation of a Django-based website that facilitates a group video conferencing system, using Channels as the signalling mechanism, HTMX for page-content management, and coturn as the NAT transveral and and gateway server.

This talk was presented at: https://2024.djangocon.us/talks/webrtc-with-django-channels-htmx-and-coturn/

LINKS: Follow Ken Whitesell 👇 On X: https://x.com/KenWhitesell

Follow DjangoCon US 👇 https://fosstodon.org/@djangocon https://x.com/djangocon

Follow DEFNA 👇 https://www.defna.org/

Video production by Confreaks Follow Confreaks 👇 https://confreaks.com https://x.com/confreaks

Presenters:

Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.