FFmpeg使用指
FFmpeg使用指南
FFmpeg是什么
ffmpeg(命令行工具) 是一个快速的音视频转换工具。
FFmpeg使用方法
ffmpeg [全局选项] {[输入文件选项] -i ‘输入文件’} ... {[输出文件选项] ‘输出文件’}
主要选项
‘-f fmt (input/output)’
强制输入或输出文件格式。通常,输入文件的格式是自动检测的,
输出文件的格式是通过文件扩展名来进行猜测的,所有该选项大
多数时候不需要。
‘-i filename (input)’
输入文件名
‘-y (global)’
覆盖输出文件而不询问
‘-n (global)’
不覆盖输出文件,如果一个给定的输出文件已经存在,则立即
退出
‘-c[:stream_specifier] codec (input/output,per-stream)’
‘-codec[:stream_specifier] codec (input/output,per-stream)’
为一个或多个流选择一个编码器(当使用在一个输出文件之前时)
或者一个解码器(当使用在一个输入文件之前时)。codec 是一个
编码器/解码器名称或者一个特定值“copy”(只适用输出)。
‘-t duration (output)’
当到达 duration 时,停止写输出。
duration 可以是一个数字(秒),或者使用hh:mm:ss[.xxx]形式。
-to 和 -t 是互斥的,-t 优先级更高。
‘-to position (output)’
在 position 处停止写输出。
duration 可以是一个数字(秒),或者使用hh:mm:ss[.xxx]形式。
-to 和 -t 是互斥的,-t 优先级更高。
‘-fs limit_size (output)’
设置文件大小限制,以字节表示
‘-ss position (input/output)’
当作为输入选项时(在 -i 之前),在输入文件中跳转到 position。
需要注意的是,在大多数格式中,不太可能精确的跳转,因此,
ffmpeg 将跳转到 position 之前最接近的位置。当进行转码
并且 ‘-accurate_seek’ 打开时(默认),位于跳转点和 position
之间的额外部分将被解码并且丢弃。当做流拷贝或者当使用
‘-noaccurate_seek’时,它将被保留下来。
当作为输出选项时(在输出文件名前),解码但是丢弃输入,直到
时间戳到达 position。
position 可以是秒或者 hh:mm:ss[.xxx] 形式
‘-itsoffset offset (input)’
设置输入时间偏移。 offset 将被添加到输入文件的时间戳。指定
一个正偏移,意味着相应的流将被延时指定时间。
‘-timestamp date (output)’
在容器中设置录音时间戳
‘-metadata[:metadata_specifier] key=value (output,per-metadata)’
设置metadata key/value对