Ich habe eine Logitech C920 Webcam. Es hat die Fähigkeit, das Video in H264 direkt zu kodieren.
Ich möchte reproduzieren, was mit einem Beaglebone gemacht wurde, aber mit einem Raspberry Pi: Senden Sie einen H264-Stream an das Netzwerk . Der Raspberry Pi ist dann nur hier, um den Stream in RTP zu paketieren, die Videokomprimierung erfolgt durch die Webcam selbst. Der H264-Modus wird mit video4linux erzwungen.
Bisher und wenn ich einen gemeinsamen Computer mit der neuesten Version von Ubuntu verwende, funktioniert dies mit VLC als Server oder GStreamer. Wenn ich zum Beispiel auf Raspberry Pi einen VLC-Server mit dem folgenden Befehl starte:
cvlc --sout=#rtp{sdp=rtsp://:8554/test} 'v4l2:///dev/video0:chroma=H264:width=800:height=600:fps=30'
... und wenn ich dann den Stream mit VLC auf einem anderen Computer lese, ist alles in Ordnung.
Wenn ich jedoch den Himbeer-Pi zum Senden des Videostreams verwende, ist das Ergebnis ziemlich schlecht. Viel Müll im Bild, sobald sich etwas bewegt. Image-Keys werden alle 10 Sekunden gut empfangen, aber in der Zwischenzeit ist es im Vergleich zum Stream von einem normalen Computer nicht gut genug.
Ich habe auch die für das Beaglebone beschriebene Methode mit dem mitgelieferten "Capture" -Dienstprogramm ausprobiert : ok, wenn ich von einem echten Computer streame , dasselbe Müllproblem, wenn ich von einem Raspberry Pi streame.
Es ist kein Netzwerkproblem: Ich habe einige Netzwerkprüfungen mit Wireshark und den Statistiken von VLC durchgeführt, es ist kein Paketverlust aufgetreten. Ich habe es mit Raspbian und Arch Linux für Raspi versucht (gstreamer 0.10 in raspbian, gstreamer 1.0 in Arch Linux).
Ich weiß nicht, ob es relevant ist oder nicht, aber ich habe es auch mit der Soft-Float-Support-Version von Raspbian getestet. Um einen 3.2-Kernel zu verwenden, muss zuerst ein Update durchgeführt werden. aber das gleiche problem, das video hat etwas müll.
Irgendeine Idee, was ich tun könnte, um die Videoqualität zu verbessern?