1

У меня есть следующие файлы:

01.mp4

G:\>ffmpeg -i 01.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '01.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.63.104
  Duration: 00:14:21.42, start: 0.000000, bitrate: 3746 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720, 3616 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(unk): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 123 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

02.mp4

G:\>ffmpeg -i 02.mp4    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '02.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isom
    creation_time   : 2013-12-06 17:49:10
    encoder         : FAAC 1.26.1 (Apr 29 2008) UNSTABLE
  Duration: 00:01:21.75, start: 0.023220, bitrate: 120 kb/s
    Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 119 kb/s (default)
    Metadata:
      creation_time   : 2013-12-06 17:49:10

03.mp4

G:\>ffmpeg -i 03.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '03.mp4':
  Metadata:
    major_brand     : M4V
    minor_version   : 0
    compatible_brands: M4V M4A mp42isom
  Duration: 00:20:31.98, start: 0.000000, bitrate: 1928 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 1796 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc (default)
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)

Я должен добавить файлы 02.mp4 и 03.mp4 к 01.mp4 ; такой, что после первого видео заканчивается (в 00:14:21.42); будет воспроизводиться следующий файл (только аудио присутствует, без видеопотока) (с пустым / белым / черным фоном?). Продолжительность звука составляет ~ 2 минуты, после чего начинает воспроизводиться третий файл.

PS: Пожалуйста, не предлагайте создавать плейлисты. Я хочу один файл MKV / MP4 в результате. Файл должен быть разослан другим людям, и рассказывать всем о последовательности и т.д. Утомительно

Я играл с MKVToolNix и FFmpeg и сумел изменить размеры и объединить два видеофайла (01.mp4 и 03.mp4); но я до сих пор не знаю, как приступить к вставке аудиопотока с пустым видеокадром ...


FFmpeg информация

ffmpeg version N-58869-gae33007 Copyright (c) 2000-2013 the FFmpeg developers
  built on Dec  7 2013 22:01:45 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 56.100 / 52. 56.100
  libavcodec     55. 45.100 / 55. 45.100
  libavformat    55. 22.100 / 55. 22.100
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     3. 92.100 /  3. 92.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100

1 ответ1

1

Я думаю, что вы можете использовать ввод lavfi здесь, с фильтром цвета. Вот пример команды:

ffmpeg -i 1.mp4 -i 2.mp4 -i 3.wav -f lavfi -i "color=black:size=1920x1080:duration=40" \
-filter_complex "[0:v][1:v][3:v]concat=n=3[out_video];[0:a][1:a][2:a]concat=n=3:v=0:a=1[out_audio]" \
-y -map [out_audio] -map [out_video] out.mp4

Где 1.mp4 и 2.mp4 - файлы с видео, 3.wav - файл с аудио. Размер входа lavfi должен совпадать с размером видео 1.mp4 и 2.mp4. Продолжительность ввода lavfi должна совпадать с продолжительностью файла 3.wav.

Надеюсь, поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .