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.
- Starten Sie eine WebRTC-Sitzung zwischen Ihrem Browser und Ihrem Breaker
- Nehmen Sie den IP-Kamera-Feed mit Ihrem Gateway/Breaker
- 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.