FFmpeg: áudio falado de ogg vorbis para aac VBR: os modos 1-5 têm efeito zero

0

ffprobe sobre minha entrada:

  Duration: 00:02:50.54, start: 0.000000, bitrate: 40 kb/s
    Stream #0:0: Audio: vorbis, 22050 Hz, mono, fltp, 35 kb/s

Tamanho do arquivo: 834K

Eu uso este comando para converter este vorbis para o aac:

ffmpeg -i input.ogg -vbr 1 output.aac

Eu não sou um especialista em áudio e não ouço nenhuma diferença com o aac original, ok, a qualidade é boa.

Tamanho do arquivo: 1584kB

Hm, duas vezes maior que ogg original. Apenas curioso - o que será se eu definir a máxima qualidade disponível?

ffmpeg -i input.ogg -vbr 5 output.aac

Tamanho do arquivo: 1584kB

Hmm .. Por que o tamanho do arquivo é o mesmo para a qualidade máxima e mínima? E 1,5 MB é um tamanho correto por três minutos de AAC falado? Eu acho que o arquivo de saída pode ser mais leve. ffrobe para saída aac mostra:

22050 Hz, mono, fltp, 56 kb/s

Fonte das minhas informações sobre comandos e configurações - wiki oficial .

Eu baixei o ffmpeg do link . Saída completa em todas as codificações:

fmpeg version 3.3.4-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 6.4.0 (Debian 6.4.0-4) 20170820
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Input #0, ogg, from 'merged_by_ffmpeg.ogg':
  Duration: 00:02:50.54, start: 0.000000, bitrate: 40 kb/s
    Stream #0:0: Audio: vorbis, 22050 Hz, mono, fltp, 35 kb/s
    Metadata:
      ENCODER         : Lavf57.71.100
Codec AVOption vbr (Variable bit rate mode) specified for output file #0 (output_ffmpeg.aac) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
  Stream #0:0 -> #0:0 (vorbis (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, adts, to 'output_ffmpeg.aac':
  Metadata:
    encoder         : Lavf57.71.100
    Stream #0:0: Audio: aac (LC), 22050 Hz, mono, fltp, 69 kb/s
    Metadata:
      encoder         : Lavc57.89.100 aac
size=    1584kB time=00:02:50.58 bitrate=  76.1kbits/s speed=53.5x
video:0kB audio:1559kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.611874%
[aac @ 0x4321800] Qavg: 2788.377

Obrigado pela ajuda.

    
por Vitaly Zdanevich 18.09.2017 / 15:15

1 resposta

0

Minha pena - eu li a documentação de forma imprecisa. O comando correto é:

ffmpeg -i input.ogg -q:a 1 output.aac

Mas a UX correta para o caso da minha pergunta é para mostrar alguma notificação para um usuário de que esses parâmetros não terão efeito.

Agora o tamanho do arquivo é 1599kB, 76.8kbits / s. Por 2m 50s. Eu pensei que o tamanho seria menor ...

    
por 18.09.2017 / 16:30

Tags