文章目录
一、ffmpeg的安装
1.官网下载
官方地址 ==> https://ffmpeg.org/
2.Mac
- brew安装
brew install ffmpeg
3.Linux
- centos
# 前置需求 - gcc (已经安装可以忽略)
brew install gcc
# 前置需求 - yasm (已经安装可以忽略)
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && make install
# 下载源码 wget + 下载链接
wget https://johnvansickle.com/ffmpeg/release-source/ffmpeg-4.1.tar.xz
# 解压xz包
zx -d ffmpeg-4.1.tar.xz
# 解压tar 进入解压后目录
tar -xvf ffmpeg-4.1.tar
cd ffmpeg-4.1
# 正常编译流程 ./configure 后面可以接参数 可以./configure -help 查看详细情况
./configure
make && make install # (提示:Permission denied,就执行sudo make install)
#可能出现的问题: 配置环境变量 我安装的时候 没有配置 但是可以正常使用..
# vim /etc/profile
#进入配置文件
#在最后PATH添加FFmpeg环境变量:
export PATH=/usr/local/bin/ffmpeg:$PATH
#:wq 输入wq保存后退出
# 最后试试 没报错就行
ffmpeg -version
4.Windows (手头没有windows 先忽略)
二、常用命令
1.命令格式
ffmpeg 全 局 参 数 全局参数 全局参数 输 入 文 件 参 数 输入文件参数 输入文件参数 -i 输 入 文 件 输入文件 输入文件 $输出文件参数 $ 输入文件
可以通过ffmpeg --help 查看命令介绍
ffmpeg \
-y \ # 全局参数
-c:a libfdk_aac -c:v libx264 \ # 输入文件参数
-i input.mp4 \ # 输入文件
-c:v copy -c:a copy \ # 输出文件参数
output.mp4 # 输出文件
2.常用全局参数
-y # 不经过确认,输出时直接覆盖同名文件。
-n # 不覆盖同名文件
-loglevel loglevel # 设置日志级别
-v loglevel # 设置日志级别
-ignore_unknown # 忽略未知流类型
3.通用参数
-f fmt 指定音/视频的格式
-t duration 指定输出音/视频的时长,单位秒
-to time_stop 指定输出音/视频结束点,单位秒
-fs limit_size 限定输出文件大小
-ss time_off 指定输出音/视频的开始时间点,单位秒,也支持hh:mm:ss的格式
-bufsize 指明解码缓冲大小, 决定了输出码率的可变特性
-re read input at native frame rate
4.音频参数
-aq quality 指定输出音频的质量
-ar rate 指定音频采样率 (单位 Hz)
-ac channels 指定音频声道数量
-an 输出的文件不带音频
-acodec codec 指定输出的音频编码类型('copy' to copy stream)
-vol volume 指定音频的音量 (256=normal)
-af filter_graph 指定音效
-ab 指定输出音频的比特率
5.视频参数
-r rate 指定帧率 (单位Hz )
-s size 指定分辨率 (WxH)
-aspect aspect 指定宽高比(4:3, 16:9 or 1.3333, 1.7777)
-vn 指定输出文件不包含视频
-vcodec codec 指定输出视频的编码格式 ('copy' to copy stream)
-vf filter_graph 指定视频滤镜
-ab bitrate 指定音频比特率 (please use -b:a)
-b bitrate 指定比特率,若指定该值为平均比特率 (please use -b:v)
-vb 指定视频比特率
-minrate 指明最小容忍度的编码码率
-maxrate 指明一个最大容忍度编码码率,该码率和bufsize相关联
6.查询参数
-h 帮助命令 后接long/full 可以查看更多介绍/全部介绍
-h type=name # print all options for the named decoder/encoder/demuxer/muxer/filter/bsf/protocol
-version # 查看版本
-formats # show available formats
-muxers # show available muxers
-demuxers # show available demuxers
-devices # show available devices
-codecs # show available codecs
-decoders # show available decoders
-encoders # show available encoders
-bsfs # show available bit stream filters
-protocols # show available protocols
-filters # show available filters
-pix_fmts # show available pixel formats
-layouts # show standard channel layouts
-sample_fmts # show available audio sample formats
-colors # show available color names
参考文档
1.阮一峰 - FFmpeg 视频处理入门教程
2.FFmpeg处理流程与命令
3.使用FFmpeg工具进行推流、拉流、截图、变速、转换,及常见问题处理