Zakładam, że WebRTC jest API, który dekoduje/koduje audio i wideo, chociaż komunikacja między serwerem a klientami odbywa się za pośrednictwem gniazd internetowych lub innego protokołu sieciowego? Jestem nieco zdezorientowany. Czy WebRTC ma własny protokół komunikacyjny?WebRTC i Websockets. Czy istnieje różnica
Odpowiedz
Istnieją dwie strony do WebRTC.
- API JavaScript (
getUserMedia
), które umożliwiają aplikacji dostęp do sprzętu z kamery i mikrofonu. Możesz użyć tego dostępu, aby po prostu wyświetlić strumień lokalnie (być może applying effects) lub wysłać strumień przez sieć. Możesz wysłać dane do swojego serwera lub użyć ... PeerConnection
, interfejsu API, który pozwala przeglądarce na ustanowienie bezpośrednich połączeń peer-to-peer. Możesz ustanowić połączenie bezpośrednio z przeglądarką innej osoby i bezpośrednio wymieniać dane. Jest to bardzo przydatne w przypadku danych o dużej przepustowości, takich jak wideo, gdzie nie chcesz, aby serwer musiał obsługiwać przekazywanie dużych ilości danych.
Aby zobaczyć obie części WebRTC w akcji, spójrz na the demos.
Tak w skrócie:
- WebSockets umożliwienia pełnego dupleksu komunikacji pomiędzy przeglądarką a serwerem WWW.
- Serwer WebRTC
PeerConnection
umożliwia komunikację w trybie pełnego dupleksu między dwiema przeglądarkami.
WebRTC wykorzystuje RTP (protokół oparty na protokole UDP) do transportu mediów, ale wymaga zewnętrznego kanału sygnalizacyjnego do skonfigurowania komunikacji. Jedną opcją dla kanału sygnalizacyjnego jest WebSocket.
Zamiast peerConnection
można również spojrzeć na wersję roboczą kanału danych WebRTC: http://tools.ietf.org/html/draft-jesup-rtcweb-data-protocol-00, która jest w zasadzie dwukierunkową udp. Co może być naprawdę cenną alternatywą dla WebSockets, ponieważ nie ma "negatywnych" stron połączenia TCP.
jest to realizowane przez dowolną przeglądarkę? Czy istnieje przykład? – appsthatmatter
@ jjoe64 peerConnection jest już zaimplementowany w Chrome i FireFox Przykład: http://mozilla.github.com/webrtc-landing/ – spicyramen
potrzeba połączenia pomiędzy przeglądarką a serwerem (node.js). Nie p2p – appsthatmatter
Nie, sygnalizacja nie jest zdefiniowana przez WebRTC.
Oto post przez IETF, która wyjaśnia to całkiem dobry, dlaczego nie jest: http://www.ietf.org/mail-archive/web/rtcweb/current/msg01143.html
Oznacza to, że mogą swobodnie wybrać sposób wymieniać Państwo informacje o sieci. To znaczy. możesz używać stron internetowych, HTTP, a nawet e-maili, ale to byłoby trochę trudu :)
- 1. Obciążenie WebRTC
- 2. PureScript Halogen i websockets
- 3. Websockets i równoważenie obciążenia
- 4. Yesod, WebSockets i Persistent
- 5. Czy RhinoJS obsługuje API websockets?
- 6. Czy WebSockets ma limit przepustowości?
- 7. Czy przeglądarka Wii obsługuje WebSockets?
- 8. Jak sprawdzić, czy WebRTC używa serwera przekazującego?
- 9. W Railsach 3, czy istnieje różnica między atrybutami = i assign_attributes?
- 10. Czy istnieje jakaś różnica między cpython i pythonem
- 11. Czy istnieje różnica między XSD: Pattern i C# Regex?
- 12. Czy istnieje znacząca różnica między "Double" i "double" w .Net?
- 13. Czy istnieje różnica między/mnt/sdcard i/sdcard?
- 14. Czy istnieje różnica między int x {}; i int x = 0 ;?
- 15. Czy istnieje różnica między kodem powłoki MASM i kodem NASM
- 16. Czy istnieje różnica między strefami czasowymi UTC i Etc/UTC?
- 17. Czy istnieje różnica prędkości pomiędzy WSGI i FCGI?
- 18. Czy istnieje jakaś różnica między C c; i Cc = C() ;?
- 19. Czy istnieje różnica w rozmieszczaniu ikon i bitmap?
- 20. Czy istnieje różnica między SSLv3 a TLS1.0?
- 21. Czy istnieje różnica między listą a krotką?
- 22. Powiadomienia PostgreSQL i WebSockets z Railsami
- 23. Szyny używające Websockets z Nginxem i Unicornem?
- 24. Limit rozdzielczości WebRTC
- 25. WebRTC DataChannels Speed Issue
- 26. Czy WebRTC dopuszcza połączenia jeden-do-wielu (multicast)?
- 27. Owin WebSockets - Zrozumienie IOwinContext i WebSocketAccept
- 28. WebSockets i WSGI razem przez Gunicorn
- 29. Testy jednostkowe Node.js i WebSockets (Socket.io)
- 30. jak działa webRTC?
WOW ... dziękuję za chyba najbardziej zwięzłą odpowiedź, jakiej mogłem się spodziewać. * So PeerConnection jest połączeniem P2P, czy faza uzgadniania wymaga serwera w miksie? jest serwerem wymaganym dla dowolnego interfejsu API PeerConnection? – AndrewMcLagan
"czy faza uzgadniania wymaga serwera w miksie?" Tak. WebRTC został zaimplementowany przy użyciu architektury JSEP, co oznacza, że wykrywanie i sygnalizacja użytkowników odbywa się za pośrednictwem oddzielnego kanału komunikacyjnego (na przykład przy użyciu WebSocket lub XHR i interfejsu DataChannel API). Zobacz przykład http://apprtc.appspot.com lub (przepraszam za autopromocję) http://www.html5rocks.com/en/tutorials/webrtc/basics/#toc-signalling –
@ josh3736 Kiedy mówisz "bezpośredni peer" -to-peer socket "i" full-duplex communication "oznacza, że ktoś zbudował niezawodne, pakietowane i sprawdzone przez błędy rozwiązanie na szczycie protokołu UDP do komunikacji P2P (nie TCP, ale coś w tym stylu)?Mam wrażenie, że WebRTC nie obsługuje połączeń P2P TCP. –