SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Can we make WebRTC easier?
MY BACKGROUND
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
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)
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
QUESTIONS FROM THE FIELD
4
What is WebRTC?
Most docs are for Javascript (W3C) API


Users can’t even find a definition of WebRTC


- Is it the IETF (RTCWEB) protocol?


- Is it the W3C (webrtc-pc) API?


- Is it Google’s C++ implementation?


Compare the following


- Wikipedia


- webrtc.org


- MDN Web Docs
5
Dev don’t anticipate production problems
Frustrated devs who thought they were done….


Network Topologies


- Are you running a TURN Server?


Codec Support


- Not all clients support H264


One customer reports bad video


- Congestion Control and Error Correction!?
6
Where do I ask for help?
Vendor Specific communities are doing well


- GStreamer


- Mediasoup


- Janus


- Jitsi


- Pion


Vendor Agnostic communities not so much…


- discuss-webrtc


- stackoverflow


- video-dev


- IRC


Twitter is great, but takes work to get into
7
Devs want WebRTC in their language
C/C++ isn’t for everyone


- Gives more freedom, at a cost (Memory/Security)


- Doesn’t fit into existing code base/build system


- Challenging to build


Some just want to read code


Have to target other platforms


- Embedded (can’t use OpenSSL)


- Lots of these corner cases….
8
Non-standard use cases need a home
Where would you go to talk about?


- Teleoperation


- IoT/Security Cameras


- Filesharing


- Proxys


- Zeroconf/NAT Traversal for DataChannels
9
Other Protocols and NIH
Devs don’t understand what WebRTC can do


- Proprietary ICE clone , made lots of mistakes


- RTP without NACK/FEC/Congestion Control


Other protocols exploiting lack of information


- WebRTC isn’t browser only


- WebRTC isn’t locked to bitrate/resolution


- WebRTC can be adjusted for latency/loss
WHAT CAN WE DO
10
Embrace WebRTC implementations
- aiortc (Python)


- GStreamer's webrtcbin


- werift (Typescript)


- Pion (Golang)


- Shiguredo (Erlang)


- |pipe| (Java)


- rawrtc (C++)


- webrtc-rs (Rust)


- AWS WebRTC (C/Embedded)


- ?
11
Interop Testing Tools
Tooling to connect two WebRTC Agents


- Assert protocol features/compliance


- Also a WebRTC feature showcase


- Make it easier for new implementations
12
Teaching Resources
WebRTC for the Curious


- Vendor Agnostic


- Would love your help/feedback


Pion Interceptors


- RTP/RTCP Pipeline outside PeerConnection


- Congestion Control, FEC and NACK etc…


Better video debugging in browser?


- Education issue maybe


- Protocol bridging is painful debugging video
13
Supportive Communities
Non-Commercial Meetup


- Deep Dive on one WebRTC topic


- Roadmap of WebRTC library


- Demo of one project in the space


Vendor Agnostic Community


- How do we encourage people to give back?


Individual Ownership


- A robust WebRTC community has many owners


- We don’t want WebRTC to have a CentOS moment
OPEN SOURCE SHOWCASE
ns-remote


14
kerberos.io


15
CloudRetro.io
16
17
Neko


github.com/nurdism/neko
18
TelloGo
19
ascii
20
cloud-morph
21
ssh-p2p
22
Snowflake
webwormhole.io


23
s4y/space
24
Project
Lightspeed
25
25
github.com/pion


pion.ly/slack


twitter.com/_pion


sean@pion.ly

Mais conteúdo relacionado

Mais procurados

ピクト図解® 入門 ビジネスの仕組みがスッキリわかる!
ピクト図解® 入門 ビジネスの仕組みがスッキリわかる! ピクト図解® 入門 ビジネスの仕組みがスッキリわかる!
ピクト図解® 入門 ビジネスの仕組みがスッキリわかる!
Satoru Itabashi
 

Mais procurados (20)

Aepp-6.4-6.7-tsiotakis
Aepp-6.4-6.7-tsiotakisAepp-6.4-6.7-tsiotakis
Aepp-6.4-6.7-tsiotakis
 
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催) ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
 
Concept Of VOIP in deatils
Concept Of VOIP in deatilsConcept Of VOIP in deatils
Concept Of VOIP in deatils
 
ネット中立性原則とネットワーク投資をめぐる論点
ネット中立性原則とネットワーク投資をめぐる論点ネット中立性原則とネットワーク投資をめぐる論点
ネット中立性原則とネットワーク投資をめぐる論点
 
IIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについてIIJmio meeting 28 5G SAについて
IIJmio meeting 28 5G SAについて
 
Senario απλής και σύνθετης δομής επιλογής
Senario απλής και σύνθετης δομής επιλογής Senario απλής και σύνθετης δομής επιλογής
Senario απλής και σύνθετης δομής επιλογής
 
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
 
ZigBee/IEEE802.15.4について調べてみた
ZigBee/IEEE802.15.4について調べてみたZigBee/IEEE802.15.4について調べてみた
ZigBee/IEEE802.15.4について調べてみた
 
545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!
 
Get started with GitHub Copilot.pptx
Get started with GitHub Copilot.pptxGet started with GitHub Copilot.pptx
Get started with GitHub Copilot.pptx
 
120 Awesome Marketing Stats, Charts and Graphs
120 Awesome Marketing Stats, Charts and Graphs120 Awesome Marketing Stats, Charts and Graphs
120 Awesome Marketing Stats, Charts and Graphs
 
How Azure helps to build better business processes and customer experiences w...
How Azure helps to build better business processes and customer experiences w...How Azure helps to build better business processes and customer experiences w...
How Azure helps to build better business processes and customer experiences w...
 
一歩上の安定を目指した「バックグラウンド実行」対応のススメ
一歩上の安定を目指した「バックグラウンド実行」対応のススメ一歩上の安定を目指した「バックグラウンド実行」対応のススメ
一歩上の安定を目指した「バックグラウンド実行」対応のススメ
 
ピクト図解® 入門 ビジネスの仕組みがスッキリわかる!
ピクト図解® 入門 ビジネスの仕組みがスッキリわかる! ピクト図解® 入門 ビジネスの仕組みがスッキリわかる!
ピクト図解® 入門 ビジネスの仕組みがスッキリわかる!
 
情報アーキテクチャ入門
情報アーキテクチャ入門情報アーキテクチャ入門
情報アーキテクチャ入門
 
Build and Modernize Intelligent Apps​
Build and Modernize Intelligent Apps​Build and Modernize Intelligent Apps​
Build and Modernize Intelligent Apps​
 
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
 
συχνά φιλοσοφικά ερωτήματα
συχνά φιλοσοφικά ερωτήματασυχνά φιλοσοφικά ερωτήματα
συχνά φιλοσοφικά ερωτήματα
 
wakamonog6 インターネットの裏側の仕組み
wakamonog6 インターネットの裏側の仕組みwakamonog6 インターネットの裏側の仕組み
wakamonog6 インターネットの裏側の仕組み
 
お手持ちのデータを最高速度で安全に転送してみよう
お手持ちのデータを最高速度で安全に転送してみようお手持ちのデータを最高速度で安全に転送してみよう
お手持ちのデータを最高速度で安全に転送してみよう
 

Semelhante a FOSDEM 2020: How can we make WebRTC Easier?

WebRTC standards update (April 2014)
WebRTC standards update (April 2014)WebRTC standards update (April 2014)
WebRTC standards update (April 2014)
Victor Pascual Ávila
 

Semelhante a FOSDEM 2020: How can we make WebRTC Easier? (20)

WebRTC, Whats in it for me?
WebRTC, Whats in it for me?WebRTC, Whats in it for me?
WebRTC, Whats in it for me?
 
WebRTC standards update - November 2014
WebRTC standards update - November 2014WebRTC standards update - November 2014
WebRTC standards update - November 2014
 
Upperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUpperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards Update
 
WebRTC standards update (April 2014)
WebRTC standards update (April 2014)WebRTC standards update (April 2014)
WebRTC standards update (April 2014)
 
Building a WebRTC Communication and collaboration platform - techleash barcamp
Building a WebRTC Communication and collaboration platform  -  techleash barcampBuilding a WebRTC Communication and collaboration platform  -  techleash barcamp
Building a WebRTC Communication and collaboration platform - techleash barcamp
 
Workshop oracle
Workshop oracleWorkshop oracle
Workshop oracle
 
WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)
 
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
 
WebRTC. Yet Another Overview, for IT Technicians.
WebRTC. Yet Another Overview, for IT Technicians.WebRTC. Yet Another Overview, for IT Technicians.
WebRTC. Yet Another Overview, for IT Technicians.
 
Webrtc - rich communication - quobis - victor pascual
Webrtc  - rich communication - quobis - victor pascualWebrtc  - rich communication - quobis - victor pascual
Webrtc - rich communication - quobis - victor pascual
 
WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)
 
WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)WebRTC Workshop - What is (and isn't WebRTC)
WebRTC Workshop - What is (and isn't WebRTC)
 
WebRTC eduCONF
WebRTC eduCONFWebRTC eduCONF
WebRTC eduCONF
 
WebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonWebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
 
ORTC Library - Introduction
ORTC Library - IntroductionORTC Library - Introduction
ORTC Library - Introduction
 
ITSPA May 2013 - WebRTC, TURN, and WebSocket
ITSPA May 2013 - WebRTC, TURN, and WebSocketITSPA May 2013 - WebRTC, TURN, and WebSocket
ITSPA May 2013 - WebRTC, TURN, and WebSocket
 
WebRTC standards update (April 2015)
WebRTC standards update (April 2015)WebRTC standards update (April 2015)
WebRTC standards update (April 2015)
 
DevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTCDevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTC
 
Demuxed 2020
Demuxed 2020Demuxed 2020
Demuxed 2020
 
Upperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introUpperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC intro
 

Último

Último (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

FOSDEM 2020: How can we make WebRTC Easier?

  • 1. Can we make WebRTC easier?
  • 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. 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. 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
  • 7. 4 What is WebRTC? Most docs are for Javascript (W3C) API Users can’t even find a definition of WebRTC - Is it the IETF (RTCWEB) protocol? - Is it the W3C (webrtc-pc) API? - Is it Google’s C++ implementation? Compare the following - Wikipedia - webrtc.org - MDN Web Docs
  • 8. 5 Dev don’t anticipate production problems Frustrated devs who thought they were done…. Network Topologies - Are you running a TURN Server? Codec Support - Not all clients support H264 One customer reports bad video - Congestion Control and Error Correction!?
  • 9. 6 Where do I ask for help? Vendor Specific communities are doing well - GStreamer - Mediasoup - Janus - Jitsi - Pion Vendor Agnostic communities not so much… - discuss-webrtc - stackoverflow - video-dev - IRC Twitter is great, but takes work to get into
  • 10. 7 Devs want WebRTC in their language C/C++ isn’t for everyone - Gives more freedom, at a cost (Memory/Security) - Doesn’t fit into existing code base/build system - Challenging to build Some just want to read code Have to target other platforms - Embedded (can’t use OpenSSL) - Lots of these corner cases….
  • 11. 8 Non-standard use cases need a home Where would you go to talk about? - Teleoperation - IoT/Security Cameras - Filesharing - Proxys - Zeroconf/NAT Traversal for DataChannels
  • 12. 9 Other Protocols and NIH Devs don’t understand what WebRTC can do - Proprietary ICE clone , made lots of mistakes - RTP without NACK/FEC/Congestion Control Other protocols exploiting lack of information - WebRTC isn’t browser only - WebRTC isn’t locked to bitrate/resolution - WebRTC can be adjusted for latency/loss
  • 14. 10 Embrace WebRTC implementations - aiortc (Python) - GStreamer's webrtcbin - werift (Typescript) - Pion (Golang) - Shiguredo (Erlang) - |pipe| (Java) - rawrtc (C++) - webrtc-rs (Rust) - AWS WebRTC (C/Embedded) - ?
  • 15. 11 Interop Testing Tools Tooling to connect two WebRTC Agents - Assert protocol features/compliance - Also a WebRTC feature showcase - Make it easier for new implementations
  • 16. 12 Teaching Resources WebRTC for the Curious - Vendor Agnostic - Would love your help/feedback Pion Interceptors - RTP/RTCP Pipeline outside PeerConnection - Congestion Control, FEC and NACK etc… Better video debugging in browser? - Education issue maybe - Protocol bridging is painful debugging video
  • 17. 13 Supportive Communities Non-Commercial Meetup - Deep Dive on one WebRTC topic - Roadmap of WebRTC library - Demo of one project in the space Vendor Agnostic Community - How do we encourage people to give back? Individual Ownership - A robust WebRTC community has many owners - We don’t want WebRTC to have a CentOS moment