1

Начиная с этого файла:

Input #0, flac, from 'alfa.flac':
  Duration: 00:02:52.48, bitrate: 503 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16

Выполнение этой команды дает аналогичную длительность вывода, однако медленное кодирование:

$ time ffmpeg -loop 1 -i bravo.jpg -i alfa.flac -shortest slow.mp4    
frame= 4371 fps= 46 q=-1.0 Lsize=    4497kB time=00:02:54.76 bitrate= 210.8kbits/s

real    1m34.318s
user    0m0.000s
sys     0m0.015s

Я могу снизить входную частоту кадров, что значительно ускоряет кодирование, но теперь продолжительность совсем отключена:

$ time ffmpeg -loop 1 -r 1 -i bravo.jpg -i alfa.flac -shortest fast.mp4
frame=  232 fps= 31 q=-1.0 Lsize=    2860kB time=00:03:50.00 bitrate= 101.9kbits/s

real    0m7.566s
user    0m0.000s
sys     0m0.015s

Могу ли я изменить свою команду, чтобы скорость кодирования была приемлемой, не изменяя длительность?

1 ответ1

2

Замените -shortest на -t 2:52.48 (т.е. желаемую продолжительность).

К сожалению, -shortest не совсем точен, так как он останавливается только на внутренних границах буфера (который может иметь очень большую продолжительность в случае статического зацикливания видео со скоростью 1 кадр / с).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .