Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: ffmpeg new syntax

  1. #1
    Join Date
    Jul 2009
    Location
    CyberspacEastEngland
    Beans
    Hidden!
    Distro
    Ubuntu 14.04 Trusty Tahr

    ffmpeg new syntax

    ffmpeg seem to have a new syntax/glossary these days


    things like -acodec and -vcodec have been replaced by -c:a and the like


    where can one find a "translating manual" or a chart to show equivalences ?

    and how much has changed? thanx for all clear explanations
    Last edited by shantiq; December 24th, 2012 at 12:07 PM.
    Linux is Latin for off-the-beaten-track [◄►] ● Is there Voodoo in the machine?
    ShanArt ● Mark as SolvedXmms

  2. #2
    Join Date
    Jul 2012
    Beans
    315
    Distro
    Xubuntu 12.04 Precise Pangolin

    Re: ffmpeg new syntax

    From what I can gather the main ones are:

    acodec > c:a
    vcodec > c:v

    audio bitrate > b:a
    video bitrate > b:v

    Don't think much else has changed in this area, though I am sure "FOM" will be along with help. ffmpeg documentation is, as usual, terse and sparse with such details. it would be useful to gather all the recent changes and get them into the http://ubuntuforums.org/showthread.php?t=2096866 thread
    The best things in life are free, so what are we paying for?

  3. #3
    Join Date
    Jul 2009
    Location
    CyberspacEastEngland
    Beans
    Hidden!
    Distro
    Ubuntu 14.04 Trusty Tahr

    Re: ffmpeg new syntax

    thank you Merratic for this


    yes i simply wonder how extensive it all is... maybe just those


    we need to have it all in those guides there for easy universal access


    i have seen it written in the "new way" here and there and my question was triggered by FOM giving me this

    ffmpeg -i input -c:a libfdk_aac -profile:a aac_he_v2 -vbr 1 -afterburner 1 output


    which I at first thought was in sanskrit [but works very well]
    Last edited by shantiq; December 24th, 2012 at 01:04 PM.
    Linux is Latin for off-the-beaten-track [◄►] ● Is there Voodoo in the machine?
    ShanArt ● Mark as SolvedXmms

  4. #4
    Join Date
    Dec 2006
    Beans
    6,935

    Re: ffmpeg new syntax

    The man page holds some treasures as well as some basics. This one for instance:

    Code:
    andrew@skamandros~$ ffmpeg -h encoder=libopus 2>/dev/null
    Encoder libopus [libopus Opus]:
        Supported sample rates: 48000 24000 16000 12000 8000
        Supported sample formats: s16 flt
        Supported channel layouts: mono stereo 3.0 quad 5.0 5.1 6.1 7.1
    libopus AVOptions:
    -application       <int>        E...A. Intended application type (from 2048 to 2051)
       voip                         E...A. Favor improved speech intelligibility
       audio                        E...A. Favor faithfulness to the input
       lowdelay                     E...A. Restrict to only the lowest delay modes
    -frame_duration    <float>      E...A. Duration of a frame in milliseconds (from 2.5 to 60)
    -packet_loss       <int>        E...A. Expected packet loss percentage (from 0 to 100)
    -vbr               <int>        E...A. Variable bit rate mode (from 0 to 2)
       off                          E...A. Use constant bit rate
       on                           E...A. Use variable bit rate
       constrained                  E...A. Use constrained VBR
    wll worth a look for the basic syntax as well
    You think that's air you're breathing now?

  5. #5
    Join Date
    Oct 2010
    Location
    London
    Beans
    481
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: ffmpeg new syntax

    Generally, things that used to be prefaced with a* or v* have changed to *:a or *:v. So There's the examples Merrattic has given, then things like absf have been changed to bsf:a (though the old way of doing it still works, I assume they'll take that out eventually).

    BTW, you can specify individual output streams by using their stream number. Let's say you're converting something with one video (stream 0) and two audio (1 and 2) streams. -c:v will target all vidoe streams, -c:a will target all audio streams, -c:0 will target the first stream (video in this case), and -c:a:0 will target the first audio stream. This can be generally used for all the options that use the -option:stream syntax.

  6. #6
    Join Date
    Jul 2009
    Location
    CyberspacEastEngland
    Beans
    Hidden!
    Distro
    Ubuntu 14.04 Trusty Tahr

    Re: ffmpeg new syntax

    you can specify individual output streams by using their stream number. Let's say you're converting something with one video (stream 0) and two audio (1 and 2) streams. -c:v will target all vidoe streams, -c:a will target all audio streams, -c:0 will target the first stream (video in this case), and -c:a:0 will target the first audio stream. This can be generally used for all the options that use the -option:stream syntax.


    nice!
    Linux is Latin for off-the-beaten-track [◄►] ● Is there Voodoo in the machine?
    ShanArt ● Mark as SolvedXmms

  7. #7
    Join Date
    Sep 2006
    Beans
    3,490

    Re: ffmpeg new syntax

    Quote Originally Posted by shantiq View Post
    ffmpeg seem to have a new syntax/glossary these days

    things like -acodec and -vcodec have been replaced by -c:a and the like

    how much has changed?
    ffmpeg will give suggestions for many of the new aliases (in a brown color in my console), and some of the old options should still work as expected for now. Some newish stuff:

    • Option placement is more strict and consistent, so it is important to know the difference between input and output options since all options will be applies to the following input or output:
      Code:
      ffmpeg [global options] [input options] -i input [output options] output
      Global options include "-y", "-n", "-stats", etc. See "man ffmpeg" command to see what options show "(global)" next to the option name.




    • The "-map" option is much more powerful and useful allowing for the use of stream specifiers (make sure to read that link) as evilsoup has mentioned, and can also accept "negative mapping" to exclude specific streams. The new functionality has made the crappy, old -newvideo/-newaudio/-newsubtitle options obsolete and depreciated.


    • "-filter_complex" is used instead of "-vf" when you want to use filter(s) with multiple inputs, such as with overlay, to create a complex filtergraph, as opposed to a simple filtergraph which involves one input and one output.


    Other stuff:
    • -vcodec, -acodec, -scodec = -codec/-c (uses stream specifiers as in -codec:v or -c:v)
    • -vf = -filter (uses stream specifiers as in -filter:v)
    • -vframes, -aframes = -frames (uses stream specifiers)
    • -vtag, -atag = -tag (uses stream specifiers)
    • -qscale = -qscale:v/-q:v, -qscale:a/-q:a (uses stream specifiers)
    • -intra = -g 0
    • My boiler quit working yesterday. It is now 47°F/8°C indoors.
    Last edited by FakeOutdoorsman; December 25th, 2012 at 11:15 PM.

  8. #8
    Join Date
    Dec 2006
    Beans
    6,935

    Re: ffmpeg new syntax

    Quote Originally Posted by FakeOutdoorsman View Post
    My boiler quit working yesterday. It is now 47°F/8°C indoors.
    Mid-summer here 40°C the other day; my brand new AMD 8350 + FFmpeg conversions heat my little room up a little too much . Converting Decay for tv playback atm: 'The greatest discovery in physics could be our last.....'.
    You think that's air you're breathing now?

  9. #9
    Join Date
    Jul 2009
    Location
    CyberspacEastEngland
    Beans
    Hidden!
    Distro
    Ubuntu 14.04 Trusty Tahr

    Re: ffmpeg new syntax

    thank you ... so many changes really

    sorry about that
    My boiler quit working yesterday
    Linux is Latin for off-the-beaten-track [◄►] ● Is there Voodoo in the machine?
    ShanArt ● Mark as SolvedXmms

  10. #10
    Join Date
    Mar 2008
    Location
    PA
    Beans
    101
    Distro
    Ubuntu Studio 11.04 Natty Narwhal

    Re: ffmpeg new syntax

    Which ffmpeg version? I have not upgraded since Ubuntu Studio Natty. So I assume this won't apply to me?

Page 1 of 2 12 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •