FFmpeg是一个免费且开源的多媒体文件处理工具集合。它包含了一组共享的音视频库,如libavcodec、libavformat和libavutil。使用FFmpeg,可以在不同的视频和音频格式之间进行转换,设置采样率,捕获流媒体音视频,并调整视频大小。
为了能够在您的CentOS系统上添加新的仓库并安装软件包,必须以具有sudo权限的用户身份登录。
FFmpeg不在CentOS 7核心仓库中,可以选择从源代码构建FFmpeg工具,或者通过第三方Yum仓库使用yum进行安装。
选择第二种选项,并通过RPM Fusion仓库进行安装:
RPM Fusion仓库依赖于EPEL软件仓库。如果您的系统上未启用EPEL,请通过输入以下命令启用它:
sudo yum install epel-release
接下来,通过安装rpm包启用RPM Fusion仓库:
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
一旦仓库启用,安装FFmpeg:
sudo yum install ffmpeg ffmpeg-devel
通过检查其版本来验证FFmpeg的安装:
ffmpeg -version
RPM Fusion仓库中可用的FFmpeg当前版本是3.4.7:
ffmpeg version 3.4.7 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39)
...
FFmpeg已安装在CentOS系统上,可以开始使用它了。
以下是FFmpeg的使用示例。
使用ffmpeg转换音视频文件时,不必指定输入和输出格式。输入文件格式将自动检测,输出格式将根据文件扩展名猜测。
将视频文件从mp4转换为webm:
ffmpeg -i input.mp4 output.webm
将音频文件从mp3转换为ogg:
ffmpeg -i input.mp3 output.ogg
可以使用-c选项指定要使用的编解码器。编解码器可以是任何支持的解码器/编码器的名称,或者是特殊值copy,它只是简单地复制输入流。
使用libvpx视频编解码器和libvorbis音频编解码器将视频文件从mp4转换为webm:
ffmpeg -i input.mp4 -c:v libvpx -c:a libvorbis output.webm
使用libopus编解码器将音频文件从mp3转换为ogg编码。
ffmpeg -i input.mp3 -c:a libopus output.ogg