Como adicionar uma trilha sonora adicional a um vídeo existente

16

Eu tenho um arquivo de vídeo MP4 e MKV que também possui sua própria faixa de áudio. Quero adicionar uma faixa adicional para cobrir outro idioma, como o Terminal ou a GUI estão disponíveis para inserir e sincronizar um arquivo MP3 no vídeo já existente, para que:

  • O vídeo mostra 2 faixas de áudio (a atual e a nova estão inserindo)
  • Opcionalmente, o vídeo mostra o nome das faixas
  • Posso sincronizar o novo áudio com o vídeo
  • Não substituo o áudio existente pelo novo
  • Mantenha a mesma qualidade de vídeo de antes
    (é um vídeo de 1080p com detalhes muito altos. Não é necessário mexer com isso, pois leva muito tempo para corrigi-lo)

Isso ajudaria, por exemplo, a adicionar trilhas sonoras de idiomas adicionais a um vídeo existente.

Luis Alvarado
fonte

Respostas:

6

SOMENTE MKV

GUI do mkvmerge do pacote mkvtoolnix-gui .

insira a descrição da imagem aqui

  • Clique em adicionar para selecionar os arquivos de vídeo e áudio que você deseja mesclar.
  • Na caixa Faixas, capítulos e tags :, selecione a nova faixa de áudio (no arquivo de áudio que você adicionou), e poderá definir o idioma (na guia Opções gerais da faixa ) e o atraso (na guia Opções específicas de formato ).
  • Defina o nome do arquivo de saída e clique em Iniciar muxing para salvar o arquivo de vídeo.

Você também pode remover faixas e definir a faixa de áudio padrão.

Eric Carvalho
fonte
Você sabe que eu tinha a ferramenta, mas não a usei até este ponto. Obrigado Eric.
Luis Alvarado
@LuisAlvarado Às vezes eu uso o avidemux, mas não consegui salvar arquivos com mais de uma faixa de áudio. Não é tão poderoso quanto o VirtualDub, mas é muito útil.
Eric Carvalho
Funciona como um encanto com arquivos MKV!
21714 Yanick Rochon
10

Por enquanto é isso que eu encontrei (ainda procurando pela maneira MKV de fazer isso):

SOMENTE MP4

Você precisaria primeiro instalar o gpacpacote:

sudo apt-get install gpac

Agora continue com o seguinte comando:

MP4Box -new -add OriginalMovie.mp4 -add Track2.mp3#audio:delay=300 Output.mp4

Onde

  • MP4Box é o comando para fazer isso e sim, é maiúsculo
  • O primeiro -newdirá ao MP4Box que um novo arquivo será criado. Você poderia colocar isso no final como "-new Output.mp4", mas eu queria colocar no começo.
  • O primeiro -addé adicionar o arquivo de vídeo original.
  • O segundo -addé adicionar a nova faixa que eu chamei de Track2.mp3. Pode ter qualquer outro nome.
  • A parte que tem isso #audio:delay=300é dizer ao MP4Box que essa nova faixa específica que estou adicionando é uma faixa de áudio e preciso adicionar um atraso de 300 ms.

Dessa forma, posso adicionar o vídeo original, inserir uma nova faixa e até controlar a sincronização. A melhor parte é que, como o MP4Box não toca na qualidade do vídeo, leva apenas alguns segundos para adicionar a faixa, para que eu possa testar rapidamente se o atraso do áudio é perfeito ou não.

Apenas por precaução, extraí o som de outro idioma como este:

avconv -i "AnotherSoundFile.mp4" Language.mp3

Isso me daria a faixa de som mp3 desse arquivo e, em seguida, insiro-a em outro arquivo como mencionei acima.

Luis Alvarado
fonte
Trabalho! Apenas funciona!
ademin 3/09/15
Para extrair, você também pode usar o MP4Box -raw 2 inputFile.mp4que extrairá a segunda faixa (geralmente faixa de áudio) de inputFile.mp4. Para verificar qual faixa é qual, use MP4Box -info inputFile.mp4e para obter mais informações sobre o uso preciso da faixaMP4Box -info 2 inputFile.mp4
Mr. P
1

você pode usar o Yamb para editar mp4, que é como mkvmerge GUI, mas depois para mp4box

ou você pode usar o MACHETE para editar arquivos MP4 usando uma GUI para adicionar / substituir áudio. Também pode editar o vídeo e editar outros formatos como o MKV, mas não é gratuito, custa US $ 19,00

jack
fonte
1

AMBOS MKV e MP4

Apenas tente usar avconv (o mesmo que ffmpeg)

avconv -i FIRST_INPUT_FILE -i SECOND_INPUT_FILE -c copy -map 0:v:1 -map 1:a:12 OUTPUT_FILE

-i arquivo de entrada INPUT_FILE - pode ser quase qualquer arquivo (vídeo e áudio)

-c copy copia faixas para a saída sem recodificá-las (mais rápido)

-map 0: v: 1 -map 1: a: 12 copia a 2ª faixa de vídeo do 1º arquivo E a 13ª faixa de áudio do 2º arquivo

( 0 (arquivo de entrada) : v (faixas de vídeo) : 1 (segunda faixa))

Exemplo:

avconv -i MY_MOVIE_3D.mp4 -i MY_MOVIE_WITH_DUBBING.avi -c copy -map 0 -map 1:a:0 OUTPUT_MOVIE.mp4

Este comando copia TODAS as faixas do formulário MY_MOVIE_3D.mp4 E a faixa de áudio do arquivo de entrada - MY_MOVIE_WITH_DUBBING.avi - para OUTPUT_MOVIE.mp4

Mr. P
fonte