FFmpeg参数

作者: 羽翼深蓝_2387 | 来源:发表于2020-06-29 16:57 被阅读0次

    姓名:王一帆

    学号:20011110225

    转载自https://blog.csdn.net/qjh5606/article/details/85233971

    【嵌牛导读】介绍ffmpeg的基础语法语流程

    【嵌牛正文】

    ffmpeg [gl-opt] {[input-file-opt] -i input-url} ... {[output-file-opt] output-url} ...

    其中, -i 表示输入参数.

    主要参数

    1.以 <> 包裹的表示由用户具体指定;以 [] 包裹的表示是可选参数,可以指定也可以省略。

    2.括号内的 i 表示该参数用于输入流,o 表示用于输出流,i/o 表示均可,global 表示全局参数。

    3.关键字 duration, position 或 offset 满足:[-][HH:]MM:SS[.m...] 这种时间戳格式。或者以秒为单位的 SS[.m...] 格式。

    常用的如下:

    -b[:stream_specifier] (o):输出比特率。

    -f <fmt> (i/o):指定 fmt 作为输入或输出的视频格式。一般会根据文件扩展名自动选择,但有时需要手动指定。

    -i <filename> (i):指定 filename 作为源文件。

    -y (global):文件存在时直接覆盖。

    -n (global):文件存在时不覆盖并立即退出。

    -bsf[:stream_specifier] <bitstream_filters> (o):设置比特流滤镜。bitstream_filters 是一个逗号分隔的滤镜列表。

    -stream_loop <num> (i):指定输入流的循环次数。0 表示不循环,-1 表示无限循环。

    -c[:stream_specifier] <codec> (i/o):-c可写为-codec。选择一个 codec ,即编码器(输出时)或一个解码器(输入时),参与到 stream_specifier 指定的一个或多个流的编码/解码中。在输出时,<codec> 可以被指定为 copy,表示复制数据流。

    -t <duration> (i/o):(在参数 -i 之前指定)工作持续 duration 时长。一般用于指定剪辑数据流的范围。 它与 -to 参数相互冲突,但本参数优先。

    -to <position> (o):到 position 位置后,终止输出。与 -t 参数冲突,本参数优先级低。

    -fs <limit_size> (o):输出文件大小达到 limit_size 后停止输出,单位是 byte.

    -ss <position> (i/o):(在参数 -i 之前指定)从 position 指定的位置开始工作。注意:大多数情形下,工作起始位置是不精确的。ffmpeg会找到其前部的一个点作为真正的起始,并在结束工作后将该点与用户指定点之间的内容抛弃。然而,如果你使用了 copy 参数,这部分内容却会被保留。

    -sseof <position> (i/o):类似 -ss 参数,只不过是从数据流末端向前寻找 position。此时 0 表示数据流末。

    -itsoffset <offset> (i):指定输入流以原时间戳加上 offset 作为其输入时间戳。

    -metadata[:metadata_specifier] key=value (o):以键值对的形式设置元数据。

    -frames[:stream_specifier] <num> (o):在输出 num 帧后停止写入。

    -qscale[:stream_specifier] q (o):使用固定质量(VBR)。

    stats (global):输出编码过程,是系统默认值。可以使用 -nostats 关闭。

    -attach <filename> (o):将 filename 文件附加到输出文件。附件流作为文件的最后一个流,只有很少的文件类型被支持(例如字体)。

    视频参数

    -vframes <num>:文件的总帧数。-frames:v 的别名。

    -r[:steam_specifier] <fps> (i/o):文件的帧率。

    -s[:steam_specifier] <size> (i/o):帧尺寸。参数 size 需要满足格式 <width>x<height>,例如320x240。 -aspect[:steam_specifier] <asp> (o):宽高比,例如 4:3。如果使用了 -vcodec copy,那么指定容器的宽高比而不是视频的。

    -vn (o):禁止输出视频。

    -vcodec <codec> (o):设置视频编码器。-codec:v 的别名。

    音频参数

    -aframes <num> (o):文件的总帧数。-frames:a 的别名。

    -ar[:stream_specifier] <freq> (i/o):采样率。默认输出等于输入。仅当输入文件为真实设备或者 raw 数据时,该参数才能用于输入过程。

    -aq <q> (o):音频品质(VBR)。 -q:a 的别名。

    -ac[:stream_specifier] <channel> (i/o):设置音频通道数。默认输出等于输入。仅当输入文件为真实设备或者 raw 数据时,该参数才能用于输入过程。

    -an (o):禁止输出音频。

    -acode <codec> (i/o):设置音频的解码器或编码器。-codec:a 的别名。

    其他参数

    以下直接在 ffmpeg 后使用,例如:ffmpeg -version

    -bsfs:可用的比特流滤镜。

    -h [arg]:帮助。arg 的内容可以是:

    decoders:可用的解码器。或特指:decoder=。

    encoders:可用的编码器。或特指:encoder=。

    filters:所有滤镜。或特指:filter=。

    formats:可用的分流器与混流器。或特指分流器:demuxer=,或特指混流器:muxer=。

    -protocols:支持的协议。

    -version:版本信息。

    相关文章

      网友评论

        本文标题:FFmpeg参数

        本文链接:https://www.haomeiwen.com/subject/lgfafktx.html