首頁 > 軟體

Linux中安裝FFmpeg詳解

2020-06-16 16:38:10

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 http://www.deb-multimedia.org <mydist> main non-free deb-src http://www.deb-multimedia.org <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 -version

FFmpeg從原始碼編譯

從原始碼編譯軟體並不是世界上最容易的事情,但只要有正確的指示,我們就可以做到。 首先確保您的系統滿足所有依賴項。 可以使用以下命令安裝這些依賴項。

首先,告訴系統下拉最新的軟體包。

$ 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

現在通過執行以下命令編譯並安裝FFmpeg使用的yasm組合程式。

$ cd ~/ffmpeg_sources
$ wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
$ tar xzvf yasm-1.3.0.tar.gz
$ cd yasm-1.3.0
$ ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
$ make
$ make install
$ make distclean
$ export "PATH=$PATH:$HOME/bin"

成功安裝yasm組合程式後,就可以安裝一些將與特定FFmpeg工具一起使用的各種編碼器。 使用以下命令安裝H.264視訊編碼器。

$ cd ~/ffmpeg_sources
$ wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
$ tar xjvf last_x264.tar.bz2
$ cd x264-snapshot*
$ ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
$ make
$ make install
$ make distclean

另一個不錯的有用編碼器是libfdk-aac AAC音訊編碼器。

$ cd ~/ffmpeg_sources
$ wget -O fdk-aac.zip https://github.com/mstorsjo/fdk-aac/zipball/master
$ unzip fdk-aac.zip
$ cd mstorsjo-fdk-aac*
$ autoreconf -fiv
$./configure --prefix="$HOME/ffmpeg_build" --disable-shared
$ make
$ make install
$ make distclean

安裝libopus音訊解碼器和編碼器。

$ cd ~/ffmpeg_sources
$ wget http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz
$ tar xzvf opus-1.1.tar.gz
$ cd opus-1.1
$ ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
$ make
$ make install
$ make distclean

現在,是時候從原始碼安裝ffmpeg了。

$ cd ~/ffmpeg_sources
$ wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
$ tar xjvf ffmpeg-snapshot.tar.bz2
$ cd ffmpeg
$ PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
$ export PKG_CONFIG_PATH
$ ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" 
   --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl 
   --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus 
   --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
$ make
$ make install
$ make distclean
$ hash -r

IT145.com E-mail:sddin#qq.com