Versuch, zwei C920 Logitech-Webcams von Fedora mit GStreamer zum Windows VLC-Client zu streamen

1189
SciComputing

Ich entschuldige mich im Voraus für die Verletzung von Regeln und Regeln bezüglich der Veröffentlichung in SuperUser. Dies ist mein erster Beitrag.

Zuallererst bin ich ein Streaming-Video-Amateur - die Lösung, die ich "zusammengeschustert" habe, ist nur, dass ich verschiedene Websites google.

Zweitens bin ich an keine der ausgewählten Architektur gebunden (mit Ausnahme von Fedora als Streaming-Quelle). VLC / Fenster können alle aus dem Fenster gehen, wenn die Menschen bessere Lösungen haben. Bezahlte Lösungen sind ebenfalls willkommen, Open Source wird jedoch bevorzugt.

Ich habe 6 Teststationen, an denen die Leute Tests durchführen, und ich möchte sie mit zwei C920 Logitech-Webcams überwachen. Die Tests laufen auf Fedora und es wäre schön, die gleichen Computer zum Streamen der Webcams zu nutzen. Alle Systeme werden in einem 1-Gigabit-Netzwerk betrieben.

Um den gstreamer einzurichten, habe ich die Beispiele, die OZ9AEC auf seiner Website eingerichtet hat, recherchiert:

http://www.oz9aec.net/index.php/gstreamer/487- using-the-logitech-c920-webcam-with-gstreamer-12

Ich ging mit dem v4l2src-Ansatz.

Starten der Streams

Um die beiden Kameras zu streamen, führe ich die folgenden Befehle aus.

gst-launch-1.0 v4l2src device = / dev / video1! Video / x-h264, Breite = 1280, Höhe = 720, Famerate = 30/1! h264parse! rtph264pay Konfigurationsintervall = 3! Mehrfachverbindungsclients = 192.168.2.57:2511.127.0.0.1:2511

gst-launch-1.0 v4l2src Gerät = / dev / video2! Video / x-h264, Breite = 1280, Höhe = 720, Famerate = 30/1! h264parse! rtph264pay Konfigurationsintervall = 3! Mehrfachverbindungsclients = 192.168.2.57:2512.127.0.0.1:2512

Nach meinem begrenzten Verständnis von gstreamer sollte dies zu zwei UDP-Clients übertragen werden - meinem Windows-Computer und meinem localhost

Einen lokalen Empfänger starten

Um zu überprüfen, ob die Dinge tatsächlich gesendet werden, habe ich lokal zwei lokale Gstreamer-Clients auf demselben Computer gestartet.

gst-launch-1.0 udpsrc port = 2511 caps = 'application / x-rtp, media = (string) video, clock-rate = (int) 90000, encodierungsname = (string) H264'! rtph264depay! avdec_h264! a utovideosink fps-update-intervall = 1000 sync = false

gst-launch-1.0 udpsrc port = 2512 caps = 'application / x-rtp, media = (string) video, clock-rate = (int) 90000, coding-name = (string) H264'! rtph264depay! avdec_h264! a utovideosink fps-update-intervall = 1000 sync = false

Ich habe diese Befehle gestartet und zwei Videobildschirme werden angezeigt, die die Videos streamen.

Meine Überwachungsstation starten

Der nächste Schritt ist die Verwendung von VLC zur Überwachung meiner 12 Webcams.

Ich setze 12 SDP-Dateien ein, jede für meine Streams

https://stackoverflow.com/questions/13154983/gstreamer-rtp-stream-to-vlc

Ich wähle VLC, weil es einen schönen Button gibt, um den Stream jederzeit aufzunehmen, sodass wir nicht überwachen können, sondern auch aufnehmen, wann wir wollen.

Hier sind zwei Beispiel-SDP-Dateien:

192.168.124.1_2511.sdp

v = 0 c = IN IP4 192.168.124.1 s = ESP H264 + AAC-STREAM m = Video 2511 RTP / AVP 96 a = rtpmap: 96 H264 / 90000 a = fmtp: 96 media = video; Taktfrequenz = 90000; Kodierungsname = H264;

192.168.124.1_2512.sdp

v = 0 c = IN IP4 192.168.124.1 s = ESP H264 + AAC-STREAM m = Video 2512 RTP / AVP 96 a = rtpmap: 96 H264 / 90000 a = fmtp: 96 media = video; Taktfrequenz = 90000; Kodierungsname = H264;

Jetzt wird es fischig

Wenn ich VLC starte und die SDP-Dateien öffne, wird nur die erste geöffnete Verbindung eine Verbindung herstellen und einen Stream anzeigen.

Das zweite VLC-Fenster gibt einfach auf und läuft aus.

Wenn ich die 192.168.124.1_2511 zuerst starte, schlägt die 192.168.124.1_2512 fehl.

Wenn ich die 192.168.124.1_2512 zuerst starte, schlägt die 192.168.124.1_2511 fehl.

Bei 6 Stationen bekomme ich jedoch nur 6 Videostreams, nicht 12.

Die aktuelle Arbeit besteht darin, ein zweites Überwachungssystem zu kaufen und einfach 192.168.124.1_2511 zu einem und 192.168.124.1_2512 zum anderen zu streamen. Dies skaliert jedoch nicht gut, da wir mehr als eine einzige Überwachungsstation haben 3 Computer für 3 Überwachungsstationen, wir benötigen 6 Computer. Jeder Computer ist mit High-End-Grafikkarten ausgestattet, sodass die Kosten schnell steigen.

Vielleicht sind die Probleme mit dem gstreamer und ich übertrage zu viele Daten über mein Netzwerk. Alle Ratschläge zur Reduzierung der Netzwerklast sind ebenfalls willkommen.

Ich entschuldige mich nochmals, wenn ich in meinem Beitrag Fehler gemacht habe oder die Etikette verletzt habe.

Vielen Dank im Voraus und ein glückliches Thanksgiving aus den USA.

DrDeveloper

1

0 Antworten auf die Frage