Jeg prøvde å kode lydstrøm til AAC med en variabel bitrate-modus – jeg fulgte rådene fra FFmpeg VBR-innstillinger og endret mitt opprinnelige alternativ -b:a 128k
til -q:a 1.3
i denne originale kommandoen
ffmpeg -channel_layout stereo -i sc2.avs -b:a 128k -ar 24000 -ac 2 sc2.mp4
Men jeg fikk likevel en konstant lydbithastighet.
Utgang fra 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
Any Video Converter (den gamle versjonen 3.5.8), som internt bruker FFmpeg, konverter samme inngang til VBR-modus:
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
Hvordan nå VBR-lydutgang?
(Jeg trenger det på grunn av Dissolve()
-funksjonen i AviSynth-kildefilen gir fryktelig lyd for CBR, mens den » er fint for enhver videokonverterers VBR-lydutgang.)
Svar
Acco når du går til wiki, vil du sannsynligvis få dårligere resultater med standard AAC-koderen når du bruker VBR. Se: https://trac.ffmpeg.org/wiki/Encode/AAC
Et forslag vil være å bruke libfdk_aac
. Den andre ville være å demux lyden, kode den på nytt ved hjelp av en annen koder, og deretter remux den filen tilbake til videoen ved hjelp av ffmpeg.