Ошибка возврата конкатенации видео FFMPEG: `Ошибка повторной инициализации фильтров!`, `Неверный аргумент`,` Преобразование не выполнено! ` - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь объединить .mp4 файлы. Я использую fluent-ffmpeg и @ffmpeg-installer/ffmpeg Вот псевдокод:

let mergeClips = ffmpeg();
for (let i = 0; i < 5; i++) {
    await downloadVideo(newUrl, './testVideos/0/' + i + '.mp4');
    mergeClips = mergeClips.mergeAdd('./testVideos/0/' + i + '.mp4');
}
mergeClips.mergeToFile('compilation.mp4', './temp');

Это приводит к ошибкам. Ниже приведена команда, отправленная fluent-ffmpeg:

ffmpeg -i ./testVideos/0/0.mp4 -i ./testVideos/0/6.mp4 -i ./testVideos/0/14.mp4 -i ./testVideos/0/15.mp4 -y -filter_complex concat=n=4:v=1:a=0 ./testVideos/0/compilation.mp4

Когда я запускаю команду вручную, я получаю следующее:

PS C:\path> ffmpeg -i ./testVideos/0/0.mp4 -i ./testVideos/0/6.mp4 -i ./testVideos/0/14.mp4 -i ./testVideos/0/15.mp4 -y -filter_complex concat=n=4:v=1:a=0 ./testVideos/0/compilation.mp4
ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.1.1 (GCC) 20190807
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './testVideos/0/0.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.12.100
  Duration: 00:00:04.49, start: 0.000000, bitrate: 257 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 460x460, 254 kb/s, 22.05 fps, 100 tbr, 12800 tbn, 200 tbc (default)
    Metadata:
      handler_name    : VideoHandler
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from './testVideos/0/6.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.12.100
  Duration: 00:00:05.04, start: 0.000000, bitrate: 1088 kb/s
    Stream #1:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x404, 1086 kb/s, 24.01 fps, 100 tbr, 12800 tbn, 200 tbc (default)
    Metadata:
      handler_name    : VideoHandler
Input #2, mov,mp4,m4a,3gp,3g2,mj2, from './testVideos/0/14.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.12.100
  Duration: 00:00:26.99, start: 0.000000, bitrate: 52 kb/s
    Stream #2:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 250x444, 52 kb/s, 6 fps, 100 tbr, 12800 tbn, 200 tbc (default)
    Metadata:
      handler_name    : VideoHandler
Input #3, mov,mp4,m4a,3gp,3g2,mj2, from './testVideos/0/15.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.12.100
  Duration: 00:00:00.19, start: 0.000000, bitrate: 17599 kb/s
    Stream #3:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080, 17564 kb/s, 36.84 fps, 33.33 tbr, 12800 tbn, 200 tbc (default)
    Metadata:
      handler_name    : VideoHandler
Stream mapping:
  Stream #0:0 (h264) -> concat:in0:v0
  Stream #1:0 (h264) -> concat:in1:v0
  Stream #2:0 (h264) -> concat:in2:v0
  Stream #3:0 (h264) -> concat:in3:v0
  concat -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[Parsed_concat_0 @ 000001768445cf40] Input link in1:v0 parameters (size 720x404, SAR 0:1) do not match the corresponding output link in0:v0 parameters (460x460, SAR 0:1)     
[Parsed_concat_0 @ 000001768445cf40] Failed to configure output pad on Parsed_concat_0
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #3:0
Conversion failed!

Видео загружаются правильно.

Кто-нибудь знает, что здесь происходит?

...