ffmpeg是一款用于录制、转换和流式传输音频和视频。主要用于命令行来操作,没有所谓的图形界面,可能不太适用于新人。
一、ffmpeg下载
这里以Windows为例:下载ffmpeg;
1、首先,打开ffmpeg官网:https://ffmpeg.org/download.html
2、点击“windows builds from gyan.dev”。
3、再点击“ffmpeg-git-full.7z”即可下载相对应的文件。
二、ffmpeg安装
ffmpeg是免安装的,直接解压就可以用了。为了用起来更加的方便,具体操作如下:
1、将下载到本地电脑上的压缩包“ffmpeg-2023-10-18-git-e7a6bba51a-full_build.7z”解压。
3、然后,鼠标右键点击我的电脑 -属性 - 高级系统设置 - 环境变量 - 选中Path,点击编辑 - 新建,然后在输入框内输入上面的文件夹路径,然后确定。
4、这时在cmd里输入如下命令:
ffmpeg -version
出现详细信息就表示ffmpeg安装成功。
三、ffmpeg使用
ffmpeg使用示例:
$ ffmpeg -i input.mp4 output.avi
用法:
ffmpeg [选项] [[输入文件选项] -i 输入文件]... {[输入文件选项] 输出文件}...
获取帮助:
-h --打印基本选项
-h long --打印更多选项
-h full --印所有选项(包括所有格式和编解码器特定选项,非常长)
-h type=name --打印命名解码器/编码器/解复用器/复用器/过滤器/bsf/协议的所有选项
打印帮助/信息/功能:
-L 显示许可证
-h 主题显示帮助
-? 主题显示帮助
-help 主题显示帮助
--help 主题显示帮助
-version 显示版本
-buildconf 显示构建配置
-formats 显示可用的格式
-muxers 显示可用的复用器
-demuxers 显示可用的解复用器
-devices 显示可用设备
-codecs 显示可用的编解码器
-decoders 显示可用的解码器
-encoders 显示可用的编码器
-bsfs 显示可用的比特流过滤器
-protocols 显示可用的协议
-filters 显示可用的筛选器
-pix_fmts 显示可用的像素格式
-layouts 显示标准通道布局
-sample_fmts 显示可用的音频样本格式
-dispositions 显示可用的流处置
-colors 显示可用的颜色名称
-sources 设备列表输入设备的源
-sinks 设备列表输出设备的接收器
-hwaccels 显示了可用的硬件加速方法
全局选项(影响整个程序,而不是仅影响一个文件):
-loglevel 日志级别设置日志级别
-v loglevel 设置日志级别
-report 生成报表
-max_alloc 字节设置单个已分配块的最大大小
-y 覆盖输出文件
-n 从不覆盖输出文件
-ignore_unknown 忽略未知流类型
-filter_threads 非复杂筛选器线程数
-filter_complex_threads -filter_complex的线程数
-stats 在编码期间打印进度报告
-max_error_rate 解码错误的最大错误率比率(0.0:无错误,1.0:100%错误),超过该比率,ffmpeg将返回错误而不是成功。
每个文件的主要选项:
-f fmt 强制格式
-c 编解码器名称
-codec 编解码器编解码名称
-pre 设置预设名称
-map_metadata outfile[,metadata]:infile[,metadata] 从infil设置outfile的元数据信息
-t 记录或转码音频/视频的“持续时间”秒
-to 到time_stop记录或代码转换停止时间
-fs time_off设置开始时间偏移
-ss 设置开始时间偏移
-sseof time_off time_off设置相对于EOF的开始时间偏移
-seek_timestamp 使用-ss启用/禁用按时间戳查找的k_timestamp
-timestamp time 设置录制时间戳('now'设置当前时间)
-metadata string=string 添加元数据
-program title=string:st=number... 添加具有指定流的程序
-target type 指定目标文件类型(可选前缀为“pal-”、“ntsc-”或“film-”的“vcd”、“svcd”、”dvd“、”dv“或”dv50“)
-apad 音频垫
-frames number 设置要输出的帧数
-filter filter_graph 设置集合流过滤器图形
-filter_script filename 从文件中读取流filteragraph描述
-reinit_filter reinit 输入参数更改时的reinit_filtergraph
-discard 丢弃
-disposition 处置
视频选项:
-vframes number 设置要输出的视频帧数
-r rate 设置帧速率(Hz值、分数或缩写)
-fpsmax rate 设置最大帧速率(Hz值、分数或缩写)
-s size 设置框架尺寸(WxH或缩写)
-aspect aspect 设置纵横比(4:3、16:9或1.3333、1.7777)
-display_rrotation angle 为流设置纯逆时针旋转(以度为单位)
-display_hflip 设置流的显示水平翻转(如果未设置,则覆盖任何显示旋转)
-display_vflip 设置流的显示垂直翻转(如果未设置,则覆盖任何显示旋转)
-vn 禁用视频
-vcodec 编解码器强制视频编解码器(“复制”到复制流)
-timecode hh:mm:ss[:;.]ff 设置初始timecode值。
-pass n 选择pass编号(1到3)
-vf filter_graph 设置图形集视频过滤器
-b b比特率视频比特率(请使用-b:v)
-dn 禁用数据
音频选项:
-aframes number 设置要输出的音频帧数
-aq quality 设置音频质量(特定于编解码器)
-ar rate 设置音频采样率(Hz)
-ac channels 设置音频通道数
-an 禁用音频
-acodec 编解码器强制音频编解码器(“复制”到复制流)
-ab 比特率音频比特率(请使用-b:a)
-af filter_graph 设置图形集音频滤波器
字幕选项:
-s 大小