So erfassen Sie den H.264-Stream einer Logitech c920-Kamera

Ich verwende eine Logitech c920 HD Pro Webcam mit meinem Macbook Pro 17" (Anfang 2011) und Mac OS Mavericks 10.9.5

Ich kann Videos mit Quicktime 10.3 aufnehmen, wobei ich mit dieser Kamera zwei Optionen für "Qualität" habe: hoch oder maximal.

Die Dateigröße wird sehr groß, besonders im "Maximum", wo 80 Sekunden in Schwarzweiß (Farbeinstellung auf 0) bereits 2,6 GB belegen.

Ich denke, diese Kamera liefert einen H.264-Stream, der bereits viel stärker komprimiert sein sollte, aber Quicktime scheint nicht in der Lage zu sein, von diesem Stream zu laden.

Auch die Qualität des Videos scheint eher verschwommen und nicht wirklich Full HD zu sein.

Ich habe versucht, Final Cut Pro zu installieren, weil es einige Links im Netz gab, die diesen Tipp lieferten. Mit Final Cut Pro in seiner Testversion kommen mehrere Codecs, die eine Lösung bieten könnten. Aber Final Cut Pro ist nicht mehr kompatibel mit Mavericks.

Irgendwelche Hinweise, wie man den vorkomprimierten Stream von der Kamera anstelle des Rohmaterials aufnimmt?

Siehe diese Antwort (verwenden Sie VLC): stackoverflow.com/questions/30765700/…
Diese Antwort ist interessant, bezieht sich aber nicht auf OS X. Der Stream wird unter Linux importiert und das ist in OS X wahrscheinlich anders. Außerdem wäre ich an einer Lösung für Quicktime oder eine andere "native" OS X-Anwendung interessiert.

Antworten (2)

Dies ist eine Teilantwort, aber soweit ich mich erinnere, streamt der C920 standardmäßig nicht in H264. Ich denke, es ist standardmäßig MJPEG (was die Unschärfe erklären würde), die dritte Option ist YUV.

Wenn Sie diesem Thread folgen , werden Sie sehen, dass ich den Streaming-Modus mithilfe von (in Linux) ändern musste v4l2ctl, um einen H264-Stream zu erhalten. Angenommen, Sie haben irgendwo einen Linux-Computer:

#this sets the C920 cam to H264 encoding, framerate 30/1:
v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=1 

Hoffentlich bleibt die Konfiguration nach dem Trennen der Webcam erhalten, sodass Sie sie unter OSX verwenden können ...

Wenn Sie an einer weniger "nativen" Lösung als QuickTime interessiert sind, beschreibt der Rest des Threads, wie Sie gstreamer verwenden, entweder durch RTP-Streaming oder lokale Erfassung. Ich habe es nicht unter OSX versucht, aber Sie können versuchen, es zu ersetzen v4l2srcdurch osxvideosrc:

gst-launch-1.0 -vvv osxvideosrc \
! video/x-h264, width=1920, height=1080, framerate=30/1 \
! queue max-size-buffers=1 \
! matroskamux \
! filesink location=/tmp/video.mkv

... was Ihnen eine Matroska-Datei geben sollte.

In Quicktime auf dem Mac beziehen sich die Einstellungen „Maximum“ und „Hoch“ auf die in der aufgezeichneten Datei verwendete Kodierung und korrelieren nicht unbedingt mit dem Codec, der von der Kamera kommt. Ich bin mir nicht sicher, ob macOS UVC 1.5 H.264 überhaupt unterstützt, also würde es MJPEG oder YUV empfangen und je nach Einstellung in H264 oder ProRes konvertieren.