Próbowałem zakodować strumień audio do formatu AAC w trybie zmiennej bitrate – postępowałem zgodnie z radą z Ustawienia FFmpeg VBR i zmieniłem moją oryginalną opcję -b:a 128k
na -q:a 1.3
w tym oryginalnym poleceniu
ffmpeg -channel_layout stereo -i sc2.avs -b:a 128k -ar 24000 -ac 2 sc2.mp4
Ale nadal uzyskałem stałą szybkość transmisji dźwięku.
Dane wyjściowe z 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 (stara wersja 3.5.8), który wewnętrznie używa FFmpeg, przekonwertuj to samo wejście w tryb 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
Jak dotrzeć do wyjścia audio VBR?
(Potrzebuję go, ponieważ funkcja Dissolve()
w pliku źródłowym AviSynth generuje okropny dźwięk dla CBR, podczas gdy ” jest fajny dla wyjścia audio VBR Any Video Converter.)
Odpowiedź
Acco Po wejściu na wiki prawdopodobnie uzyskasz gorsze wyniki z domyślnym koderem AAC podczas korzystania z VBR. Zobacz: https://trac.ffmpeg.org/wiki/Encode/AAC
Jedną z sugestii byłoby użycie libfdk_aac
. Drugim byłoby zdemuksowanie dźwięku, ponowne zakodowanie go przy użyciu innego kodera, a następnie ponowne przeniesienie tego pliku z powrotem do wideo przy użyciu ffmpeg.