Re-encode o áudio AC3 5.1 com taxa de bits variável usando o FFmpeg

0

O formato de áudio AC3 suporta codificação de taxa de bits variável?
Se sim, é possível usar a opção -vbr do FFmpeg para conseguir isso?

Eu gostaria de evitar a conversão de 5.1 para um estéreo de 2 canais porque li que o FFmpeg não produz bons resultados ao mixar os canais.

    
por GetFree 14.08.2015 / 21:57

1 resposta

3

Ignorando padrões

Oh, esse fio horrível e enganoso. O padrão ATSC A / 52A (AC-3) (ver seções 6.1.12 e 7.8, e também este post por pandy ) fornece informações detalhadas sobre como o downmixing adequado deve ocorrer para o AC-3.

Note que o canal Low Frequency Effects (LFE) pode ser omitido durante a mixagem, e eu acredito que é isso que o ffmpeg faz.

Alterando o método de downmix padrão

Se você quiser alterar o método downmix, tente o sugestão de pandy no mesmo tópico:

-af aformat=sample_fmts=fltp:channel_layouts=downmix

Eu não testei isso, então não tenho certeza se ele fará o que você quer.

Além disso, investigue a opção -dmix_mode private. Veja ffmpeg -h encoder=ac3 .

VBR

A opção -vbr é usada como uma opção de codificação "privada" para alguns codificadores, não como uma opção global:

Private options are specific to the given container, device or codec. These options are listed under their corresponding containers/devices/codecs.

... significando que o uso desta opção e o que ela faz podem variar dependendo do codificador; se o codificador ainda suportar essa opção (consulte ffmpeg -h encoder=<encoder name> ). Outros codificadores de áudio podem usar -qscale:a (ou -q:a ) para VBR.

O codificador ac3 ignora os -vbr e -qscale:a / -q:a .

    
por 15.08.2015 / 20:02