Você pode definir codecs para fluxos individuais em avconv com -c: n - onde n é o número do fluxo. Digamos que seu fluxo AAC seja o fluxo 2 (assim, o terceiro fluxo no contêiner):
avconv -i input.mkv -c copy -c:2 ac3_fixed -b:2 448k output.mkv
Aqui está um rápido & amp; script sujo para encontrar o número do fluxo de um fluxo AAC e alimentá-lo no avconv:
#!/bin/bash
foo=$(avconv -i "" 2>&1 | grep aac | grep 5.1 | sed -e 's/ Stream #0.//' -e 's/(.*//')
avconv -i "" -c copy -c:$foo ac3_fixed -b:$foo 448k "AC3-"
exit 0
Isso não funcionará se você tiver mais de um fluxo AAC 5.1 e ele funcionará somente com nomes de arquivos que tenham espaços se você os citar. Para usá-lo, cole esse recado de código no gedit & amp; salve-o como 'aac-only-to-ac3', em algum lugar no seu $ PATH (como ~ / bin). Certifique-se de torná-lo executável.
Então, para usar o script,
aac-only-to-ac3 input.mkv
e para fazer todos os MKV em um diretório
for i in *mkv; do aac-only-to-ac3 "$i"; done