ffmpeg 查看滤镜选项参数,编解码器参数

在学习一下ffmpeg滤镜的使用,无奈滤镜种类繁多,并且每一个滤镜其命令行支持的参数也是各种各样,当然网上也可以找到很多关于常用滤镜的参数的解释,既然支持这些参数,那么源码中肯定是有对这些参数进行唯一的解析的,我想肯定有一个官方的解释的,那么怎么查看这些滤镜的参数说明呢?

命令行如下:
#ffmpeg  -h filter=XXX  列出xxx滤镜的help说明
比如: 下面对所有支持的选项,都有解释说明。
(使用之前,可以使用 ffmpeg -filters 列出所有支持的滤镜,这个-filters 选项,同样可以追溯到 ffmpeg --help中看到 关于ffmpeg -filters的解释。只是想说明,这些参数用法解释等等都有原始的出处,并且更加全面)

#ffmpeg -h filter=drawtext
ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04)
  configuration: --enable-libfreetype
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
Filter drawtext
  Draw text on top of video frames using libfreetype library.
    Inputs:
       #0: default (video)
    Outputs:
       #0: default (video)
drawtext AVOptions:
  fontfile               ..FV..... set font file
  text                   ..FV..... set text
  textfile               ..FV..... set text file
  fontcolor               ..FV..... set foreground color (default "black")
  fontcolor_expr         ..FV..... set foreground color expression (default "")
  boxcolor                ..FV..... set box color (default "white")
  bordercolor             ..FV..... set border color (default "black")
  shadowcolor             ..FV..... set shadow color (default "black")
  box                   ..FV..... set box (default false)
  boxborderw                ..FV..... set box border width (from INT_MIN to INT_MAX)  
。。。。。篇幅所限,就不全部粘贴了,还有一大串参数

常用:
-formats            show available formats
-muxers             show available muxers
-demuxers           show available demuxers
-devices            show available devices
-codecs             show available codecs
-decoders           show available decoders
-encoders           show available encoders
显示一个 解码器的参数说明: #ffmpeg -h decoder=h264
显示一个 编码器的参数说明: #ffmpeg -h encoder=libx264 (前提是要enable了x264哦)
显示一个 解复用器参数说明: #ffmpeg -h demuxer=mp4
显示一个 复用器的参数说明: #ffmpeg -h muxer=mp4
=============================一个简单的分割线=======================================
下面开始从源码层面解释,可以在ffmpeg源码中(我这里是4.1版本)看到:
ffmpeg 查看滤镜选项参数,编解码器参数_第1张图片
libavfiler目录下面都是 vf_** 和av_** 顾名思义就是 video filter 和 audio filter,其中还有一个文件 filter_list.c, 此文件在 cofigure的时候,根据具体配置生成, 其内容就是一个全局数组,保存所有的滤镜AVFilter。 
每一个 AVFilter,都有它的 description 和内部的 AVOption, 就是对应源码中就有对这些参数的解释:
ffmpeg 查看滤镜选项参数,编解码器参数_第2张图片
这个options在ffmpeg 的命令解释到-h时会调用,输出具体的help信息:
ffmpeg 查看滤镜选项参数,编解码器参数_第3张图片

你可能感兴趣的:(ffmpeg,ffmpeg)