ffmpeg concat из mp4s прыгает и останавливается на несколько секунд на соединениях - PullRequest
1 голос
/ 16 мая 2019

Я использую ffmpeg для создания фрагментов 10-секундного видео в формате mp4 (h265). Я использую image2pipe, поскольку это, кажется, оказывает меньшее влияние на процессор, командная строка:

-y -threads 1 -framerate "& FrameRate &" -f image2pipe -i pipe: .jpg -vf format = yuv420p -c: v libx265 -preset ultrafast -crf 28 -vsync vfr "& strSaveDirectory

Затем я объединяю эти фрагменты видео, используя:

"- f concat -safe 0 -i" & strConcatAVIs & "-c copy" & outPutPath

Если я проигрываю все 10-секундные mp4-файлы, они кажутся законченными, но когда они объединяются в один файл, иногда возникает пауза при соединении на несколько секунд, а иногда видео переходит на 3 или 4 секунды на присоединиться.

Обычно это описание пары файлов:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Temp\testmp4\video_1_1_2_2019_5_13_13_15_10.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf58.20.100
  Duration: 00:00:09.85, start: 0.000000, bitrate: 225 kb/s
    Stream #0:0(und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv, progressive), 768x576 [SAR 1:1 DAR 4:3], 221 kb/s, 13 fps, 13 tbr, 13312 tbn, 13 tbc (default)
    Metadata:
      handler_name    : VideoHandler
-----------------------------------------------
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Temp\testmp4\video_1_1_2_2019_5_13_13_15_20.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf58.20.100
  Duration: 00:00:10.00, start: 0.000000, bitrate: 334 kb/s
    Stream #0:0(und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv, progressive), 768x576 [SAR 1:1 DAR 4:3], 330 kb/s, 13 fps, 13 tbr, 13312 tbn, 13 tbc (default)
    Metadata:
      handler_name    : VideoHandler

Должен быть указан как минимум один выходной файл

В моем файле 'strConcatAVIs' я попытался добавить правильную длительность, которая не сильно изменится, но если я изменю длительность на 14, 6, а не на 10, 10, которые являются правильными длительностями, в соединениях, которые паузы и ускорения он играет довольно гладко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...