Anexa arquivo de áudio a vídeos

1

Eu tenho os seguintes arquivos:

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)

Eu tenho que acrescentar os arquivos 02.mp4 e 03.mp4 a 01.mp4 ; tal que, após o primeiro vídeo terminar (em 00: 14: 21.42 ); o próximo arquivo (somente áudio presente, nenhum fluxo de vídeo) seria reproduzido (com vazio / branco / preto em segundo plano?). A duração do áudio é de aproximadamente 2 minutos após o qual o terceiro arquivo começa a ser reproduzido.

PS : Por favor, não sugira a criação de playlists. Eu quero um arquivo mkv / mp4 como resultado. O arquivo deve ser distribuído para várias outras pessoas e dizer a todos sobre a sequência, etc. é irritante

Eu brinquei com MKVToolNix e FFmpeg e conseguiu redimensionar e mesclar os dois arquivos de vídeo ( 01.mp4 e 03.mp4 ); mas ainda não tenho idéia de como proceder para inserir o fluxo de áudio com um quadro de vídeo em branco ...

FFmpeg information

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
por hjpotter92 09.12.2013 / 12:10

1 resposta

1

Eu acho que você pode usar a entrada lavfi aqui, com a cor do filtro. Aqui está um exemplo de comando:

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

Onde 1.mp4 e 2.mp4 são arquivos com vídeo, 3.wav é arquivo com áudio. O tamanho da entrada lavfi deve ser o mesmo que o tamanho de vídeo de 1.mp4 e 2.mp4. A duração da entrada lavfi deve ser a mesma que a duração do arquivo 3.wav.

Espero que ajude.

    
por 09.12.2013 / 13:35