Ausführen avprobe test.h264
AusgängeWie die Dauer/Bitrate einer H264-Datei mit avconv/ffmpeg
Input #0, h264, from 'test.h264':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: h264 (High), yuv420p, 720x480, 25 fps, 25 tbn, 50 tbc
Ausführen file test.h264
Ausgänge
test.h264: JVT NAL sequence, H.264 video @ L 30
Hinweis erhalten, dass die Datei nicht beschädigt oder fehlerhaft ist, ich kann es auf VLC ohne Probleme spielen.
Gibt es eine Möglichkeit, die Dauer und Bitrate aus einer rohen H264-Datei zu erhalten? Ich habe irgendwo gelesen, dass es möglich ist, wenn ich die Datei zuerst entziffere, aber ich bin nicht sicher, wie das gemacht werden kann.
Edit # 1
Ich bin derjenige, der H264-Datei mit einer Python-Bibliothek picamera
genannt zu schaffen.
Edit # 2
Konsole ausgegeben, wenn avconv -i test.h264 -f null -
avconv version 11.7-6:11.7-1~deb8u1+rpi1, Copyright (c) 2000-2016 the Libav developers
built on Jun 17 2016 02:13:49 with gcc 4.9.2 (Raspbian 4.9.2-10)
[h264 @ 0x1bcc200] Estimating duration from bitrate, this may be inaccurate
Input #0, h264, from 'test.h264':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: h264 (High), yuv420p, 720x480, 25 fps, 25 tbn
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf56.1.0
Stream #0.0: Video: rawvideo, yuv420p, 720x480, q=2-31, 200 kb/s, 25 tbn, 25 tbc
Metadata:
encoder : Lavc56.1.0 rawvideo
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
Press ctrl-c to stop encoding
frame= 208 fps= 68 q=0.0 Lsize= 0kB time=10000000000.00 bitrate= 0.0kbits/s
video:13kB audio:0kB other streams:0kB global headers:0kB muxing overhead: unknown
„Muxing“ scheint die Datei in einen Container zu arbeiten, aber wenn man den Befehl ouputs es 'Nicht-monotone DTS in Ausgangsstrom 0: 0; früher: 203, aktuell: 0; Wechseln zu 204. Dies kann zu falschen Zeitstempeln in der Ausgabedatei führen.' Für jeden Rahmen versucht es, für die MP4-Datei zu kodieren. Ist es auch zuverlässig? Vielen Dank! – maximedupre
Keine Zeitstempel in einem rohen Bitstream, also wird jedem eingehenden Frame '0' zugeordnet, was natürlich falsch ist. Aber kein Problem. Wenn Ihr Bitstream keine wie @Ronald gespeicherte Framerate hat, sollten Sie "-frame N" vor "-i" hinzufügen, wobei N der fps-Wert ist, sonst wird ffmpeg 25 fps annehmen. – Mulvya
'avconv -framerate 30 -i test.h264 -c Kopie test.mp4' funktioniert perfekt! Vielen Dank! – maximedupre