Jeg prøvede at kode lydstream til AAC med en variabel bitrate-tilstand – jeg fulgte råd fra FFmpeg VBR-indstillinger og ændrede min oprindelige indstilling -b:a 128k
til -q:a 1.3
i denne originale kommando
ffmpeg -channel_layout stereo -i sc2.avs -b:a 128k -ar 24000 -ac 2 sc2.mp4
Men jeg opnåede stadig en konstant lydbithastighed.
Output 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 Any Video Converter (den gamle version 3.5.8), som internt bruger FFmpeg, konverter den samme indgang til VBR-tilstand:
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år jeg VBR-lydoutput?
(Jeg har brug for det på grund af Dissolve()
-funktionen i AviSynth-kildefilen producerer forfærdelig lyd til CBR, mens den ” s nice for Enhver Videokonverterers VBR lydudgang.)
Svar
Acco rding til wiki, vil du sandsynligvis få dårligere resultater med standard AAC-koderen, når du bruger VBR. Se: https://trac.ffmpeg.org/wiki/Encode/AAC
Et forslag ville være at bruge libfdk_aac
. Den anden ville være at demux lyden, genkode den ved hjælp af en anden encoder og derefter remux den fil tilbage til videoen ved hjælp af ffmpeg.