VBR-Kodierung mit nativem ffmpeg-AAC-Codec

VBR-Kodierung mit nativem ffmpeg-AAC-Codec

Ich habe ffmpeg v4 aus dem Ubuntu-Launchpad- ppa:jonathonf/ffmpeg-4Repository installiert, aber der Codec ist nicht libfdk_aacenthalten:

$ ffmpeg -version | grep -i aac
$

BEARBEITEN 1: ffmpeg AAC-Encoder auf meinem System:

$ ffmpeg -encoders | egrep -i "aac| ="
 V..... = Video
 A..... = Audio
 S..... = Subtitle
 .F.... = Frame-level multithreading
 ..S... = Slice-level multithreading
 ...X.. = Codec is experimental
 ....B. = Supports draw_horiz_band
 .....D = Supports direct rendering method 1
 A..... aac                  AAC (Advanced Audio Coding)
$

Also muss ich den nativen AAC-Codec von ffmpeg verwenden.

Ich habe es mit dem -vbrArgument mit einem Wert von 1 bis 5 versucht, aber die resultierende Bitrate ändert sich nicht.

EDIT2: Ich habe die Dokumentation dieses Encoders gefunden:

$ ffmpeg -hide_banner -h encoder=aac 
Encoder aac [AAC (Advanced Audio Coding)]:
    General capabilities: delay small 
    Threading capabilities: none
    Supported sample rates: 96000 88200 64000 48000 44100 32000 24000 22050 16000 12000 11025 8000 7350
    Supported sample formats: fltp
AAC encoder AVOptions:
  -aac_coder         <int>        E...A...... Coding algorithm (from 0 to 2) (default fast)
     anmr            0            E...A...... ANMR method
     twoloop         1            E...A...... Two loop searching method
     fast            2            E...A...... Default fast search
  -aac_ms            <boolean>    E...A...... Force M/S stereo coding (default auto)
  -aac_is            <boolean>    E...A...... Intensity stereo coding (default true)
  -aac_pns           <boolean>    E...A...... Perceptual noise substitution (default true)
  -aac_tns           <boolean>    E...A...... Temporal noise shaping (default true)
  -aac_ltp           <boolean>    E...A...... Long term prediction (default false)
  -aac_pred          <boolean>    E...A...... AAC-Main prediction (default false)
  -aac_pce           <boolean>    E...A...... Forces the use of PCEs (default false)

$

Wie kann ich mit dem nativen Encoder eine VBR-AAC-Kodierung durchführen ffmpeg?

Antwort1

-vbrist eine private Option für den Encoder libfdk_aac und daher für den nativen FFmpeg AAC-Encoder nicht verfügbar.

EntsprechendFFmpeg Wiki: AAC

Variable Bitrate (mit -q:a):

ffmpeg -i input.wav -c:a aac -q:a 2 output.m4a

Der effektive Bereich -q:aliegt bei etwa 0,1 bis 2. Dieser VBR ist experimentell und liefert wahrscheinlich noch schlechtere Ergebnisse als der CBR.

Ich habe diese Wiki-Informationen nicht überprüft.

verwandte Informationen