Como remodificar o áudio em lote de arquivos .MOV?

0

Eu tenho cerca de cem arquivos de vídeo em casa que estou recomprimindo para fins de arquivamento. Eu quero convertê-los todos para x264 usando HandBrake, mas eu tenho um problema com o áudio. Todos seguem este formato:

  • Faixa de vídeo: DV-PAL entrelaçado 720x576
  • Faixa de áudio: Inteiro de 16 bits Mono (esquerda), 48kHz
  • Faixa de áudio: Inteiro de 16 bits Mono (à direita), 48kHz

Quando eu os adiciono ao HandBrake, ele só pode escolher uma dessas faixas de áudio para incluir na conversão, para que um canal de áudio seja perdido. Eu preciso de uma maneira para:

  • emparelhe as duas faixas de áudio como estéreo para que o HandBrake reconheça ambas as faixas como duas metades de um todo, ou
  • substitua as duas faixas por uma faixa estéreo.

Eu preciso automatizar este processo sem recomprimir o vídeo a menos que ele execute a mesma função do HandBrake, já que muitos dos vídeos são muito longos, então demoraria muito tempo para compactá-los duas vezes.

Até agora eu estou inclinado para a segunda opção. Eu consegui em lote todo o áudio como arquivos WAV estéreo, então eu tenho uma pasta cheia de vídeos originais com arquivos de áudio correspondentes com o mesmo nome.

Estou usando o QuickTime Pro 7 no Mac OS 10.10, mas posso inicializar no Windows 7, se necessário. Eu não tenho nenhum software de processamento de AV instalado no lado do Windows. Não sou experiente em linha de comando, mas estou disposto a aprender se isso ajudará a resolver o problema. Quais devem ser meus próximos passos?

EDIT: Para quem lê isso com um problema semelhante, minha solução envolveu usar o código abaixo para criar WAVs estéreo a partir dos arquivos de origem, e depois usar o QuickTime Player 7 Pro para adicionar esses WAVs aos arquivos de origem e excluir o original faixas de áudio. Isso resultou nos MOVs com uma trilha de vídeo e uma faixa de áudio estéreo. No entanto, o HandBrake ainda permitiria que eu emitisse áudio mono a partir desses arquivos de origem, por motivos que não consigo entender, então ainda estou presa.

    
por Dion 17.03.2018 / 13:08

1 resposta

1

Você pode fazer um bash para loop no macOS:

mkdir outputs
for f in *.mov; do ffmpeg -i "$f" -filter_complex "[0:a:0][0:a:1]amerge=inputs=2[a]" -map 0:v -map "[a]" -c:v copy -ac 2 "outputs/$f"; done
  • Isso pressupõe que o diretório atual contém todos os vídeos a serem processados.

  • O filtro amerge é usado para mesclar os dois fluxos de áudio em um.

  • A opção -ac 2 é supérflua neste caso, mas ela fará o downmix da saída para estéreo se os fluxos de áudio de entrada forem estéreo. Caso contrário, uma saída de 4 canais seria criada.

  • O vídeo é copiado em fluxo .

por 19.03.2018 / 00:21