Tentei codificar stream de áudio em AAC com um modo de taxa de bits variável – segui o conselho de Configurações VBR do FFmpeg e alterei minha opção original -b:a 128k
para -q:a 1.3
neste comando original
ffmpeg -channel_layout stereo -i sc2.avs -b:a 128k -ar 24000 -ac 2 sc2.mp4
Mas eu ainda obtive uma constante taxa de bits de áudio.
Saída de MediaInfo:
Audio ID : 2 Format : AAC LC Format/Info : Advanced Audio Codec Low Complexity Codec ID : mp4a-40-2 Duration : 1 min 26 s Duration_LastFrame : -29 ms Bit rate mode : Constant Bit rate : 119 kb/s Channel(s) : 2 channels Channel layout : L R Sampling rate : 24.0 kHz Frame rate : 23.438 FPS (1024 SPF) Compression mode : Lossy Stream size : 1.23 MiB (8%) Default : Yes Alternate group : 1
O Any Video Converter (a versão anterior 3.5.8), que internamente usa FFmpeg, converta a mesma entrada no modo VBR:
Audio ID : 2 Format : AAC LC Format/Info : Advanced Audio Codec Low Complexity Codec ID : mp4a-40-2 Duration : 1 min 26 s Bit rate mode : Variable Bit rate : 75.3 kb/s Maximum bit rate : 142 kb/s Channel(s) : 2 channels Channel layout : L R Sampling rate : 24.0 kHz Frame rate : 23.438 FPS (1024 SPF) Compression mode : Lossy Stream size : 778 KiB (9%) Language : English Encoded date : UTC 2019-12-19 13:30:13 Tagged date : UTC 2019-12-19 13:30:13
Como alcançar a saída de áudio VBR?
(Eu preciso disso por causa da função Dissolve()
no arquivo de origem do AviSynth produz um som horrível para CBR, mas ” é bom para a saída de áudio VBR de Any Video Converter.)
Resposta
Acco rding ao wiki, é provável que você obtenha resultados piores com o codificador AAC padrão ao usar VBR. Veja: https://trac.ffmpeg.org/wiki/Encode/AAC
Uma sugestão seria usar libfdk_aac
. A outra seria demuxar o áudio, recodificá-lo usando um codificador diferente e, em seguida, remuxar o arquivo de volta para o vídeo usando ffmpeg.