Adicionando trilha sonora a um vídeo usando o FFMPEG

1

Em suma, quero mesclar o áudio de um vídeo com uma fonte de música (mp3, aac ...).

Eu tenho um arquivo de vídeo com som. Eu quero adicionar uma trilha sonora para que o áudio do arquivo de saída tenha voz e música.

Procurei várias soluções, mas tudo que encontrei foi como adicionar outra trilha sonora como opção entre audio1 e audio2. Aqui está uma amostra que encontrei:

ffmpeg -i input.mp4 -i music.mp3 -map 0 -map 1 \
   -vcodec copy -acodec copy merged.mp4

Além disso, quero que a música caiba na duração do vídeo (acho que a opção -shortest pode conseguir isso, confirme).

Muito obrigado!

    
por Nicolas Sursock 07.08.2013 / 11:12

1 resposta

1

Duas entradas estéreo para uma saída estéreo

Você pode usar o amerge filtro de áudio para combinar os fluxos de áudio em um fluxo e, em seguida, o pan filtro de áudio para combinar os 4 canais resultantes em 2 canais (estéreo). Isto supõe que ambas as entradas são estéreo:

ffmpeg -i input.mp4 -i music.mp3 -codec:v copy -codec:a aac -b:a 192k \
-strict experimental -filter_complex "amerge,pan=stereo:c0<c0+c2:c1<c1+c3" \
-shortest output.mp4
  • Como você só quer manipular o áudio -codec:v copy é usado para copiar o fluxo no vídeo .

  • -strict experimental ou -strict -2 é necessário para usar o codificador FFmpeg AAC nativo. Consulte também o Guia de codificação FFmpeg e AAC para outras opções e exemplos.

  • A sintaxe de pan c0<c0+c2:c1<c1+c3 pode ser traduzida como "para o canal de saída c0 (o canal esquerdo), combinar os canais esquerdos de ambas as entradas (canais de entrada c0 e c2 ) e para o canal de saída c1 (o canal direito), combine os canais corretos de ambas as entradas (canais de entrada c1 e c3 ) ".

  • -shortest fará a duração da saída igual à duração da entrada mais curta.

Duas entradas mono para uma saída estéreo

Isto é mais fácil, mas simplesmente copia o canal mono de cada entrada para cada canal da saída:

ffmpeg -i input.mp4 -i music.mp3 -codec:v copy -codec:a aac -b:a 192k \
-strict experimental -ac 2 -shortest output.mp4

Veja também

por 08.08.2013 / 20:27

Tags