У меня есть видео в формате .avi (divx) со скоростью 25 кадров в секунду и аудио в формате mp3 со скоростью 64 кбит / с. Это видео имеет только одно изображение на протяжении всего видео.
Я пытаюсь преобразовать это видео в mp4, но сделать его как можно меньше (так как на самом деле всего 1 кадр!)
Я сейчас пытаюсь это:
ffmpeg -i video.avi -vcodec libx264 -acodec aac \
-ar 32000 -ab 64k -ac 2 -strict -2 -y video.mp4
Но это делает видео в формате mp4 размером с .avi.
Затем я попытался изменить частоту кадров на 1 кадр / с:
ffmpeg -i video.avi -vcodec libx264 -acodec aac \
-ar 32000 -ab 64k -ac 2 -strict -2 -y -r 1 video.mp4
Это сделало видеофайл намного меньше (в 10 раз меньше), но есть проблема, заключающаяся в том, что ключевой кадр не появляется в 1-м кадре видео. Таким образом, единственный кадр в видео появляется как 8 или 10 секунд в видео (!).
Похоже, проблема в том, что ffmpeg продолжает сбрасывать кадры из video.avi и не записывает их в video.mp4 в качестве ключевых кадров. Когда это действительно пишет ключевой кадр, это поздно в видео.
Он попытался использовать аргумент -force_key_frames
но это тоже не помогло. Я сделал -force_key_frames 0
и -force_key_frames 1
.
Кто-нибудь знает, как я мог бы создать действительно маленькое видео mp4 только с 1 статическим кадром?