Ich habe ein .avi-Video (divx) mit 25 fps und MP3-Audio mit 64 kbit / s. Dieses Video enthält nur ein Bild im gesamten Video.
Ich versuche dieses Video in mp4 zu konvertieren, aber um es so klein wie möglich zu machen (da es wirklich nur 1 Frame gibt!)
Ich versuche gerade Folgendes:
ffmpeg -i video.avi -vcodec libx264 -acodec aac \
-ar 32000 -ab 64k -ac 2 -strict -2 -y video.mp4
Aber das macht ein MP4-Video, das ähnlich groß ist wie .avi.
Als nächstes habe ich versucht, die Bildrate auf 1 fps zu ändern:
ffmpeg -i video.avi -vcodec libx264 -acodec aac \
-ar 32000 -ab 64k -ac 2 -strict -2 -y -r 1 video.mp4
Dies hat die Videodatei viel kleiner gemacht (10x kleiner), aber es gibt ein Problem, dass der Keyframe nicht im ersten Frame des Videos erscheint. Das einzige Bild im Video erscheint also wie 8 oder 10 Sekunden im Video (!).
Es sieht so aus, als ob das Problem hier ist, dass ffmpeg immer wieder Frames aus video.avi löscht und sie nicht als Keyframes in video.mp4 schreibt. Wenn ein Keyframe geschrieben wird, ist es spät im Video.
Es wurde versucht, -force_key_frames
Argumente zu verwenden, aber das half auch nicht. Ich habe -force_key_frames 0
und -force_key_frames 1
.
Weiß jemand, wie ich ein wirklich kleines MP4-Video mit nur 1 statischen Frame erstellen kann?
-c:a copy
für das Audio oder -acodec copy
für ältere Versionen von ffmpeg.