CentOS 安装和使用 FFmpeg
FFmpeg 是一套免费的开源计算机程序,它提供了录制、转换以及流化音视频的完整解决方案。FFmpeg 在 Linux 平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括 Windows、Mac OS X 等。
安装
在CentOS 7安装(可以安装在ContOS 8)
1.添加 RPMfusion 仓库
为在 CentOS 7 上安装 FFmpeg,需要先添加 RPMfusion 仓库:
2.安装 FFmpeg
添加了 RPMfusion 仓库后,运行下列两条命令以安装 FFmpeg:
3.检查 FFmpeg 在 CentOS 7 上的安装
在CentOS 8安装看这里
命令简介
视频文件本身其实是一个容器(container),里面包括了视频和音频,也可能有字幕等其他内容。
常用的命令行参数
-c
:指定编码器-c copy
:直接复制,不经过重新编码(这样比较快)-c:v
:指定视频编码器-c:a
:指定音频编码器-i
:指定输入文件-an
:去除音频流-vn
: 去除视频流-preset
:指定输出的视频质量,会影响文件的生成速度,有以下几个可用的值 ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow。-y
:不经过确认,输出时直接覆盖同名文件。
使用场景
视频处理
视频数据与图像数据十分相似,在非音频部分可以看作是多张(帧)图像数据的拼接。按照视频处理的抽帧场景,可以分为以下几个情况:
均匀抽帧
抽取指定时间的帧
抽取视频关键帧(IPB 帧)
在视频编码序列中,主要有三种编码帧:I 帧、P 帧、B 帧。
I 帧即 Intra-coded picture(帧内编码图像帧),不参考其他图像帧,只利用本帧的信息进行编码。
P 帧即 Predictive-coded Picture(预测编码图像帧),利用之前的 I 帧或 P 帧,采用运动预测的方式进行帧间预测编码。
B 帧即 Bidirectionally predicted picture(双向预测编码图像帧),提供最高的压缩比,它既需要之前的图像帧(I 帧或 P 帧),也需要后来的图像帧(P 帧),采用运动预测的方式进行帧间双向预测编码。
抽取视频场景转换帧
版权声明: 本文为 InfoQ 作者【王坤祥】的原创文章。
原文链接:【http://xie.infoq.cn/article/bc5eba3baa518171f96f73159】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论