P I O N Thank You Aaron France Konstantin Itskov Yutaka Takeda - - PowerPoint PPT Presentation

p i o n thank you
SMART_READER_LITE
LIVE PREVIEW

P I O N Thank You Aaron France Konstantin Itskov Yutaka Takeda - - PowerPoint PPT Presentation

P I O N Thank You Aaron France Konstantin Itskov Yutaka Takeda Adam Kiss Lander Noterman Zizheng Tai Aleksandr Razumov Lukas Herman adwpc Alex Browne Lukas Rezek chenkaiC4 Alex Harford Luke Curley earle AlexWoo( ) Marouane


slide-1
SLIDE 1

P I O N

slide-2
SLIDE 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

slide-3
SLIDE 3

WHAT IS WEBRTC?

slide-4
SLIDE 4

1

Browser APIs

E2E Secure Connection between Peers Multiple Audio/Video Tracks Binary Data

  • Can be lossy
  • Can be unordered
  • Multiple distinct DataChannels
slide-5
SLIDE 5

2

What we need to solve

Connectivity

  • Multiple Possible Routes
  • Not in the same network!
  • UDP?

Security

  • E2E Secure

Latency

  • 400 milliseconds max
  • Unreliable Transport (UDP)

Ease of Use

slide-6
SLIDE 6

WHAT DOES IT SOLVE

slide-7
SLIDE 7

Problem: Connect two users with no Public IP

3

slide-8
SLIDE 8

Solution: NAT Traversal

4

slide-9
SLIDE 9

Solution: NAT Traversal

5

slide-10
SLIDE 10

Problem: One is IPv4, One is IPv6

6

slide-11
SLIDE 11

Solution: TURN

7

slide-12
SLIDE 12

Problem: Wi-Fi on Fire

8

slide-13
SLIDE 13

Solution: ICE Renomination

9

slide-14
SLIDE 14

Problem: What bitrate do I upload?

10

slide-15
SLIDE 15

Problem: What bitrate do I upload?

11

slide-16
SLIDE 16

Solution: Congestion Control

12

slide-17
SLIDE 17

Problem: connect without knowing IP?

13

slide-18
SLIDE 18

Solution: Multicast DNS

14

slide-19
SLIDE 19

TIME TO BUILD

slide-20
SLIDE 20

15

Connecting (Signaling Offer/Answer)

slide-21
SLIDE 21

16

Sending Data (DataChannels)

slide-22
SLIDE 22

17

Receiving Data (DataChannels)

slide-23
SLIDE 23

18

Deploy to the browser!

slide-24
SLIDE 24

19

Send Video

slide-25
SLIDE 25

20

Receive Video

slide-26
SLIDE 26

PION IN ACTION

slide-27
SLIDE 27

21

ssh-p2p

github.com/nobonobo/ssh-p2p

slide-28
SLIDE 28

CloudRetro.io

22

slide-29
SLIDE 29

23

RTCTunnel

github.com/rtctunnel

slide-30
SLIDE 30

24

Ion

github.com/pion/ion

slide-31
SLIDE 31

25

Neko

github.com/nurdism/neko

slide-32
SLIDE 32

26

Snowflake

snowflake.torproject.org

slide-33
SLIDE 33

Strive CDN

27

slide-34
SLIDE 34

28

Harmony

gitlab.com/tslocum/harmony

slide-35
SLIDE 35

29

TelloGo

https:/ /github.com/Ragnar-H/TelloGo

slide-36
SLIDE 36

30

IoT Camera

slide-37
SLIDE 37

31

ascii

https:/ /github.com/dialup-inc/ascii

slide-38
SLIDE 38

32

Pion needs you

Empower those helping the internet! Gain deep WebRTC knowledge A fun challenge where you pick the goals

slide-39
SLIDE 39

33 github.com/pion pion.ly/slack twitter.com/_pion