FFmpeg converte áudio original em três diferentes

0

Eu quero converter o áudio do arquivo de vídeo, que está no formato DTS, para três tipos diferentes de AC3, um 640K, o segundo 448K e o último 192K. O DTS será removido e o vídeo será copiado. O contêiner permanecerá o mesmo.

Eu tentei isso até agora

ffmpeg.exe -i input.mkv -map 0:0 -map 0:1 -map 0:1 -map 0:1 -c:v copy -c:a:0 ac3 -center_mixlev 0.707 -ab 640k -metadata:s:a:0 language=eng -metadata:s:a:0 title="640" -c:a:1 ac3 -center_mixlev 0.707 -ab 448k -metadata:s:a:1 language=eng -metadata:s:a:1 title="448" -c:a:2 ac3 -b:a 192k -center_mixlev 0.707 -metadata:s:a:2 language=eng -metadata:s:a:2 title="192" output.mkv

e

ffmpeg.exe -i input.mkv -map 0:v -c:v copy -map 0:a -c:a:0 ac3 -center_mixlev 0.707 -ab 640k -metadata:s:a:0 language=eng -metadata:s:a:0 title="640" -map 0:a -c:a:1 ac3 -center_mixlev 0.707 -ab 448k -metadata:s:a:1 language=eng -metadata:s:a:1 title="448" -map 0:a -c:a:2 ac3 -b:a 192k -center_mixlev 0.707 -metadata:s:a:2 language=eng -metadata:s:a:2 title="192" output.mkv

Mas o arquivo resultante tem todos os três áudios no formato AC3, mas 192K (todos eles)

Obrigado antecipadamente.

    
por tom_len 23.06.2018 / 21:19

1 resposta

0

Use

ffmpeg.exe -i input.mkv -map 0:0 -map 0:1 -map 0:1 -map 0:1 -c:v copy -c:a ac3 -center_mixlev 0.707 -b:a:0 640k -metadata:s:a:0 language=eng -metadata:s:a:0 title="640" -b:a:1 448k -metadata:s:a:1 language=eng -metadata:s:a:1 title="448" -b:a:2 192k -metadata:s:a:2 language=eng -metadata:s:a:2 title="192" output.mkv

Como o codificador de áudio para todos os três fluxos é o mesmo, você precisa especificá-lo apenas uma vez. Mas os especificadores de fluxo para a taxa de bits de áudio devem ser totalmente qualificados, senão o último conjunto de valores (192k) será usado para cada codificação.

    
por 23.06.2018 / 21:49