SlideShare a Scribd company logo
P I O N
Thank You
Aaron France
Adam Kiss
Aleksandr Razumov
Alex Browne
Alex Harford
AlexWoo(武杰)
Antoine Baché
Ato Araki
Atsushi Watanabe
Brendan Rius
Cecylia Bocovich
Chao Yuan
Chris Hiszpanski
Christopher Fry
CloudWebRTC
Daniele Sluijters
Denis
Gareth Hayes
Guilherme
Hongchao Ma
Hugo Arregui
Igor German
Ingmar Wittkau
Jadon Bennett
Jake B
Jason Maldonis
John Bradley
Justin Okamoto
Konstantin Itskov
Lander Noterman
Lukas Herman
Lukas Rezek
Luke Curley
Marouane
Max Hawkins
Michael MacDonald
Michiel De Backker
Mike Coleman
Mészáros Mihály
Oleg Kovalov
Rafael Viscarra
Raphael Derosso Pereira
Raphael Randschau
Robert Eperjesi
RunningMan
Ryan Gordon
Sean DuBois
Sebastian Waisbrot
Slugalisk
Stefan Tatschner
Steve
Suhas Gaddam
Tobias Fridén
Vicken Simonian
Will Watson
Woodrow Douglass
Yutaka Takeda
Zizheng Tai
adwpc
chenkaiC4
earle
feixiao
frank
igolaizola
imalic3
jinleileiking
jose nazario
mchlrhw
mxmCherry
notedit
rob-deutsch
ronan
simonacca-fotokite
songjiayang
spaceCh1mp
sylba2050
wattanakorn495
xsbchen
zigazeljko
Clayton McCray
Hendrik Hofstadt
Luke S
Bao Nguyen
Konstantin Chugalinskiy
Nick Mykins
Jerko Steiner
Roman Romaneko
Ivan Egorov
John Berthels
Juliusz Chroboczek
Josh Bleecher Snyder
Salmān Aljammāz
cnderrauber
Simon Eisenmann
Simone Gotti
Cedric Fung
Chad Retz
Magnus Wahlstrand
a-wing
Egon Elbre
Yuki Igarashi
Tarrence van As
Masahiro Nakamura
nindolabs
Quentin Renard
akil
Jorropo
Lawl
Jeffrey Stoke
Jeroen de Bruijn
folbrich
bjdgyc
Julien Salleyron
Jozef Kralik
Hayden James
Sam Lancia
Ori Berstein
David Hamilton
Nevio Vesic
Jason Brady
Leeward Bound
Kgothatso Ngako
1
What is this talk
Beyond standard use cases
- Cloud Gaming
- Teleoperation
- Censorship Circumvention
- Protocol Bridging
We need more…
- Community
- Education
- Software with no assumptions
MY PERSPECTIVE
2
Motivations
Developers are smart, they need to be empowered
* knobs for learning and tuning
Developers find happiness from owning their projects
* I want to promote others, not under Pion umbrella
The more users the better. Even if they aren’t open source
Developers want to be involved in Open Source.
* Companies/maintainers don’t want to share
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
4
Pion
Collection of Go RTC libraries
- Building blocks to build your vision
- Designed to be flexible
PeerConnection API in Pure Go
- CreateOffer/AddTrack/….
- User controls media pipeline
- SettingEngine
- Interceptors
5
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)
WHY SHOULD I USE PION
6
For all skill levels
PeerConnection API you already know
Language that gets out of your way
- Memory Safe
- Easy to code and deploy
“typically, fairly young, fresh out of
school ….. the language that we give them
has to be easy for them to understand
and easy to adopt.” - Rob Pike
7
For all skill levels
Get the support you need
- WebRTC for the Curious
- Pion Slack
DevOps friendly
- Go is easy to hire for
Knobs when you become the expert
- SettingEngine/Interceptors
- You can replace any module (ICE)
8
Portable/Flexible
Servers
- Windows/Linux/FreeBSD
- x86/x64/ARM
- Static Binary (Don’t need Go on server)
Mobile
- Android/iOS
- Generate shared object + header file
Small(ish) Platforms
- 3Mb
- TinyGo someday? Arduino, Gameboy Advance!?
Web (WASM)
9
Features
STUN/TURN
DataChannels
Simulcast
Congestion Control (v3 Interceptor)
FEC/NACK (v3 Interceptor)
getStats API
10
Performance
11
Pion Specific APIs
SettingEngine
- ICE-Lite
- Answering DTLS Role
- Set UDP Port Range
- Interface Filtering
- Static Public IP
- Enable/Disable mDNS Candidates
- ICE Candidate Selection Rules
12
Pion Specific APIs
Interceptors
- Process Inbound/Outbound RTP
FEC
Congestion Control
- Choose between REMB/TWCC
- Tweak REMB Algorithm
JitterBuffer
- You choose the latency/loss tradeoffs
WHAT CAN I BUILD
13
SFU
Simple as AddTrack/OnTrack
- Copy buffers between PeerConnections
PeerConnection for each Client
- Unified Plan and Re-Negotiation
You decide your Congestion Control
- Are you working with embedded?
- Do clients support Simulcast?
14
MCU
Calling C from Go is painless
People use ffmpeg, GStreamer or libvpx
directly
15
Cloud Gaming
16
WebRTC Load Tester
17
Teleoperation
DataChannels more powerful the you expect
- Don’t finish a damaged datagram
- Backpressure info is valuable
Corporate networks are no fun…
- TCP (or TLS) Only
- Proxy required
- UDP Port Ranges Whitelisted
18
Protocol Bridge
PION IN ACTION
ns-remote
https://github.com/mzyy94/ns-remote
19
CloudRetro.io
20
21
Neko
github.com/nurdism/neko
22
TelloGo
https://github.com/Ragnar-H/TelloGo
23
ascii
https://github.com/dialup-inc/ascii
Strive CDN
24
25
Protocol Bridge
26
ssh-p2p
github.com/nobonobo/ssh-p2p
27
RTCTunnel
github.com/rtctunnel
28
Snowflake
snowflake.torproject.org
webwormhole.io
29
30
Ion
github.com/pion/ion
31
Pion needs you
Empower those helping the internet!
Gain deep WebRTC knowledge
A fun challenge where you pick the goals
32
github.com/pion
pion.ly/slack
twitter.com/_pion

More Related Content

Similar to IIT 2020 - Sean DuBois Pion

Pycon2012
Pycon2012Pycon2012
Pycon2012
John Moylan
 
Odf2 Daisy
Odf2 DaisyOdf2 Daisy
Odf2 Daisy
Alexandro Colorado
 
Plone - A History of Python Web
Plone - A History of Python WebPlone - A History of Python Web
Plone - A History of Python Web
Alexander Loechel
 
Pharo
PharoPharo
Pharo
ESUG
 
Pharo ESUG
Pharo ESUGPharo ESUG
Pharo ESUG
Marcus Denker
 
Jorge Lang | Intel - Conferencia Smart Cities Smash Tech Barcelona 2013
Jorge Lang | Intel - Conferencia Smart Cities Smash Tech Barcelona 2013Jorge Lang | Intel - Conferencia Smart Cities Smash Tech Barcelona 2013
Jorge Lang | Intel - Conferencia Smart Cities Smash Tech Barcelona 2013
Smash Tech
 
Introduction to video reverse engineering
Introduction to video reverse engineeringIntroduction to video reverse engineering
Introduction to video reverse engineering
Vittorio Giovara
 
OpenInfra Summit - 2018 Vancouver - Heat project update
OpenInfra Summit - 2018 Vancouver - Heat project updateOpenInfra Summit - 2018 Vancouver - Heat project update
OpenInfra Summit - 2018 Vancouver - Heat project update
Rico Lin
 
2016 mORMot
2016 mORMot2016 mORMot
2016 mORMot
Arnaud Bouchez
 
Rockbox at FSCONS 2009
Rockbox at FSCONS 2009Rockbox at FSCONS 2009
Rockbox at FSCONS 2009
FSCONS
 
FOSDEM 2014 Overview
FOSDEM 2014 OverviewFOSDEM 2014 Overview
FOSDEM 2014 Overview
Maksim Melnikau
 
Максим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overviewМаксим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overview
Minsk Linux User Group
 
Skydive, real-time network analyzer
Skydive, real-time network analyzer Skydive, real-time network analyzer
Skydive, real-time network analyzer
Sylvain Afchain
 
[Osxdev]3.swift playgrounds
[Osxdev]3.swift playgrounds[Osxdev]3.swift playgrounds
[Osxdev]3.swift playgrounds
NAVER D2
 
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas
44CON
 
0 mq the guide
0 mq   the guide0 mq   the guide
0 mq the guide
hik_lhz
 
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with MinkoParis Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Minko3D
 
Hacking Robotics(English Version)
Hacking Robotics(English Version)Hacking Robotics(English Version)
Hacking Robotics(English Version)
Kensei Demura
 
Operating System fo IoT
Operating System fo IoTOperating System fo IoT
Operating System fo IoT
Pradeep Kumar TS
 
Developer < eat love code >
Developer   < eat love code >Developer   < eat love code >
Developer < eat love code >
Rizky Ariestiyansyah
 

Similar to IIT 2020 - Sean DuBois Pion (20)

Pycon2012
Pycon2012Pycon2012
Pycon2012
 
Odf2 Daisy
Odf2 DaisyOdf2 Daisy
Odf2 Daisy
 
Plone - A History of Python Web
Plone - A History of Python WebPlone - A History of Python Web
Plone - A History of Python Web
 
Pharo
PharoPharo
Pharo
 
Pharo ESUG
Pharo ESUGPharo ESUG
Pharo ESUG
 
Jorge Lang | Intel - Conferencia Smart Cities Smash Tech Barcelona 2013
Jorge Lang | Intel - Conferencia Smart Cities Smash Tech Barcelona 2013Jorge Lang | Intel - Conferencia Smart Cities Smash Tech Barcelona 2013
Jorge Lang | Intel - Conferencia Smart Cities Smash Tech Barcelona 2013
 
Introduction to video reverse engineering
Introduction to video reverse engineeringIntroduction to video reverse engineering
Introduction to video reverse engineering
 
OpenInfra Summit - 2018 Vancouver - Heat project update
OpenInfra Summit - 2018 Vancouver - Heat project updateOpenInfra Summit - 2018 Vancouver - Heat project update
OpenInfra Summit - 2018 Vancouver - Heat project update
 
2016 mORMot
2016 mORMot2016 mORMot
2016 mORMot
 
Rockbox at FSCONS 2009
Rockbox at FSCONS 2009Rockbox at FSCONS 2009
Rockbox at FSCONS 2009
 
FOSDEM 2014 Overview
FOSDEM 2014 OverviewFOSDEM 2014 Overview
FOSDEM 2014 Overview
 
Максим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overviewМаксим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overview
 
Skydive, real-time network analyzer
Skydive, real-time network analyzer Skydive, real-time network analyzer
Skydive, real-time network analyzer
 
[Osxdev]3.swift playgrounds
[Osxdev]3.swift playgrounds[Osxdev]3.swift playgrounds
[Osxdev]3.swift playgrounds
 
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas
 
0 mq the guide
0 mq   the guide0 mq   the guide
0 mq the guide
 
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with MinkoParis Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
 
Hacking Robotics(English Version)
Hacking Robotics(English Version)Hacking Robotics(English Version)
Hacking Robotics(English Version)
 
Operating System fo IoT
Operating System fo IoTOperating System fo IoT
Operating System fo IoT
 
Developer < eat love code >
Developer   < eat love code >Developer   < eat love code >
Developer < eat love code >
 

More from SeanDuBois3

WHIP WHEP... What?
WHIP WHEP... What?WHIP WHEP... What?
WHIP WHEP... What?
SeanDuBois3
 
WebRTC: Mostly Video Bits
WebRTC: Mostly Video BitsWebRTC: Mostly Video Bits
WebRTC: Mostly Video Bits
SeanDuBois3
 
WebRTC, Whats in it for me?
WebRTC, Whats in it for me?WebRTC, Whats in it for me?
WebRTC, Whats in it for me?
SeanDuBois3
 
FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?
SeanDuBois3
 
FOSDEM 2020: Drones, Virtual Reality and Multiplayer NES Games. The fun you c...
FOSDEM 2020: Drones, Virtual Reality and Multiplayer NES Games. The fun you c...FOSDEM 2020: Drones, Virtual Reality and Multiplayer NES Games. The fun you c...
FOSDEM 2020: Drones, Virtual Reality and Multiplayer NES Games. The fun you c...
SeanDuBois3
 
Demuxed 2020
Demuxed 2020Demuxed 2020
Demuxed 2020
SeanDuBois3
 

More from SeanDuBois3 (6)

WHIP WHEP... What?
WHIP WHEP... What?WHIP WHEP... What?
WHIP WHEP... What?
 
WebRTC: Mostly Video Bits
WebRTC: Mostly Video BitsWebRTC: Mostly Video Bits
WebRTC: Mostly Video Bits
 
WebRTC, Whats in it for me?
WebRTC, Whats in it for me?WebRTC, Whats in it for me?
WebRTC, Whats in it for me?
 
FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?
 
FOSDEM 2020: Drones, Virtual Reality and Multiplayer NES Games. The fun you c...
FOSDEM 2020: Drones, Virtual Reality and Multiplayer NES Games. The fun you c...FOSDEM 2020: Drones, Virtual Reality and Multiplayer NES Games. The fun you c...
FOSDEM 2020: Drones, Virtual Reality and Multiplayer NES Games. The fun you c...
 
Demuxed 2020
Demuxed 2020Demuxed 2020
Demuxed 2020
 

Recently uploaded

Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 

Recently uploaded (20)

Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 

IIT 2020 - Sean DuBois Pion

  • 1. P I O N
  • 2. Thank You Aaron France Adam Kiss Aleksandr Razumov Alex Browne Alex Harford AlexWoo(武杰) Antoine Baché Ato Araki Atsushi Watanabe Brendan Rius Cecylia Bocovich Chao Yuan Chris Hiszpanski Christopher Fry CloudWebRTC Daniele Sluijters Denis Gareth Hayes Guilherme Hongchao Ma Hugo Arregui Igor German Ingmar Wittkau Jadon Bennett Jake B Jason Maldonis John Bradley Justin Okamoto Konstantin Itskov Lander Noterman Lukas Herman Lukas Rezek Luke Curley Marouane Max Hawkins Michael MacDonald Michiel De Backker Mike Coleman Mészáros Mihály Oleg Kovalov Rafael Viscarra Raphael Derosso Pereira Raphael Randschau Robert Eperjesi RunningMan Ryan Gordon Sean DuBois Sebastian Waisbrot Slugalisk Stefan Tatschner Steve Suhas Gaddam Tobias Fridén Vicken Simonian Will Watson Woodrow Douglass Yutaka Takeda Zizheng Tai adwpc chenkaiC4 earle feixiao frank igolaizola imalic3 jinleileiking jose nazario mchlrhw mxmCherry notedit rob-deutsch ronan simonacca-fotokite songjiayang spaceCh1mp sylba2050 wattanakorn495 xsbchen zigazeljko Clayton McCray Hendrik Hofstadt Luke S Bao Nguyen Konstantin Chugalinskiy Nick Mykins Jerko Steiner Roman Romaneko Ivan Egorov John Berthels Juliusz Chroboczek Josh Bleecher Snyder Salmān Aljammāz cnderrauber Simon Eisenmann Simone Gotti Cedric Fung Chad Retz Magnus Wahlstrand a-wing Egon Elbre Yuki Igarashi Tarrence van As Masahiro Nakamura nindolabs Quentin Renard akil Jorropo Lawl Jeffrey Stoke Jeroen de Bruijn folbrich bjdgyc Julien Salleyron Jozef Kralik Hayden James Sam Lancia Ori Berstein David Hamilton Nevio Vesic Jason Brady Leeward Bound Kgothatso Ngako
  • 3. 1 What is this talk Beyond standard use cases - Cloud Gaming - Teleoperation - Censorship Circumvention - Protocol Bridging We need more… - Community - Education - Software with no assumptions
  • 5. 2 Motivations Developers are smart, they need to be empowered * knobs for learning and tuning Developers find happiness from owning their projects * I want to promote others, not under Pion umbrella The more users the better. Even if they aren’t open source Developers want to be involved in Open Source. * Companies/maintainers don’t want to share
  • 6. 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 Pion Collection of Go RTC libraries - Building blocks to build your vision - Designed to be flexible PeerConnection API in Pure Go - CreateOffer/AddTrack/…. - User controls media pipeline - SettingEngine - Interceptors
  • 8. 5 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)
  • 9. WHY SHOULD I USE PION
  • 10. 6 For all skill levels PeerConnection API you already know Language that gets out of your way - Memory Safe - Easy to code and deploy “typically, fairly young, fresh out of school ….. the language that we give them has to be easy for them to understand and easy to adopt.” - Rob Pike
  • 11. 7 For all skill levels Get the support you need - WebRTC for the Curious - Pion Slack DevOps friendly - Go is easy to hire for Knobs when you become the expert - SettingEngine/Interceptors - You can replace any module (ICE)
  • 12. 8 Portable/Flexible Servers - Windows/Linux/FreeBSD - x86/x64/ARM - Static Binary (Don’t need Go on server) Mobile - Android/iOS - Generate shared object + header file Small(ish) Platforms - 3Mb - TinyGo someday? Arduino, Gameboy Advance!? Web (WASM)
  • 13. 9 Features STUN/TURN DataChannels Simulcast Congestion Control (v3 Interceptor) FEC/NACK (v3 Interceptor) getStats API
  • 15. 11 Pion Specific APIs SettingEngine - ICE-Lite - Answering DTLS Role - Set UDP Port Range - Interface Filtering - Static Public IP - Enable/Disable mDNS Candidates - ICE Candidate Selection Rules
  • 16. 12 Pion Specific APIs Interceptors - Process Inbound/Outbound RTP FEC Congestion Control - Choose between REMB/TWCC - Tweak REMB Algorithm JitterBuffer - You choose the latency/loss tradeoffs
  • 17. WHAT CAN I BUILD
  • 18. 13 SFU Simple as AddTrack/OnTrack - Copy buffers between PeerConnections PeerConnection for each Client - Unified Plan and Re-Negotiation You decide your Congestion Control - Are you working with embedded? - Do clients support Simulcast?
  • 19. 14 MCU Calling C from Go is painless People use ffmpeg, GStreamer or libvpx directly
  • 22. 17 Teleoperation DataChannels more powerful the you expect - Don’t finish a damaged datagram - Backpressure info is valuable Corporate networks are no fun… - TCP (or TLS) Only - Proxy required - UDP Port Ranges Whitelisted
  • 37. 31 Pion needs you Empower those helping the internet! Gain deep WebRTC knowledge A fun challenge where you pick the goals