Orlando, parte de nuestro equipo, nos ha hecho el favor de crear esta crónica ya que domina a la perfección el tema.
Solución:
Sí, es posible ya que el servidor puede ser uno de los pares en esa sesión de igual a igual. Si respeta los protocolos y envía el video en paquetes SRTP usando VP8, el navegador lo reproducirá. Para ayudarlo a construir estos componentes en otras aplicaciones o servidores, puede consultar esta página y este proyecto como guía.
Ahora, comparar WebRTC con otros servicios de streaming… Dependerá de varias variables como el Codec o el protocolo. Pero, por ejemplo, al comparar WebRTC (SRTP sobre UDP con códec VP8) con Flash (RTMP sobre TCP con códec H264), diría que gana WebRTC.
- El jugador será Flash Player contra el nativo
etiqueta.
- El transporte sería TCP contra UDP.
Pero claro, todo depende de lo que le estés enviando al cliente.
He escrito algunas aplicaciones y complementos usando la API nativa de WebRTC, y todavía no hay mucha información disponible, pero aquí hay algunos recursos útiles para comenzar:
Ejemplo de QT: http://research.edm.uhasselt.be/jori/qtwebrtc
Ejemplo nativo del navegador: http://sourcey.com/webrtc-native-to-browser-video-streaming-example/
Comencé con WebRTC Native C++ to Browser Video Streaming Example, pero ya no se compila con el código nativo de WebRTC real.
Luego hice modificaciones que se fusionaron en un proceso independiente:
- gestión de peerConnection (la
peerconnection_server
) - acceso a la captura de Video4Linux (la
peerconnection_client
).
Eliminar la transmisión del navegador al cliente WebRTC Native C++ brinda una solución simple para acceder a través de un navegador WebRTC a un dispositivo Video4Linux que está disponible desde GitHub webrtc-streamer.
Demo en vivo
Nos encantaría que puedieras comunicar esta sección si te fue útil.