FFmpeg是最好的多媒体框架之一,包含用于不同任务的各种工具。例如,ffplay是一种可用于播放音频/视频文件的便携式媒体播放器,ffmpeg可以在不同的文件格式之间进行转换,ffserver可用于流式传输直播,而ffprobe则能够分析多媒体流。
由于其中可用工具的多样性,该框架非常强大,可为用户提供最佳技术解决方案。根据官方网站上对FFmpeg的描述,拥有如此出色的多媒体框架的原因是可用的最佳免费软件选项的组合。
FFmpeg框架提供了高安全性,其原因在于开发人员在查看代码时的严格要求,始终考虑到安全性。
我非常确定当您想要进行一些数字音频和视频流或录制时,您会发现这个框架非常有用。在FFmpeg框架的帮助下,您可以做很多其他实用的事情,例如将您的wav文件转换为mp3文件,对视频进行编码和解码,甚至缩放它们。
根据官方网站FFmpeg能够做到以下几点。
解码多媒体文件
编码多媒体文件
转码多媒体文件
多路复用文件
demux多媒体文件
流多媒体文件
过滤多媒体文件
播放多媒体文件
让我举一个例子,一个非常简单的例子。以下命令会将您的mp4文件转换为avi文件,就像那样简单。
#ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi上述命令仅用于解释,建议不要在实践中使用,因为未声明codex,bitrate和其他细节。
在下一部分中,我们将练习一些FFmpeg多媒体框架工具,但在此之前我们必须将它安装在我们的Linux机器中。
如何在Linux中安装FFmpeg Multimedia Framework
由于FFmpeg软件包是为最常用的Linux发行版提供的,因此安装相对容易。让我们从基于Ubuntu的发行版中安装FFmpeg框架开始。
在Ubuntu和Linux Mint上安装FFmpeg
我将通过官方博客中推荐的PPA安装FFmpeg。打开一个新终端(CTRL + ALT + T),然后运行以下命令。
$ sudo add-apt-repository ppa:mc3man/trusty-media $ sudo apt-get update $ sudo apt-get install ffmpeg $ ffmpeg -version 在Debian上安装FFmpeg要安装FFmpeg,首先需要将以下行添加到/etc/apt/sources.list文件中。 根据您的发行版,使用'stretch','jessie'或'wheezy'更改'<mydist>'。
deb <mydist> main non-free deb-src <mydist> main non-free然后使用以下命令更新系统软件包源并安装FFmpeg。
$ sudo apt-get update $ sudo apt-get install deb-multimedia-keyring $ sudo apt-get update $ sudo apt-get install ffmpeg $ ffmpeg -version在CentOS和RHEL上安装FFmpeg
要在CentOS和RHEL发行版上安装FFmpeg,您需要使用以下命令在系统上启用EPEL和RPM Fusion存储库。
要安装和启用EPEL,请使用以下命令。
# yum install epel-release要安装和启用RPM Fusion,请在您的分发版本上使用以下命令。
-------------- 在 CentOS & RHEL 7.x 上-------------- # yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm -------------- 在 CentOS & RHEL 6.x 上 -------------- # yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm启用存储库后,运行以下命令安装FFmpeg:
# yum install ffmpeg ffmpeg-devel # ffmpeg -version 在Fedora上安装FFmpeg在Fedora上 您需要安装并启用RPM Fusion以安装FFmpeg,如下所示。 $ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm $ sudo dnf install ffmpeg ffmpeg-devel $ ffmpeg -versionFFmpeg从源代码编译
从源代码编译软件并不是世界上最容易的事情,但只要有正确的指示,我们就可以做到。 首先确保您的系统满足所有依赖项。 可以使用以下命令安装这些依赖项。
首先,告诉系统下拉最新的软件包。
$ sudo apt-get update使用以下命令安装依赖项。
-------------- 在 Debian & Ubuntu 上 -------------- $ sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev \ libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev \ libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev -------------- 在 CentOS and RHEL 上-------------- # yum install glibc gcc gcc-c++ autoconf automake libtool git make nasm pkgconfig SDL-devel \ a52dec a52dec-devel alsa-lib-devel faac faac-devel faad2 faad2-devel freetype-devel giflib gsm gsm-devel \ imlib2 imlib2-devel lame lame-devel libICE-devel libSM-devel libX11-devel libXau-devel libXdmcp-devel \ libXext-devel libXrandr-devel libXrender-devel libXt-devel libogg libvorbis vorbis-tools mesa-libGL-devel \ mesa-libGLU-devel xorg-x11-proto-devel zlib-devel libtheora theora-tools ncurses-devel libdc1394 libdc1394-devel \ amrnb-devel amrwb-devel opencore-amr-devel然后使用以下命令为FFmpeg源创建新目录。 这是将下载源文件的目录。
$ mkdir ~/ffmpeg_sources