Frage:
Unkomprimierte Videoaufnahme
Coderaemon
2015-01-30 15:47:24 UTC
view on stackexchange narkive permalink

Picamera zeichnet standardmäßig mit einer Auflösung von 1920 * 1080 (Full HD) auf und es ist sehr klar. Alle Videos werden jedoch mit dem Codec h264 (MPEG-4) komprimiert.

Kann ich die unkomprimierte Videoaufzeichnung erhalten, da das von mir durchgeführte Experiment möglicherweise nicht funktioniert, wenn die Videoaufzeichnung komprimiert ist? Gibt es eine Möglichkeit, das Raw-Video ohne Komprimierung aufzunehmen?

Einer antworten:
Dave Jones
2015-02-02 08:29:27 UTC
view on stackexchange narkive permalink

Die Picamera-Bibliothek ermöglicht nicht codierte Videoaufzeichnung und Bilderfassung, indem ein Format wie yuv oder rgb angegeben wird. Weitere Informationen finden Sie in der Methode start_recording.

Trotzdem wäre ich sehr überrascht, wenn Sie einen solchen Stream mit 1080p auf die SD-Karte aufnehmen könnten. Angenommen, Sie haben eine Karte der Klasse 10 (d. H. Eine Karte, die 10 MB / s schreiben kann). Bei 1080p (1920 x 1080 bei 30 fps) mit RGB-Format (3 Byte pro Pixel) müssen Sie Folgendes übertragen:

1920 * 1080 * 3Bpp * 30 fps = 177 MB / s

Auch wenn Wenn Sie sich für YUV entscheiden, wird die Pixelgröße auf 1,5 Byte pro Pixel reduziert. Sie benötigen immer noch 89 MB / s. Angesichts dieser Zahlen ist es unwahrscheinlich, dass Sie Frames über das LAN leiten können. Die einzige Möglichkeit, sich 10 MB / s anzunähern, besteht darin, die Auflösung zu verringern oder die Bildrate zu verringern.

Mit anderen Worten, Sie sollten viel besser zuerst mit einem H.264-Stream experimentieren, um ihn zu sehen wenn es gut genug ist (ich bin immer vorsichtig mit Behauptungen, dass Dinge ohne tatsächliche Erfahrung nicht gut genug sind, um sie zu sichern). Das Wechseln von einem H.264-Stream zu einem nicht codierten Stream ist trivial (zumindest auf der Picamera-Seite), obwohl Sie sich dann mit der Frage der Bandbreite befassen müssten ...

Also mache ich: `camera.start_recording ('video.data', 'yuv')` Aber meine Kamera wird gehängt. Liegt das an der Bandbreitenbeschränkung? Wie kann ich das lösen?
Ich würde vorschlagen, eine niedrigere Auflösung und / oder Bildrate zu verwenden und wenn möglich das YUV-Format zu verwenden, da es die Hälfte der Bandbreite von RGB erfordert
Ja, ich verwende nur eine sehr minimale Auflösung (64,48), um zu überprüfen, ob die Kamera reagiert oder nicht. Ich denke, ich müsste nur mit H264 gehen. Ich verwende nur das 'yuv'-Format.
Hmm ... das sollte glücklich funktionieren. Die Testsuite für Picamera enthält Tests für die Formate yuv, rgb und rgba, einschließlich der Aufzeichnung in Dateien und Streams, mit einer Reihe von Auflösungen, einschließlich 1080p (obwohl nicht lange - ich denke, 2 Sekunden sind die Zeitdauer, in der normalerweise aufgezeichnet wird um die Laufzeit der Testsuite angemessen zu halten). Wenn Sie immer noch Probleme haben, können Sie ein Ticket im [picamera GitHub-Repository] (https://github.com/waveform80/picamera) öffnen.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...