写点什么

ffmpeg 命令参数类型

作者:Loken
  • 2022 年 4 月 29 日
  • 本文字数:601 字

    阅读完需:约 2 分钟

本文讲 一下 ffmpeg 处理命令行参数的一些逻辑。ffmpeg 命令行 其实分为 6 个部分。如下图:



1,可执行文件 ,就是 ffmpeg 那个软件。

2,输入文件参数,在 -i 前面那些参数,全部都作用于 当前 的输入文件。

3,输入文件, -i 指定输入文件。

4,输出文件参数,前面什么都没有,只有一个输出文件名,输出文件名 前面的那些参数 就是输出文件参数,全部都作用于 当前的输出文件。

5,输出文件,juren.ts 就是输出文件。

6,全局参数, -y 跟 -benchmark 这些跟输入输出文件无关的参数就是全局参数。

上面我为什么强调 当前 ,是因为 ffmpeg 是支持多个输入文件跟多个输出文件的,多个文件可以有各自的独立参数。多输入文件在复杂滤镜的场景经常使用。


虽然 ffmpeg 有很多很多的命令参数,但是只要你记住 ffmpeg 的参数类型,就会很容易学会 其他 参数的使用。

ffmpeg 处理命令行参数的代码 实际上是一个有限状态机。很多时候是没有先后顺序的,我上图是比较正确的写法,先是 输入,再是输出,再是 全局参数。

但是实际上,你可以把 输出 的命令参数放在前面。如下:

ffmpeg -c copy -t 10 -f mpegts juren.ts -ss 00:01:32 -f flv -i juren.flv -y -benchmark
复制代码

你甚至 可以把 全局参数 插在 -i 前面,他依然是全局参数,不会被当成是输入文件参数,如下:

ffmpeg -c copy -t 10 -f mpegts juren.ts -ss 00:01:32 -f flv -y -benchmark -i juren.flv
复制代码



本文使用的素材资源下载:百度网盘,提取码:9til

发布于: 刚刚阅读数: 2
用户头像

Loken

关注

音视频工程师 2022.04.21 加入

音视频工程师,个人博客 www.xianwaizhiyin.net

评论

发布
暂无评论
ffmpeg命令参数类型_Loken_InfoQ写作社区