FFmpeg中常用的工具主要有ffmpeg、ffprobe、ffplay,它们分别用作多媒体的编解码工具、内容分析工具和播放器。本文主要介绍ffmpeg工具的常用命令。
ffmpeg --help
ffmpeg在音视频编解码时非常方便,所以在很多场景下转码使用的都是ffmpeg,通过ffmpeg --help可以看见ffmpeg常见的命令大概分为6个部分,具体如下:
- ffmpeg信息查询部分
- 公共操作参数部分
- 文件主要操作参数部分
- 视频操作参数部分
- 音频操作参数部分
字幕操作参数部分
ffmpeg -formats
使用ffmpeg转码,有时候会遇到无法解析的视频文件或者无法生成视频文件,根据错误提示不支持生成对应的视频文件,这时候需要查看当前使用的ffmpeg是否支持对应的视频文件格式,使用ffmpeg -formats 参数来查看:
根据上面的输出的信息可以看到,输出内容分为3个部分,具体如下:
- 第一列是多媒体文件封装格式的Demuxing支持和Muxing支持
- 第二列是多媒体文件格式
- 第三列是文件格式的详细说明
ffmpeg -encoders / ffmpeg -decoders
想查看ffmpeg是否支持H264编码或者解码,可以通过ffmpeg -coders查看全部信息,也可以使用ffmpeg -encoders 或者ffmpeg -decoders查看:
- 第一列包含6个字段,第一个字段用来表示此编码器为音频、视频还是字幕,第二个字段表示帧级别的多线程支持,第三个字段表示分片级别的多线程,第四个字段表示该编码为试验版本,第五个字段表示draw horiz band模式支持,第六个字段表示直接渲染模式支持
- 第二列是编码格式
- 第三列是编码格式支持的详细说明
ffmpeg -encoders 和decoders相似就不举例说明了。
ffmpeg -filters
查看ffmpeg支持哪些滤镜:
- 第一列共三个字段,第一个字段是时间轴支持,第二个字段是分片线程处理支持,第三个字段是命令支持
- 第二列是滤镜名
- 第三列是转换方式,比如音频转音频 A->A,视频转视频V->V等
第四列是滤镜作用说明
ffmpeg -h查看详细参数
举个栗子:
查看FLV编码的参数支持(ffmpeg -h encoder=flv)