Это мой файл MPEG:

Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 50000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 192 kb/s

и мне нужно замедлить его до 18 кадров в секунду.

Этот код работает, если это файл .avi, но почему-то он не работает для моего файла mpg.

ffmpeg -r 18 -i <inputfile.mpg> -c:v copy -an <output.mpg>

обработка файла выдает эти ошибки:

...
[mpeg @ 070774c0] buffer underflow st=0 bufi=303365 size=308506
[mpeg @ 070774c0] buffer underflow st=0 bufi=305406 size=308506
[mpeg @ 070774c0] packet too large, ignoring buffer limits to mux it
[mpeg @ 070774c0] buffer underflow st=0 bufi=305406 size=308506
[mpeg @ 070774c0] buffer underflow st=0 bufi=307447 size=308506
[mpeg @ 070774c0] packet too large, ignoring buffer limits to mux it
[mpeg @ 070774c0] buffer underflow st=0 bufi=307447 size=308506

и файл все еще на 25fps.

Что мне не хватает?

Связано ли это с этой ошибкой, которую я получил некоторое время назад:MPEG-1/2 does not support 15/1 fps?

Этот код изменяет fps, но перекодирует файл (и я все еще получаю какой-то packet too large, ignoring buffer limits to mux it предупреждения, но меньше)

ffmpeg -r 18 -i <inputfile.mpg> -c:v mpeg2video -pix_fmt yuv420p -b:v 50M -tune grain -an <output.mpg>

это дополнительное предупреждение о размере буфера, которое я получаю перекодировкой:

VBV buffer size not set, using default size of 230KB
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size

Спасибо.

0