
使用FFMPEG
这里指FFMPEG提供的命令行(CLI)工具ffmpeg播放器 命令行,其使用方法如下(方括号表示可选项,花括号表示必选项目):
ffmpeg [global options] {[infile options]['-i' 'infile'] ...} {[outfile options] 'outfile' ...}
参数选项由三部分组成:可选的一组全局参数、一组或多组输入文件参数、一组或多组输出文件参数,其中,每组输入文件参数以‘-i’为结束标记;每组输出文件参数以输出文件名为结束标记。
基本选项
能力集列表
-formats:列出支持的文件格式。
-codecs:列出支持的编。
-decoders:列出支持的。
-encoders:列出支持的编码器。
-protocols:列出支持的协议。
-bsfs:列出支持的比特流过滤器。
-filters:列出支持的滤镜。
-pix_fmts:列出支持的图像采样格式。

-sample_fmts:列出支持的声音采样格式。
常用输入选项
-i filename:指定输入文件名。
-f fmt:强制设定文件格式,需使用能力集列表中的名称(缺省是根据扩展名选择的)。
-ss hh:mm:ss[.xxx]:设定输入文件的起始时间点,启动后将跳转到此时间点然后开始读取数据。
对于输入,以下选项通常是自动识别的,但也可以强制设定。
-c codec:指定,需使用能力集列表中的名称。
-acodec codec:指定声音的,需使用能力集列表中的名称。
-vcodec codec:指定视频的,需使用能力集列表中的名称。
-b:v bitrate:设定视频流的比特率,整数,单位bps。
-r fps:设定视频流的帧率,整数,单位fps。
-s WxH : 设定视频的画面大小。也可以通过挂载画面缩放滤镜实现。
-pix_fmt format:设定视频流的图像格式(如RGB还是YUV)。
-ar sample rate:设定音频流的采样率,整数,单位Hz。

-ab bitrate:设定音频流的比特率,整数,单位bps。
-ac channels:设置音频流的声道数目。
常用输出选项
-f fmt:强制设定文件格式,需使用能力集列表中的名称(缺省是根据扩展名选择的)。
-c codec:指定编码器,需使用能力集列表中的名称(编码器设定为”copy“表示不进行编解码)。
-acodec codec:指定声音的编码器,需使用能力集列表中的名称(编码器设定为”copy“表示不进行编解码)。
-vcodec codec:指定视频的编码器,需使用能力集列表中的名称(编设定为”copy“表示不进行编解码)。
-r fps:设定视频编码器的帧率,整数,单位fps。
-pix_fmt format:设置视频编码器使用的图像格式(如RGB还是YUV)。
-ar sample rate:设定音频编码器的采样率,整数,单位Hz。
-b bitrate:设定音视频编码器输出的比特率,整数播放器 命令行,单位bps。
-ab bitrate:设定音频编码器输出的比特率,整数,单位bps。
-ac channels:设置音频编码器的声道数目。
-an 忽略任何音频流。

-vn 忽略任何视频流。
-t hh:mm:ss[.xxx]:设定输出文件的时间长度。
-to hh:mm:ss[.xxx]:如果没有设定输出文件的时间长度的画可以设定终止时间点。
流标识
进入媒体流选项后,点击“全部允许”即可。10、在网络中创建或者更改“家庭网络(组)”,在点击查看或更改家庭组设置,在选择媒体流选项中把移动设备设置成允许。在电脑上打开 windows media player,选择“媒体流”依次选择“打开媒体流”、“允许远程控制我的播放器”、“自动允许设备播放我的媒体”,根据界面指引完成共享操作。
流序号。譬如“:1”表示第二个流。
流类型。譬如“:a“表示音频流,流类型可以和流序号合并使用,譬如“:a:1”表示第二个音频流。
节目。节目和流序号可以合并使用。
流标识。流标识是一个内部标识号。
假如要设定第二个音频流为copy,则需要指定-codec:a:1 copy
音频选项
-aframes:等价于frames:a,输出选项,用于指定输出的音频帧数目。
-aq:等价于q:a,老版本为qscale:a,用于设定音频质量。
-atag:等价于tag:a,用于设定音频流的标签。

-af:等价于filter:a,用于设定一个声音的后处理过滤链,其参数为一个描述声音后处理链的字符串。
视频选项
-vframes:等价于frames:v,输出选项,用于指定输出的视频帧数目。
-aspect:设置宽高比,如4:3、16:9、1.3333、1.7777等。
-bits_per_raw_sample:设置每个像素点的比特数。
-vstats:产生video统计信息。
-vf:等价于filter:v,用于设定一个图像的后处理过滤链,其参数为一个描述图像后处理链的字符串。
-vtag:等价于tag:v,用于设定视频流的标签。
-force_fps:强制设定视频帧率。
-force_key_frames:显式控制关键帧的插入,参数为字符串,可以是一个时间戳,也可以是一个“expr:”前缀的表达式。如“-force_key_frames 0:05:00”、“-force_key_frames expr:gte(t,n_forced*5)”
滤镜选项
高级选项
-re:要求按照既定速率处理输入数据,这个速率即是输入文件的帧率。
-map:指定输出文件的流映射关系。例如 “-map 1:0 -map 1:1”要求将第二个输入文件的第一个流和第二个流写入到输出文件。如果没有-map选项,ffmpeg采用缺省的映射关系。
用例
1、从一个视频文件中抽取一帧图像:
ffmpeg -i input -c:v libx265 -an -x265-params crf=25 out.mp4。ffmpeg -i cats.mp4 -vcodec copy -an cats.mp4。00:03:21,000 --> 00:03:22,000。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-104737-1.html
迎接他的有猎