~/talk

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

Talkat DjangoCon US 2024 · 2024-09-22..09-27· [web-platform, web-performance]
slides:none on file

Builds a Django‑based group video conferencing system that actually runs a live demo and exposes the practical tradeoffs: uses Channels as the signalling mechanism, uses HTMX for page‑content management, and uses coturn as the NAT traversal and gateway server. Implements ICE/STUN/TURN and exchanges SDP offers via JSON over channels, handles the polite/impolite perfect‑negotiation rule, and shows how a 10‑person room creates ~90 peer connections and on the order of 10k messages so channel capacity, TURN bandwidth, and scaling become real constraints.

AI-written summary · about

  1. 0:00Introduction
  2. 1:03Why this WebRTC demo
  3. 2:30WebRTC history and challenges
  4. 4:16WebRTC with Django architecture
  5. 6:04Core components: Django Channels HTMX coturn
  6. 7:56HTMX WebSocket plugin
  7. 11:09WebRTC events via JSON
  8. 15:28Group call setup
  9. 19:27Network negotiation challenges
  10. 21:11ICE protocol paths
  11. 22:16coturn: STUN and TURN
  12. 24:25How STUN servers identify public IPs
  13. 26:15TURN as data hub
  14. 29:10Session Description Protocol
  15. 31:37Perfect negotiation protocol
  16. 33:47Polite vs impolite roles
  17. 36:22Media stream assignment
  18. 37:05Live demo and future
  19. 38:54Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.