WebRTC et gstreamer sur les périphériques linux
J'ai un petit ordinateur (quelque chose comme l'Arduino ou Raspberry pi) avec Linux, caméra et gstreamer installé.
J'ai besoin de flux de h264 vidéo de cet appareil de navigateur à l'aide de WebRTC de la technologie. Aussi, je l'utilise NodeJS que la signalisation serveur.
Dans des mots simples, j'ai besoin de faire un WebRTC client à partir de mon appareil. Quelle est la meilleure façon de le faire? Puis-je utiliser WebRTC API Native pour atteindre cet objectif? Comment puis-je l'installer sur mon petit appareil? Ou, peut-être, j'ai juste besoin de jouer avec mon gstreamer et d'installer un webrtc plugins?
Envisagez-vous de externe de la passerelle qui va gérer le WebRTC connexion, srtp décryptage/chiffrement, qui peut diffuser votre flux vidéo dans un navigateur? Si oui, Janus Passerelle fait exactement cela et il y a même un gstreamer exemple(il utilise VP8, mais de modifier les codecs ne devrait pas être dur). Je peux expliquer plus en détails dans la réponse si vous voulez aller dans cette direction.
externe de la passerelle n'est pas le meilleur moyen, mais si il y a rien d'autre, bien sûr, je vais y réfléchir. Le Janus est quelque chose comme NodeJS. Peut-il remplacer NodeJS? Puis-je l'installer sur CentOS, par exemple, et l'utiliser comme serveur web? Merci.
Janus est sa propre signalisation serveur donc il n'est pas nécessaire pour NodeJS. La même machine peut être la page web d'accueil. L'utilisation du PROCESSEUR sur Janus est très peu, mais il ya une poignée de paquets qui sont nécessaires et c'est pourquoi il peut être fait sur une autre machine que vous embedded linux de la machine.
externe de la passerelle n'est pas le meilleur moyen, mais si il y a rien d'autre, bien sûr, je vais y réfléchir. Le Janus est quelque chose comme NodeJS. Peut-il remplacer NodeJS? Puis-je l'installer sur CentOS, par exemple, et l'utiliser comme serveur web? Merci.
Janus est sa propre signalisation serveur donc il n'est pas nécessaire pour NodeJS. La même machine peut être la page web d'accueil. L'utilisation du PROCESSEUR sur Janus est très peu, mais il ya une poignée de paquets qui sont nécessaires et c'est pourquoi il peut être fait sur une autre machine que vous embedded linux de la machine.
OriginalL'auteur Footniko | 2014-08-23
Vous devez vous connecter pour publier un commentaire.
Depuis, vous devrez utiliser un serveur de signalisation, de toute façon, je dirais que vous devriez utiliser le Janus-Passerelle. Vous mentionnez CentOS pour votre signalisation serveur, je ne suis pas à 100% si il sera exécuté sur CentOS spécifiquement, mais j'ai couru avec succès dans Debian Jessie construire avec juste un peu de la dépendance des installations.
Janus gère l'ensemble de l'établissement de la communication avec la passerelle(signalisation et tout et tout). Ainsi, certains de redirection de port devront probablement être fait de sorte que le SDP échange peut se produire(que vous avez à vous soucier de toute la signalisation serveur).
Installer la passerelle, il y a un peu de dépendances, mais tous étaient simples
les installations
Prendre un coup d'oeil à la janus_streaming plugin. Il a un gstreamer exemple de flux d'un pipeline gstreamer. Aussi, le streamingtest page de démonstration de voir comment le Javascript API travaille pour que le plugin
REMARQUE: Vous devez modifier le SDP que le JavaScipt envoie à la passerelle, de sorte qu'il comprend H264(probablement se débarrasser de tous les autres codecs juste à la force de négociation). Vous pouvez le faire en accédant à la sdp par le biais de la
jsep
objet passé en cas de réussite de lacreateOffer
fonction dans le janus de l'API JavaScript(jsep.sdp
).Si vous avez besoin d'infos supplémentaires, merci de demander. Aussi, le soutien de l'équipe de développement de ce projet a été très très rapide si vous en avez besoin.
"Il ne gère pas les paquets de contrôle pour la synchronisation, mais je suis en train d'écrire une bidirectionnel plugin" Est-ce encore le cas?
Qui, précisément, que le gstreamer streaming dans Janus ne gère pas les paquets de contrôle ou bidirectionnelle streaming plugin pour Janus?
Maintenant, je suis à l'aide de janus-passerelle avec ma webcam et je en mesure de diffuser de l'audio/vidéo de janus et de montrer que webrtc flux sur la page web. Mais quand je suis en train de flux à partir d'un autre appareil sur la même prise audio-vidéo, il y a quelques problèmes avec janus. Est-il possible d'établir le multi en streaming pour le janus?
OriginalL'auteur Benjamin Trent
Une autre possibilité pour vous est d'utiliser le Kurento Media Server (KMS), ce qui a été écrit sur le dessus de GStreamer. Je vois deux possibilités
Disclaimer: je suis membre de la Kurento équipe de développement
OriginalL'auteur lulop
Vous avez mentionné que vous avez utilisé un NodeJS serveur signalisation. Récemment Ericsson a publié un open source WebRTC gstreamer élément: http://www.openwebrtc.io/, et avec leur libération, ils ont également publié une démonstration utilisant WebRTC node.js: http://demo.openwebrtc.io:38080/; le code ici: https://github.com/EricssonResearch/openwebrtc-examples/tree/master/server.
Est-il possible de diffuser h.264 vidéo à partir de mon appareil (à l'aide de gstreamer) diretly à openwebrtc, puis l'afficher sur le navigateur web?
Je n'ai pas testé openwebrtc en fait, je viens de le savoir. Néanmoins, j'ai été en mesure d'afficher une gstreamer généré H. 264 vidéo dans un WebRTC navigateur en utilisant le Janus de la Passerelle, comme recommandé par Benjamin Trent. Découvrez ma conversation avec Lorenzo (Janus' auteur): groups.google.com/forum/#!topic/meetecho-janus/XjjboCTY0Xc
Ericsson est encore au stade expérimental et qu'ils précisent sur leur site, il n'est pas prêt pour la production. Juste pour info
OriginalL'auteur jcarballo
Pour WebRTC pour Raspberry Pi 2, vous souhaitez mai à envisager UV4L. Il vous permet de diffuser en live Audio & Vidéo du Rpi de n'importe quel navigateur sur un PC (HTML5).
OriginalL'auteur strunz