Especificando diferentes perfis aac para diferentes fluxos de áudio no ffmpeg

0

Estou tentando gravar um vídeo com dois fluxos de áudio e comprimir o primeiro em estéreo a 48 kbps com codificação AAC HEv2, com o segundo em mono a 40 kbps usando HEv1. Meu código é essencialmente o seguinte:

set STREAM_01=-map 0:a:0 -b:a:0 48000 -ac 2 -c:a:0 libfdk_aac -profile:a aac_he_v2 
set STREAM_02=-map 0:a:1 -b:a:1 40000 -ac 1 -c:a:1 libfdk_aac -profile:a aac_he 
set SPECS=-ar 48000 -sample_fmt s16 -cutoff 20000
ffmpeg.exe -i input.mkv -map 0:v:0 -c:v copy %SPECS% %STREAM_01% %STREAM_02% output.mkv

Mas o programa apenas parece executar qualquer um dos dois perfis que foi especificado por último - ambos os fluxos saem HEv1 ou ambos saem HEv2. Isso é sem dúvida porque a instrução de perfil omite um especificador de fluxo, mas quando tento gravar as opções de perfil no formulário "-profile:a:1 aac_he_v2" ou "-profile:a:2 aac_he" recebo uma mensagem de erro "Erro ao abrir o codificador para o fluxo de saída # 0: 1. " O que estou perdendo aqui?

    
por Wally Walters 23.05.2017 / 01:11

1 resposta

0

aac_he_v2 codifica streams estéreo e a opção de layout do seu canal não é qualificada para stream.

set STREAM_01=-map 0:a:0 -b:a:0 48000 -ac:a:0 2 -c:a:0 libfdk_aac -profile:a:0 aac_he_v2 
set STREAM_02=-map 0:a:1 -b:a:1 40000 -ac:a:1 1 -c:a:1 libfdk_aac -profile:a:1 aac_he 
    
por 23.05.2017 / 08:50