FFmpeg是用于处理多媒体文件的自由开放源代码工具集合。它包含一组共享的音频和视频库,例如libavcodec,libavformat和libavutil。

使用FFmpeg,您可以在各种视频和音频格式之间转换,设置采样率,捕获音频流/视频和调整视频大小。

本教程说明如何在CentOS 7安装FFmpeg。我们将启用EPEL软件存储库和Nux存储库,然后使用yum安装FFmpeg。

为了能够添加新的存储库并在CentOS系统上安装软件包,您必须以具有sudo权限的用户登录。

FFmpeg在CentOS 7存储库中不可用。您可以选择从源代码构建FFmpeg,也可以启用Nux Dextop存储库,然后使用yum进行安装。我们将选择第二个选项。

Nux存储库部分软件来自EPEL软件存储库。如果您的系统上未启用EPEL存储库,请运行命令sudo yum install epel-release命令启用它。

接下来,导入存储库GPG密钥并通过安装rpm软件包来启用Nux存储库。一旦启用存储库,就可以安装FFmpeg。

安装完成后可以运ffmpeg -version命令验证FFmpeg安装。在撰写本文时,Nux Dextop存储库中可用的FFmpeg的当前版本为2.8.15

sudo yum install epel-release

sudo rpm -v --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

sudo yum install ffmpeg ffmpeg-devel
ffmpeg -version
ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
...

转换mp4 webm

使用ffmpeg转换音频和视频文件时,不必指定输入和输出格式。 FFmpeg自动检测输入文件的格式,并从文件扩展名中猜测输出格式。

以下是两个简单的示例,将视频文件从mp4转换为webm。将音频文件从mp3转换为ogg。

ffmpeg -i input.mp4 output.webm
ffmpeg -i input.mp3 output.ogg

指定编解码器

转换文件时,使用-c选项指定编解码器。它可以是任何受支持的解码器/编码器的名称,也可以是仅复制输入流的特殊值copy

下面的例子,使用libvpx视频编解码器和libvorbis音频编解码器将视频文件从mp4转换为webm。使用libopus编解码器将音频文件从mp3转换为ogg。

ffmpeg -i input.mp4 -c:v libvpx -c:a libvorbis output.webm
ffmpeg -i input.mp3 -c:a libopus output.ogg

结论

您已在CentOS 7上成功安装了FFmpeg。您现在可以访问FFmpeg官方文档页面,并学习如何使用FFmpeg转换视频和音频文件。如果您遇到问题或有反馈,请在下面发表评论。