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

PDF
David lang my underwater robot worksheet
Meagan Kaiser
 
PDF
Embedded Software for the IoT 3rd Edition Klaus Elk
isnestsekou
 
PDF
Embedded Software For The Iot 3rd Edition Klaus Elk
furryberkely
 
PDF
WebRTCProgrammersCombatingLatency.key.pdf
Nakhoudah
 
PDF
A Software Problem (and a maybe-solution)
YangJerng Hwa
 
PPTX
The Art of IOS and Distributed System IO
DahlanzGhani
 
PDF
JAX2013 Keynote - When open-source enables the Internet of Things
Benjamin Cabé
 
PDF
Distributed Systems Principles And Paradigms 4th Edition 401 Maarten Van Steen
zifanidhmad
 
David lang my underwater robot worksheet
Meagan Kaiser
 
Embedded Software for the IoT 3rd Edition Klaus Elk
isnestsekou
 
Embedded Software For The Iot 3rd Edition Klaus Elk
furryberkely
 
WebRTCProgrammersCombatingLatency.key.pdf
Nakhoudah
 
A Software Problem (and a maybe-solution)
YangJerng Hwa
 
The Art of IOS and Distributed System IO
DahlanzGhani
 
JAX2013 Keynote - When open-source enables the Internet of Things
Benjamin Cabé
 
Distributed Systems Principles And Paradigms 4th Edition 401 Maarten Van Steen
zifanidhmad
 

Similar to IIT 2020 - Sean DuBois Pion (20)

PDF
Hpc lunch and learn
John D Almon
 
PPTX
chapter 5.pptx
Wantey
 
PDF
DC1 .pdf
mah902110
 
PDF
Rest From Research To Practice Wilde Erikeditorpautasso Cesare
pluimeminewj
 
PDF
Understanding Distributed Systems 2nd Edition 2nd Edition Roberto Vitillo
hunelibuzhan
 
PPT
The Economies of Scaling Software
Abdelmonaim Remani
 
PDF
Quotables Quotes
mat f.
 
PDF
Web_of_Things_2013
Max Kleiner
 
PPTX
Thoughts on interoperability
Ian Foster
 
PPTX
dadaaasfsfsfscvxvvsvxvxvvxvvvxvxvvxvvvvv
DahlanzGhani
 
PPTX
sadadadadcscxzxvxvxxvzvvxvvxvvxvvxvvvvvv
DahlanzGhani
 
PDF
Distributed Systems in Data Engineering
Oluwasegun Matthew
 
PDF
Tackling complexity in giant systems: approaches from several cloud providers
Patrick Chanezon
 
PPT
The economies of scaling software - Abdel Remani
jaxconf
 
PPTX
How to Architect your WebRTC application, Alberto Gonzalez and Arin Sime, Web...
Alan Quayle
 
PDF
HIS 2015: Prof. Mark Little - Open Source Challenges in the Enterprise
AdaCore
 
PPT
3. Distributed System Models ssssssssssssssssss.ppt
MrVMNair
 
PPTX
S: a Scripting Language for High-Performance RESTful Web Services
Achille Peternier
 
DOCX
Enterprise Data Center Networking (with citations)
Jonathan Williams
 
Hpc lunch and learn
John D Almon
 
chapter 5.pptx
Wantey
 
DC1 .pdf
mah902110
 
Rest From Research To Practice Wilde Erikeditorpautasso Cesare
pluimeminewj
 
Understanding Distributed Systems 2nd Edition 2nd Edition Roberto Vitillo
hunelibuzhan
 
The Economies of Scaling Software
Abdelmonaim Remani
 
Quotables Quotes
mat f.
 
Web_of_Things_2013
Max Kleiner
 
Thoughts on interoperability
Ian Foster
 
dadaaasfsfsfscvxvvsvxvxvvxvvvxvxvvxvvvvv
DahlanzGhani
 
sadadadadcscxzxvxvxxvzvvxvvxvvxvvxvvvvvv
DahlanzGhani
 
Distributed Systems in Data Engineering
Oluwasegun Matthew
 
Tackling complexity in giant systems: approaches from several cloud providers
Patrick Chanezon
 
The economies of scaling software - Abdel Remani
jaxconf
 
How to Architect your WebRTC application, Alberto Gonzalez and Arin Sime, Web...
Alan Quayle
 
HIS 2015: Prof. Mark Little - Open Source Challenges in the Enterprise
AdaCore
 
3. Distributed System Models ssssssssssssssssss.ppt
MrVMNair
 
S: a Scripting Language for High-Performance RESTful Web Services
Achille Peternier
 
Enterprise Data Center Networking (with citations)
Jonathan Williams
 
Ad

More from SeanDuBois3 (6)

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

Recently uploaded (20)

PDF
DevOps & Developer Experience Summer BBQ
AUGNYC
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Google’s NotebookLM Unveils Video Overviews
SOFTTECHHUB
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Chapter 2 Digital Image Fundamentals.pdf
Getnet Tigabie Askale -(GM)
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
Enable Enterprise-Ready Security on IBM i Systems.pdf
Precisely
 
PDF
GYTPOL If You Give a Hacker a Host
linda296484
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Doc9.....................................
SofiaCollazos
 
PPTX
Smart Infrastructure and Automation through IoT Sensors
Rejig Digital
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
DevOps & Developer Experience Summer BBQ
AUGNYC
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Google’s NotebookLM Unveils Video Overviews
SOFTTECHHUB
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Chapter 2 Digital Image Fundamentals.pdf
Getnet Tigabie Askale -(GM)
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Enable Enterprise-Ready Security on IBM i Systems.pdf
Precisely
 
GYTPOL If You Give a Hacker a Host
linda296484
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Doc9.....................................
SofiaCollazos
 
Smart Infrastructure and Automation through IoT Sensors
Rejig Digital
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 

IIT 2020 - Sean DuBois Pion