Successfully reported this slideshow.
Your SlideShare is downloading. ×

WebRTC, Whats in it for me?

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
WebRTC: Mostly Video Bits
WebRTC: Mostly Video Bits
Loading in …3
×

Check these out next

1 of 35 Ad

WebRTC, Whats in it for me?

Download to read offline

You already have working infrastructure. You know the ins and outs of your video protocol.
Everything is working, but you feel like things could work even better. If so, this talk is for you!
This talk explores all the things WebRTC could unlock for you. There could be solutions for problems you didn't
even realize were fixable!

You already have working infrastructure. You know the ins and outs of your video protocol.
Everything is working, but you feel like things could work even better. If so, this talk is for you!
This talk explores all the things WebRTC could unlock for you. There could be solutions for problems you didn't
even realize were fixable!

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to WebRTC, Whats in it for me? (20)

Advertisement

Recently uploaded (20)

WebRTC, Whats in it for me?

  1. 1. WebRTC, what’s in it for me?
  2. 2. MY BACKGROUND
  3. 3. 1 Pion Collection of Go RTC libraries - Building blocks to build your vision - Designed to be flexible - Community Owned/Non-Commercial PeerConnection API in Pure Go - CreateOffer/AddTrack/…. - User controls media pipeline - SettingEngine - Interceptors
  4. 4. 2 Pion TURN as an API in Pure Go - Callbacks for authentication - Bring your own logger - Run TURN and HTTPS on same port - Embed TURN in application Ion - Cluster based system for building RTC - SFU Instance - AVP Instance (Processing real-time media) - LIVE Instance (SIP/RTMP/HLS Endpoints)
  5. 5. 3 WebRTC for the Curious Book on how WebRTC really works - Not just about the public APIs! - Deep dive on protocols History of WebRTC - Interviews with RFC authors WebRTC in practice - Debugging every piece - Teach the sharp edges
  6. 6. WHAT IS WEBRTC?
  7. 7. 4 Protocol for Browsers E2E Secure Connection between Peers - You decide the topology Multiple Audio/Video Tracks Binary Data - Can be lossy - Can be unordered - Multiple distinct DataChannels
  8. 8. 5 And More! - aiortc (Python) - GStreamer’s webrtcbin (C) - werift (Typescript) - Pion (Golang) - Shiguredo (Erlang) - |pipe| (Java) - rawrtc (C++) - webrtc-rs (Rust) - AWS WebRTC (C/Embedded) - ?
  9. 9. 6 Bundling of existing protocols You might already know these! - (S)RTP - DTLS - ICE - SDP WebRTC in 4 steps - Signaling - Connecting - Securing - Communicating
  10. 10. WEBRTC IN A RTMP WORLD
  11. 11. 7 Lower Latency You can expect sub 500ms - TCP/TURN may effect this - You can make a choice of quality vs latency You can get it much lower though! - Google Stadia sees 125ms for keypress [0] - playoutDelayHint API [0] https://www.pcgamer.com/heres-how-stadias-input-lag-compares-to-native-pc-gaming/
  12. 12. 8 Secure By Default DTLS and SRTP - TLS over UDP - Self-Signed, fingerprint via signaling You can use existing gateways/proxies
  13. 13. 9 Flexible Networking NAT Traversal - Video never has to enter your network! - Feels like ‘automatic port forwarding’ - Also can route through a ‘WebRTC Server’ Stay connected as you roam - Switch networks with ICE Restarts - Congestion Control in userspace
  14. 14. 10 Advanced Media Capabilities Upload Multiple Quality Levels via Simulcast - Stop running expensive transcoders! Add/Remove tracks at anytime on either side - You can mix/match codecs Fast moving and widely adopted - H265 and AV1 Support (not all Agents yet)
  15. 15. 11 Binary/Text Communication Great for sending metadata - Users in a room, chat etc… E2E Secure - No reason to upload this stuff to backend Great for real-time - Can be unordered/reliable - Avoid HoL blocking
  16. 16. 12 It’s a standard Widely Available - C, C++, Go, Python, Rust, Android, iOS…. Remove subjectivity from incompatibilities - Community is directed and resolving issues It’s in the browser It’s easy to bridge - Uses existing protocols from telephony
  17. 17. WEBRTC IN A SRT WORLD
  18. 18. 13 Agents negotiate in-band Codec Negotiation is in the protocol - You can declare I support X only - Don’t have to put this logic in your codec Track Negotiation is in the protocol - I am willing to accept n tracks - I am going to send you n tracks
  19. 19. 14 Re-uses existing protocols Widely Available - C, C++, Go, Python, Rust, Android, iOS…. It’s in the browser It’s easy to bridge - Uses existing protocols from telephony - If you want to view in the browser….
  20. 20. WEBRTC IN A RIST WORLD
  21. 21. 15 A Simpler WebRTC Optional Security Negotiation isn’t handled by the protocol - Interoperation will need to be solved
  22. 22. OPEN SOURCE SHOWCASE
  23. 23. ns-remote 16
  24. 24. kerberos.io 17
  25. 25. CloudRetro.io 18
  26. 26. 19 Neko github.com/nurdism/neko
  27. 27. 20 TelloGo
  28. 28. 21 ascii
  29. 29. 22 cloud-morph
  30. 30. 23 ssh-p2p
  31. 31. 24 Snowflake
  32. 32. webwormhole.io 25
  33. 33. s4y/space 26
  34. 34. Project Lightspeed 27
  35. 35. 28 github.com/pion pion.ly/slack twitter.com/_pion sean@pion.ly

×