GNU/Linux >> Tutoriels Linux >  >> Linux

Utiliser une caméra IP avec webRTC

J'ai créé un exemple simple transformant un flux vidéo RTSP ou HTTP en un flux WebRTC. Cet exemple est basé sur Kurento Media Server (KMS) et nécessite son installation pour que l'exemple fonctionne.

Installez KMS et profitez de ...

https://github.com/lulop-k/kurento-rtsp2webrtc

MISE À JOUR 22-09-2015.Consultez cet article pour une explication technique expliquant pourquoi le transcodage n'est qu'une partie de la solution à ce problème.


Janus-gateway a récemment ajouté un simple support RTSP (basé sur libcurl) à ses plugins de streaming depuis ce commit

Ensuite, il est possible de configurer la passerelle pour négocier le RTSP avec la caméra et relayer le RTP par WebRTC en ajoutant dans la configuration des plugins de streaming <prefix>/etc/janus/janus.plugin.streaming.cfg

[camera]
type = rtsp
id = 99
description = Dlink DCS-5222L camera
audio = no
video = yes
url=rtsp://192.168.1.16/play2.sdp

Ensuite, vous pourrez accéder au flux WebRTC en utilisant la page de démonstration de streaming http://..../demos/streamingtest.html


La réponse courte est non. RTSP n'est pas mentionné dans la norme IETF pour WebRTC et aucun navigateur ne prévoit actuellement de le prendre en charge. Lien vers la discussion Chrome.

La réponse plus longue est que si vous êtes vraiment épuisé par cette idée, vous devrez créer une passerelle/disjoncteur webrtc en utilisant l'API WebRTC native.

  1. Démarrer une session WebRTC entre votre navigateur et votre disjoncteur
  2. Récupérez le flux de la caméra IP avec votre passerelle/disjoncteur
  3. Chiffrez et transférez le flux rtp vers votre session WebRTC à partir de votre flux RTSP collecté par le disjoncteur via l'API WebRTC.

C'est ainsi que d'autres l'ont fait et qu'il faudra le faire.

MISE À JOUR 30/07/2014 :

J'ai expérimenté la passerelle janus et je pense que le plugin de streaming fait EXACTEMENT cela car il peut saisir un flux rtp et le pousser vers un pair webrtc. Pour RTSP, vous pourriez probablement créer un client RTSP (éventuellement en utilisant une bibliothèque comme gstreamer), puis pousser le RTP et le RTCP de la connexion vers le pair WebRTC.


Linux
  1. Comment j'utilise Vagrant avec libvirt

  2. Pouvez-vous utiliser des ancres ^ $ avec Ls ?

  3. Utiliser CloudFlare avec Rackspace

  4. Comment utiliser l'exportation avec Python sous Linux

  5. Comment utiliser la mémoire partagée avec Linux en C

Comment enregistrer et utiliser une Yubikey avec privacyIDEA

Comment utiliser la commande Linux rm avec des exemples

Comment utiliser PostgreSQL avec l'application Ruby On Rails

Comment utiliser une clé SSH avec des utilisateurs non root

Comment utiliser la commande shutdown avec des exemples

Comment utiliser Let's Encrypt avec Cloudflare