ffprobe about my input:

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

Filesize: 834K

I use this command to convert this vorbis to the aac:

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

I am not an audio expert and hear no difference with original aac, ok, quality is good.

Filesize: 1584kB

Hm, two times larger that original ogg. Just curious - what will be if I set maximum available quality?

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

Filesize: 1584kB

Hmm.. Why filesize is the same for max and min quality? And 1.5 MB is a correct size for three minutes of spoken AAC? I think that output file can be lighter. ffrobe for output aac shows:

22050 Hz, mono, fltp, 56 kb/s

Source of my information about commands and settings - official wiki.

I downloaded ffmpeg from https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz. Full output on every encoding:

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
      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':
    encoder         : Lavf57.71.100
    Stream #0:0: Audio: aac (LC), 22050 Hz, mono, fltp, 69 kb/s
      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

Thank you for help.


My shame - I read documentation inaccurately. The correct command is:

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

But correct UX for the case from my question is to show some notification for a user that such parameters will have no effect.

Now filesize is 1599kB, 76.8kbits/s. For 2m 50s. I thought that the size would be smaller...


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.