Когда же мы сможемнормально«звонить браузером» ?Патрушев Антон
Начнём с концаСейчас !!!Если у Вас Chrome или Firefox:yacr.pycon.ru:8000Yet Another Chat Roulette(без звука)
Начнём с концаЧуть подробнее про yacr — в концепрезентации
История VoIP● 1973 — Network Voice Protocol (DARPA)● 1995 — VocalTec● 1996 — попытки забанить в конгрессе● 1996 — H323● 19...
Протоколы● H.323 (ITU-T)– Ужасная бинарная хрень (ASN.1/PER)– Звук по RTP● SIP (IETF) — Session Initiation Protocol– HTTP-...
Чего же нехватало ?● Доступ к микрофону и камере● Latency => UDP● UDP => NAT
NAT: рождение легенды● Май 1994● Подмена IP адресов на маршрутизаторе● Решение проблемы нехватки IP● … создавшее много раб...
NAT: FTP active ?● Протоколы уровня приложения имеютобыкновение передавать внутри себя IPадреса (например, FTP active)● А ...
NAT: UDP● TCP vs UDP в 1994● Classic STUN (2002)● ICE (2004)● STUN (2005)● TURN (2006)● ICE (2010)
Что в браузере тебе моём ?● Adobe Flash– RTMP(E|T|S)?– RTMFP● Плагины для браузера (NPAPI)– Google Hangout– «Переупакованн...
WebRTC это...● MediaStream API — микрофон и камера● SDP offer/answer — для старта сессии● ICE framework — для «борьбы» с N...
Кодеки WebRTC● Аудио– SVOPC=>SILK=>Opus (Skype)– G.711– DTMF● Видео– VP8 (Google)● VP3 => Theora● VP6/VP7 => Macromedia Fl...
YACR● 59 строк на Python (tornado)● 149 строк на JS● WebSockets● WebRTC● https://github.com/apatrushev/yacr
WebRTC работает● Chrome stable● Firefox stable (с опцией)● BOWSER на iOS/Android
Код
Материалы по теме● http://yacr.pycon.ru:8000● https://github.com/apatrushev/yacr● http://www.webrtc.org/● http://www.w3.or...
Спасибо за внимание.Вопросы ?apatrushev@gmail.com
Upcoming SlideShare
Loading in...5
×

DUMP-2013 Serverside - Когда же мы сможем нормально "звонить браузером"? - Патрушев Антон

913

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
913
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DUMP-2013 Serverside - Когда же мы сможем нормально "звонить браузером"? - Патрушев Антон

  1. 1. Когда же мы сможемнормально«звонить браузером» ?Патрушев Антон
  2. 2. Начнём с концаСейчас !!!Если у Вас Chrome или Firefox:yacr.pycon.ru:8000Yet Another Chat Roulette(без звука)
  3. 3. Начнём с концаЧуть подробнее про yacr — в концепрезентации
  4. 4. История VoIP● 1973 — Network Voice Protocol (DARPA)● 1995 — VocalTec● 1996 — попытки забанить в конгрессе● 1996 — H323● 1999 — SIP● 2003 — Skype● 2012 — 35% is Skype● 02/2013 — звонок между Firefox и Chrome
  5. 5. Протоколы● H.323 (ITU-T)– Ужасная бинарная хрень (ASN.1/PER)– Звук по RTP● SIP (IETF) — Session Initiation Protocol– HTTP-like– SDP (Session Description Protocol)– Звук по RTP● Jingle XMPP (Google)– Звук по RTP
  6. 6. Чего же нехватало ?● Доступ к микрофону и камере● Latency => UDP● UDP => NAT
  7. 7. NAT: рождение легенды● Май 1994● Подмена IP адресов на маршрутизаторе● Решение проблемы нехватки IP● … создавшее много рабочих мест :)
  8. 8. NAT: FTP active ?● Протоколы уровня приложения имеютобыкновение передавать внутри себя IPадреса (например, FTP active)● А давайте маршрутизатор станет ApplicationLayer Gateway ?
  9. 9. NAT: UDP● TCP vs UDP в 1994● Classic STUN (2002)● ICE (2004)● STUN (2005)● TURN (2006)● ICE (2010)
  10. 10. Что в браузере тебе моём ?● Adobe Flash– RTMP(E|T|S)?– RTMFP● Плагины для браузера (NPAPI)– Google Hangout– «Переупакованные» софтфоны
  11. 11. WebRTC это...● MediaStream API — микрофон и камера● SDP offer/answer — для старта сессии● ICE framework — для «борьбы» с NAT● SRTP — (secure) для безопасности● <video> - для отображения видео :)
  12. 12. Кодеки WebRTC● Аудио– SVOPC=>SILK=>Opus (Skype)– G.711– DTMF● Видео– VP8 (Google)● VP3 => Theora● VP6/VP7 => Macromedia Flash– H.264
  13. 13. YACR● 59 строк на Python (tornado)● 149 строк на JS● WebSockets● WebRTC● https://github.com/apatrushev/yacr
  14. 14. WebRTC работает● Chrome stable● Firefox stable (с опцией)● BOWSER на iOS/Android
  15. 15. Код
  16. 16. Материалы по теме● http://yacr.pycon.ru:8000● https://github.com/apatrushev/yacr● http://www.webrtc.org/● http://www.w3.org/2011/04/webrtc-charter.html● http://tools.ietf.org/wg/rtcweb/● http://www.html5rocks.com/en/tutorials/webrtc/basic● http://apprtc.appspot.com/
  17. 17. Спасибо за внимание.Вопросы ?apatrushev@gmail.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×