DEV Community

૮༼⚆︿⚆༽つ
૮༼⚆︿⚆༽つ

Posted on

6 3

List of helpful FFMPEG command for checking capabilities

A lot of FFMPEG options are not in the documentations and only available to the specific build, hardware acceleration, or codecs. So I need a list of commands on how to show and search all available settings and options.

1. List all possible options of -filter_complex and -vf filter graph

ffmpeg -hide_banner -filters
Enter fullscreen mode Exit fullscreen mode
Filters:
 A = Audio input/output
 V = Video input/output
 N = Dynamic number and/or type of input/output
 | = Source or sink filter

 T.. = Timeline support
 .S. = Slice threading
 ..C = Command support
 ---
 ... filter_name            N->N       Description.
Enter fullscreen mode Exit fullscreen mode
1.2 Check filter details
ffmpeg -hide_banner -h filter=$fname
Enter fullscreen mode Exit fullscreen mode
Filter lowpass
  Description.
    Inputs:
       … (…)
    Outputs:
       … (…)
lowpass AVOptions:
  options         <type>     ..F....... Description (default or range value)
Enter fullscreen mode Exit fullscreen mode

2. List all hardware acceleration

ffmpeg -hide_banner -hwaccels
Enter fullscreen mode Exit fullscreen mode
Hardware acceleration methods:
vdpau
cuda
vaapi
qsv
drm
Enter fullscreen mode Exit fullscreen mode

3. List all encoders and/or decoders

ffmpeg -hide_banner -encoders
ffmpeg -hide_banner -decoders
Enter fullscreen mode Exit fullscreen mode
Encoders/Decoders:
 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
 ------
 ...... cname_hwaccel                 Description
Enter fullscreen mode Exit fullscreen mode
3.0 List all codecs
ffmpeg -hide_banner -codecs
Enter fullscreen mode Exit fullscreen mode
Codecs:
 D..... = Decoding supported
 .E.... = Encoding supported
 ..V... = Video codec
 ..A... = Audio codec
 ..S... = Subtitle codec
 ...I.. = Intra frame-only codec
 ....L. = Lossy compression
 .....S = Lossless compression
 ------
 ...... cname_hwaccel                 Description
Enter fullscreen mode Exit fullscreen mode
3.1 Check encoders details

(can list multiple encoders depend on hardware acceleration you have)

ffmpeg -hide_banner -h encoder=$cname_hwaccel
Enter fullscreen mode Exit fullscreen mode
Encoder libname [Description]:
    General capabilities: delay threads 
    Threading capabilities: auto
    Supported pixel formats: … … …
libname AVOptions:
  -option            <type>     .......... Description (default or range value)

 codec_name configuration using a :-separated list of key=value parameters


Encoder cname_hwaccel [Description]:
    General capabilities: delay hardware 
    Threading capabilities: none
    Supported hardware devices: …
    Supported pixel formats: … …
cname_hwaccel AVOptions:
  -option             <type>        E......... Description (default or range value)
Enter fullscreen mode Exit fullscreen mode
3.2 Check decoder details
ffmpeg -hide_banner -h decoder=$cname
Enter fullscreen mode Exit fullscreen mode
Decoder cname [Description]:
    General capabilities: dr1 delay threads 
    Threading capabilities: frame and slice
    Supported hardware devices: … … … 
cname Decoder AVOptions:
  -option         <type>    .D........ Description (default or range value)
Enter fullscreen mode Exit fullscreen mode

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more