术语 | 全称 | 说明 |
---|---|---|
ffmpeg | Fast forword mpeg | 音视频转换器 |
ffplay | Fast forword play | 用ffmpeg实现的播放器 |
ffserver | Fast forword server | 用ffmpeg实现的rtsp服务器 |
ffprobe | Fast forword probe | 用来输入分析输入流 |
【【音视频】FFmpeg入门】FFmpeg 是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用 LGPL 或 GPL 许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方 案。它包含了非常先进的音频/视频编解码库 libavcodec,为了保证高可移植性和编解 码质量,libavcodec 里很多 codec 都是从头开发的。
ffmpeg 项目由以下几部分组成:
- ffmpeg 视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件.
- ffserver 基于 HTTP、RTSP 用于实时广播的多媒体服务器.也支持时间平移
- ffplay 用 SDL 和 FFmpeg 库开发的一个简单的媒体播放器
- libavcodec 一个包含了所有 FFmpeg 音视频编解码器的库.为了保证最优性能和 高可复用性,大多数编解码器从头开发的.
- libavformat 一个包含了所有的普通音视格式的解析器和产生器的库
- yum
# 1.升级系统
sudo yum install epel-release -y
# 2.安装Nux Dextop Yum 源 (centos7)
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
# 3.安装FFmpeg 和 FFmpeg开发包
sudo yum install ffmpeg ffmpeg-devel -y
# 4.测试是否安装成功
ffmpeg
3. FFmpeg参数说明 3.1 通用选项
-L license
-h 帮助
-fromats 显示可用的格式,编解码的,协议的。
-f fmt 强迫采用格式fmt
-i filename 输入文件
-y 覆盖输出文件
-t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持
-ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持
-title string 设置标题
-author string 设置作者
-copyright string 设置版权
-comment string 设置评论
-target type 设置目标文件类型(vcd,svcd,dvd) 所有的格式选项(比特率,编解码
以及缓冲区大小)自动设置 ,只需要输入如下的就可以了:
ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg
-hq 激活高质量设置
-itsoffset offset 设置以秒为基准的时间偏移,该选项影响所有后面的输入文件。该
偏移被加到输入文件的时戳,定义一个正偏移意味着相应的流被延迟了 offset 秒。
[-]hh:mm:ss[.xxx]的格式也支持
3.2 视频选项
-b bitrate 设置比特率,缺省 200kb/s
-r fps 设置帧频 缺省 25
-s size 设置帧大小 格式为 WXH 缺省 160X128.下面的简写也可以直接使用:
Sqcif 128X96 qcif 176X144 cif 252X288 4cif 704X576
-aspect aspect 设置横纵比 4:3 16:9 或 1.3333 1.7777
-croptop size 设置顶部切除带大小 像素单位
-cropbottom size –cropleft size –cropright size 底部,左边,右边切除带大小。
-padtop size 设置顶部补齐的大小 像素单位
-padbottom size –padleft size –padright size –padcolor color 设置补齐条大小和颜
色(hex,6 个 16 进制的数,红:绿:兰排列,比如 000000 代表黑色)
-vn 不做视频记录
-bt tolerance 设置视频码率容忍度 kbit/s
-maxrate bitrate 设置最大视频码率容忍度
-minrate bitreate 设置最小视频码率容忍度
-bufsize size 设置码率控制缓冲区大小
-vcodec codec 强制使用 codec 编解码方式。 如果用 copy 表示原始编解码数据必须
被拷贝。
-sameq 使用同样视频质量作为源(VBR)
-pass n 选择处理遍数(1 或者 2)。两遍编码非常有用。第一遍生成统计信息,第
二遍生成精确的请求的码率
-passlogfile file 选择两遍的纪录文件名为 file
3.3 高级视频选项
参考文章
- CentOS中yum安装ffmpeg