Est-il possible d'utiliser WebRTC pour diffuser de la vidéo d'un serveur à un Client?

dans WebRTC, je vois toujours l'implémentation de peer-to-peer et comment faire passer la vidéo en streaming d'un client à un autre. Comment sur de serveur à client?

est-il possible pour WebRTC de diffuser un fichier vidéo du serveur au client? (Je pense utiliser L'API Native C++ De WebRTC pour créer ma propre application serveur afin de me connecter à l'implémentation actuelle de l'application client de navigateur chrome ou firefox.)

OK, si c'est possible, il sera plus rapide que de nombreux services de transmission vidéo?

43
demandé sur A-letubby 2013-07-09 19:34:06

5 réponses

j'ai écrit quelques applications et plugins en utilisant L'API WebRTC native, et il n'y a pas beaucoup d'informations là-bas encore, Mais voici quelques ressources utiles pour vous aider à commencer:

exemple QT: http://research.edm.uhasselt.be/jori/qtwebrtc

Natif de L'exemple de navigateur: http://sourcey.com/webrtc-native-to-browser-video-streaming-example /

6
répondu Kamo 2014-03-15 03:09:35

j'ai commencé avec le WebRTC Native C++ to Browser video Streaming Example mais il ne construit plus avec le actuel code natif de WebRTC .

puis j'ai fait des modifications fusionnant dans un processus autonome:

  • gestion de la peerConnection (le peerconnection_server )
  • l'accès à l'Video4Linux capture (le peerconnection_client ).

supprimer le flux du navigateur vers le client natif C++ De WebRTC donne une solution simple pour accéder par un navigateur WebRTC à un périphérique Video4Linux qui est disponible à partir de GitHub WebRTC-streamer .

Live Demo

3
répondu mpromonet 2017-02-04 19:25:55

nous tentons de remplacer MJPEGs par Webrtc pour notre logiciel serveur et avons un module prototype pour le faire en utilisant un smattering de composants liés au projet Openwebrtc. Cela a été un ours absolu à faire, et nous avons de fréquentes erreurs de négociation de glace (même sur un simple réseau local), mais cela fonctionne surtout.

nous avons également construit un prototype avec le module Google Webrtc, mais il avait de nombreuses dépendances. Je trouve plus facile de travailler avec les modules Openwebrtc car Les affaires de Google sont si étroitement liées à des scénarios de pair-à-pair généraux sur le navigateur.

j'ai compilé ce qui suit à partir de zéro:

libnice 0.1.14 gstreamer-sctp-1.0 usrsctp

alors je dois interagir avec libnice un peu directement pour rassembler des candidats. Il faut aussi écrire les fichiers SDP à la main. Mais la quantité de contrôle--être capable de contrôler la source du pipeline--le rend utile. Le pipeline résultant (avec deux clients sur un serveur source) est la suivante:

resulting webrtc pipeline

1
répondu mpr 2017-05-03 21:19:33