FFmpeg изменяет битрейт на переменную при повторном смешивании - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь изменить .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.

...