2017-03-10 1 views
0

Ich habe einen Stream, von dem ich weiß, dass mit einer bestimmten Bildrate (30 FPS) ausgibt. Ich möchte ffmpeg verwenden, um eine Kopie dieses Streams zu erstellen und auf der Festplatte zu speichern.ffmpeg Kopie stream Erhaltung FPS

Ich habe den folgenden Befehl ein:

ffmpeg -i http://input/ -c copy -map 0 \ 
    -f segment -strftime 1 -segment_time 900 \ 
    -segment_atclocktime 1 -segment_format mp4 %Y-%m-%d_%H-%M-%S.mp4 

Aber wenn ich den Befehl ausführen, sehe ich folgendes:

frame= 32 fps=3.9 q=-1.0 Lsize=N/A time=00:00:01.27 bitrate=N/A 

Gelangt die FPS ist um schwebt ~ 4.0 FPS und time bewegt langsamer als in Echtzeit.

Ich versuchte, -re (kopiert die Rate des Eingabestroms) und -r 30 (manuell Rate auf 30 FPS) Flag vor der Eingabedatei angegeben, aber es schien nicht zu funktionieren.

Ich lese auch a similar question here mit -framerate 30, aber diese Option existiert nicht in den man-Seiten und ist ein Invalid option.

Jede Hilfe würde sehr geschätzt werden!


Also lasse ich den modifizierten Befehl (Entfernen der Fahnen -c copy -map 0) für genau 5 Minuten laufen. Laufend ffprobe ergibt:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2017-03-10_01-09-12.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf57.2.100 
    Duration: 00:00:15.43, start: 0.066016, bitrate: 13416 kb/s 
    Stream #0:0(und): Video: h264 (High) (avc1/0x31637661), yuvj420p(pc), 1024x768, 13414 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default) 
    Metadata: 
     handler_name : VideoHandler 

Auch dies erzeugt in nur 15 Sekunden des Videos, und ich kann nicht 1 zu bekommen scheint: 1-Beziehung zwischen dem Eingangsstrom von 30 FPS und ein Ausgangsstrom auch in 30 FPS in Echt Zeit. Das Abspielen des Videos bringt etwas, das beschleunigt wird.

Antwort

1

Das ist die Verarbeitungsgeschwindigkeit, d. H. 4 Frames, die pro Sekunde verarbeitet werden. Es ist nicht der Ausgabestrom FPS. In jedem Fall kann FFmpeg im Stream-Copy-Modus die Ausgabe-FPS nicht ändern, es sei denn, Ihre Eingabe ist ein raw Bitstream.

+0

Danke für die Antwort! Ich habe '-c copy -map 0' entfernt. Ich sehe aus der Ausgabe, dass der 'frame'-Zähler langsamer als 30 pro Sekunde inkrementiert, FPS ist etwa 2.0, und" time "geht immer noch langsam durch. Wenn ich das wieder spiele, sieht die Ausgabe schneller aus, obwohl der ursprüngliche Stream 30 FPS beträgt. –

+0

Zeigen Sie die ffprobe-Ausgabe für eines der Segmente an. – Mulvya

+0

Die Ausgabe sieht normal aus, d.h. "30 fps". Wie spielst du das Ergebnis? – Mulvya

Verwandte Themen