GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden Sie eine IP-Kamera mit webRTC

Ich habe ein einfaches Beispiel erstellt, das einen RTSP- oder HTTP-Video-Feed in einen WebRTC-Stream umwandelt. Dieses Beispiel basiert auf Kurento Media Server (KMS) und muss installiert sein, damit das Beispiel funktioniert.

Installieren Sie KMS und genießen Sie ...

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

UPDATE 22.09.2015. In diesem Beitrag finden Sie eine technische Erklärung, warum die Transcodierung nur ein Teil der Lösung dieses Problems ist.


Janus-Gateway hat seit diesem Commit kürzlich eine einfache RTSP-Unterstützung (basierend auf libcurl) zu seinen Streaming-Plug-ins hinzugefügt

Dann ist es möglich, das Gateway so zu konfigurieren, dass es RTSP mit der Kamera aushandelt und das RTP über WebRTC weiterleitet, indem es in der Streaming-Plugin-Konfiguration <prefix>/etc/janus/janus.plugin.streaming.cfg hinzufügt

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

Als Nächstes können Sie über die Streaming-Demoseite http://..../demos/streamingtest.html

auf den WebRTC-Stream zugreifen

Kurze Antwort ist, nein. RTSP wird im IETF-Standard für WebRTC nicht erwähnt und kein Browser plant derzeit, dies zu unterstützen. Link zur Chrome-Diskussion.

Eine längere Antwort ist, dass Sie, wenn Sie wirklich von dieser Idee überzeugt sind, ein WebRTC-Gateway/Breaker unter Verwendung der nativen WebRTC-API erstellen müssen.

  1. Starten Sie eine WebRTC-Sitzung zwischen Ihrem Browser und Ihrem Breaker
  2. Nehmen Sie den IP-Kamera-Feed mit Ihrem Gateway/Breaker
  3. Verschlüsseln und übertragen Sie den RTP-Stream von Ihrem RTSP-Stream, der vom Breaker über die WebRTC-API gesammelt wurde, in Ihre WebRTC-Sitzung.

So haben es andere gemacht und so wird es gemacht werden müssen.

UPDATE 30.07.2014:

Ich habe mit dem Janus-Gateway experimentiert und ich glaube, dass das Streaming-Plugin GENAU dies tut, da es einen RTP-Stream abrufen und an einen WebRTC-Peer senden kann. Für RTSP könnten Sie wahrscheinlich einen RTSP-Client erstellen (möglicherweise mit einer Bibliothek wie gstreamer) und dann RTP und RTCP von der Verbindung zum WebRTC-Peer übertragen.


Linux
  1. Wie ich Vagrant mit libvirt verwende

  2. Verwendung des ethtool-Befehls mit Beispielen

  3. Können Sie Anker ^ $ mit Ls verwenden?

  4. Verwenden Sie CloudFlare mit Rackspace

  5. Cloud-Init mit VirtualBox verwenden?

So registrieren und verwenden Sie einen Yubikey mit privacyIDEA

So verwenden Sie den Linux-rm-Befehl mit Beispielen

So verwenden Sie PostgreSQL mit der Ruby On Rails-Anwendung

So verwenden Sie einen SSH-Schlüssel mit Nicht-Root-Benutzern

Verwendung des Shutdown-Befehls mit Beispielen

So verwenden Sie Let’s Encrypt mit Cloudflare