VideoHelp Forum
+ Reply to Thread
Results 1 to 7 of 7
Thread
  1. Hello,
    do you know if there is a list with the minimum and maximum values of the VBR Quality parameter (-q:a) for each encoder of FFMPEG ?

    What were they thinking of when they did not publish this ?
    Quote Quote  
  2. Member
    Join Date
    Sep 2007
    Location
    Europe
    Search PM
    AFAIK it only works for mp3. You can set it from 1-10. You can check it out on the final file size with e.g. MediaInfo. Values higher than 10 don't give any change.
    Quote Quote  
  3. from my tests i found out that it also works for

    aac,libvorbis,speex.

    what's the point of having a parameter if it does not work for all lossy encoders.

    if it does not work why don't they just print a message that this parameter does not work for this encoder !!
    Quote Quote  
  4. Member
    Join Date
    Sep 2007
    Location
    Europe
    Search PM
    Originally Posted by alexander121 View Post
    from my tests i found out that it also works for

    aac,libvorbis,speex.
    How did you check that out! I tried it on AAC but didn't see any change in file size like I see with mp3.

    what's the point of having a parameter if it does not work for all lossy encoders.

    if it does not work why don't they just print a message that this parameter does not work for this encoder !!
    FFmpeg passes through a lot without any notice that it isn't applicable on the selected codec. FFmpeg is mainly a sandbox for developers at which we are allowed to play with their built castles.

    Aside from that, most audio codecs come from "third party" developers. If their code doesn't support a quality option, FFmpeg cannot offer it with the -q:a command.

    Chris
    Quote Quote  
  5. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    Does CABAC work for MPEG2? No. Does CRF work for MPEG1? No. Does HBR work for MP2? No.

    Each type of encoder (lossy or lossless) has parameters that are particular to it, or to its class/family. Many parameters are not universal. Doesn't mean there is no point to having it available for the codec it DOES work with.

    Should the documentation be better? SURE! Since those FOSS things are often volunteer efforts, why don't you agree to take that on?! No? Maybe that's because you are busy like the rest of us and have to prioritize (which is what they're doing).


    Scott
    Quote Quote  
  6. actually i tried again the q:a parameter and it indeed works.

    the file sizes differ.

    here are the results..

    regarding my comments for ffmpeg i think they should charge Google more for having such a great software used by Google Chrome


    Code:
    c:\1>ffmpeg -i natgeo.mp4 -vn -strict -2 -c:a aac -q:a 0 a.aac
    ffmpeg version N-68625-g1728659 Copyright (c) 2000-2014 the FFmpeg developers
      built on Dec 19 2014 22:02:36 with gcc 4.9.2 (GCC)
      configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
    isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
    le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
    enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-lib
    modplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
    b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
    r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --en
    able-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
     --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
    libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
      libavutil      54. 15.100 / 54. 15.100
      libavcodec     56. 16.100 / 56. 16.100
      libavformat    56. 16.101 / 56. 16.101
      libavdevice    56.  3.100 / 56.  3.100
      libavfilter     5.  4.100 /  5.  4.100
      libswscale      3.  1.101 /  3.  1.101
      libswresample   1.  1.100 /  1.  1.100
      libpostproc    53.  3.100 / 53.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'natgeo.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 1
        compatible_brands: isom
        creation_time   : 2012-07-09 11:58:52
      Duration: 00:01:00.29, start: 0.000000, bitrate: 1932 kb/s
        Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709/
    unknown/unknown), 720x406, 1800 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default)
        Metadata:
          creation_time   : 2012-07-08 08:37:43
          handler_name    : Video
        Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, flt
    p, 128 kb/s (default)
        Metadata:
          creation_time   : 2012-07-08 08:37:49
          handler_name    : GPAC ISO Audio Handler
    File 'a.aac' already exists. Overwrite ? [y/N] y
    Output #0, adts, to 'a.aac':
      Metadata:
        major_brand     : isom
        minor_version   : 1
        compatible_brands: isom
        encoder         : Lavf56.16.101
        Stream #0:0(eng): Audio: aac, 48000 Hz, stereo, fltp, 128 kb/s (default)
        Metadata:
          creation_time   : 2012-07-08 08:37:49
          handler_name    : GPAC ISO Audio Handler
          encoder         : Lavc56.16.100 aac
    Stream mapping:
      Stream #0:1 -> #0:0 (aac (native) -> aac (native))
    Press [q] to stop, [?] for help
    size=     980kB time=00:01:00.28 bitrate= 133.2kbits/s
    video:0kB audio:961kB subtitle:0kB other streams:0kB global headers:0kB muxing o
    verhead: 2.011527%
    
    c:\1>dir a.aac
     Volume in drive C has no label.
     Volume Serial Number is A668-762F
    
     Directory of c:\1
    
    03/03/2015  08:36 PM         1,003,569 a.aac
                   1 File(s)      1,003,569 bytes
                   0 Dir(s)  160,578,973,696 bytes free
    
    c:\1>ffmpeg -i natgeo.mp4 -vn -strict -2 -c:a aac -q:a 5 a.aac
    ffmpeg version N-68625-g1728659 Copyright (c) 2000-2014 the FFmpeg developers
      built on Dec 19 2014 22:02:36 with gcc 4.9.2 (GCC)
      configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
    isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
    le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
    enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-lib
    modplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
    b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
    r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --en
    able-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
     --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
    libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
      libavutil      54. 15.100 / 54. 15.100
      libavcodec     56. 16.100 / 56. 16.100
      libavformat    56. 16.101 / 56. 16.101
      libavdevice    56.  3.100 / 56.  3.100
      libavfilter     5.  4.100 /  5.  4.100
      libswscale      3.  1.101 /  3.  1.101
      libswresample   1.  1.100 /  1.  1.100
      libpostproc    53.  3.100 / 53.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'natgeo.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 1
        compatible_brands: isom
        creation_time   : 2012-07-09 11:58:52
      Duration: 00:01:00.29, start: 0.000000, bitrate: 1932 kb/s
        Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709/
    unknown/unknown), 720x406, 1800 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default)
        Metadata:
          creation_time   : 2012-07-08 08:37:43
          handler_name    : Video
        Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, flt
    p, 128 kb/s (default)
        Metadata:
          creation_time   : 2012-07-08 08:37:49
          handler_name    : GPAC ISO Audio Handler
    File 'a.aac' already exists. Overwrite ? [y/N] y
    Output #0, adts, to 'a.aac':
      Metadata:
        major_brand     : isom
        minor_version   : 1
        compatible_brands: isom
        encoder         : Lavf56.16.101
        Stream #0:0(eng): Audio: aac, 48000 Hz, stereo, fltp, 128 kb/s (default)
        Metadata:
          creation_time   : 2012-07-08 08:37:49
          handler_name    : GPAC ISO Audio Handler
          encoder         : Lavc56.16.100 aac
    Stream mapping:
      Stream #0:1 -> #0:0 (aac (native) -> aac (native))
    Press [q] to stop, [?] for help
    size=    1438kB time=00:01:00.28 bitrate= 195.4kbits/s
    video:0kB audio:1419kB subtitle:0kB other streams:0kB global headers:0kB muxing
    overhead: 1.362200%
    
    c:\1>dir a.aac
     Volume in drive C has no label.
     Volume Serial Number is A668-762F
    
     Directory of c:\1
    
    03/03/2015  08:37 PM         1,472,512 a.aac
                   1 File(s)      1,472,512 bytes
                   0 Dir(s)  160,578,494,464 bytes free
    Quote Quote  
  7. Member
    Join Date
    Sep 2007
    Location
    Europe
    Search PM
    Originally Posted by alexander121 View Post
    actually i tried again the q:a parameter and it indeed works.

    the file sizes differ.
    Ok! You use the internal experimental aac encoder. Good to know it works.

    I used libvo_aacenc which seems to not support this feature (unless I've missed something).

    Chris
    Quote Quote  
Visit our sponsor! Try DVDFab and backup Blu-rays!