Codificación VBR con códec AAC nativo ffmpeg

Codificación VBR con códec AAC nativo ffmpeg

Instalé ffmpeg v4 desde el ppa:jonathonf/ffmpeg-4repositorio del launchpad de Ubuntu pero no tiene el libfdk_aaccódec incluido:

$ ffmpeg -version | grep -i aac
$

EDITAR 1: codificadores ffmpeg AAC en mi sistema:

$ 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)
$

Entonces, tengo que usar el códec AAC nativo ffmpeg.

Lo probé con el -vbrargumento con un valor del 1 al 5, pero la tasa de bits del resultado no cambia.

EDIT2: encontré la documentación de ese codificador:

$ 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)

$

¿Cómo puedo codificar VBR AAC con el ffmpegcodificador nativo?

Respuesta1

-vbres una opción privada para el codificador libfdk_aac, por lo que no está disponible para el codificador nativo FFmpeg AAC.

De acuerdo aWiki FFmpeg: AAC

Velocidad de bits variable (usando -q:a):

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

El rango efectivo -q:aes de alrededor de 0,1-2. Este VBR es experimental y es probable que obtenga resultados aún peores que el CBR.

No verifiqué esa información wiki.

información relacionada