Я пытаюсь изменить .MKV
контейнер на .MP4
, используя FFmpeg без перекодирования видеопотока:
ffmpeg -i input.mkv -c copy output.mp4
Входной файл имеет постоянную частоту кадров:
Frame rate mode: Constant
Frame rate : 30.000 fps
Однако, выходной файл получил переменную частоту кадров согласно Mediainfo:
Frame rate mode : Variable
Frame rate : 30.000 fps
Minimum frame rate : 29.412 fps
Maximum frame rate : 30.303 fps
Общее количество кадров остается неизменным.
Выход из ffmpeg:
Output #0, mp4, to 'input.mp4':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 2560x1440 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 30 tbr, 16k tbn, 1k tbc (default)
Metadata:
DURATION : 00:05:00.766000000
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame= 9023 fps=0.0 q=-1.0 Lsize= 209201kB time=00:05:00.66 bitrate=5699.9kbits/s
video:209045kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.074948%
Можно ли установить постоянный битрейт для выхода? Я пробовал -vsync
и -r
, но, кажется, они игнорируются, когда установлено -c copy
.