Wyszukiwanie w witrynie

Jak zainstalować FFmpeg w systemie Linux


FFmpeg to jeden z najlepszych frameworków multimedialnych, który zawiera różne narzędzia do różnych zadań. Na przykład ffplay to przenośny odtwarzacz multimediów, którego można używać do odtwarzania plików audio/wideo, ffmpeg może konwertować pomiędzy różnymi formatami plików, ffserver można używać do strumieniowego przesyłania transmisji na żywo, a ffprobe jest w stanie analizować strumień multimedialny.

Framework ten jest naprawdę potężny ze względu na różnorodność dostępnych narzędzi, które zapewniają użytkownikowi najlepsze rozwiązanie techniczne. Zgodnie z opisem FFmpeg na oficjalnej stronie internetowej, powodem posiadania tak wspaniałego środowiska multimedialnego jest połączenie najlepszych dostępnych opcji bezpłatnego oprogramowania.

Framework FFmpeg zapewnia wysoki poziom bezpieczeństwa, a powodem tego jest powaga, z jaką programiści podchodzą do sprawdzania kodu. Zawsze robią to z myślą o bezpieczeństwie.

Jestem pewien, że ten framework okaże się bardzo przydatny, gdy będziesz chciał przesyłać lub nagrywać cyfrowe audio i wideo. Jest wiele innych praktycznych rzeczy, które możesz zrobić za pomocą frameworka FFmpeg, takich jak konwersja pliku wav na plik mp3, kodowanie i dekodowanie filmów, a nawet ich skalowanie.

Według oficjalnej strony internetowej FFmpeg może wykonać następujące czynności.

  • dekodować pliki multimedialne
  • kodować pliki multimedialne
  • transkodować pliki multimedialne
  • multipleksu plików multimedialnych
  • demux plików multimedialnych
  • przesyłaj strumieniowo pliki multimedialne
  • filtruj pliki multimedialne
  • odtwarzać pliki multimedialne

Podam przykład, bardzo prosty. Poniższe polecenie przekonwertuje plik mp4 na plik avi, po prostu.

ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Powyższe polecenie jest przydatne jedynie w celach informacyjnych, nie zaleca się jego stosowania w praktyce, ponieważ nie zadeklarowano kodeka, szybkości transmisji i innych szczegółów.

W następnej części będziemy ćwiczyć z niektórymi narzędziami frameworka multimedialnego FFmpeg, ale zanim to zrobimy, musimy je zainstalować w naszym Linuksie.

Jak zainstalować platformę multimedialną FFmpeg w systemie Linux

Ponieważ pakiety FFmpeg są oferowane dla najczęściej używanych dystrybucji Linuksa, więc instalacja będzie stosunkowo łatwa. Zacznijmy od instalacji frameworka FFmpeg w dystrybucjach opartych na Ubuntu.

Zainstaluj FFmpeg na Ubuntu i Linux Mint

Zainstaluję FFmpeg z domyślnych repozytoriów. Otwórz nowy terminal (CTRL+ALT+T), a następnie uruchom następujące polecenia.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Zainstaluj FFmpeg na Debianie

Pakiet FFmpeg znajduje się w oficjalnych repozytoriach Debiana i można go zainstalować za pomocą menedżera pakietów, jak pokazano.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Zainstaluj FFmpeg na CentOS i RHEL

Aby zainstalować FFmpeg w dystrybucjach CentOS i RHEL, musisz włączyć EPEL i RPM Fusion w systemie za pomocą następujących poleceń.

Aby zainstalować i włączyć EPEL, użyj następującego polecenia.

yum install epel-release

Aby zainstalować i włączyć RPM Fusion, użyj następującego polecenia w swojej wersji dystrybucyjnej.

-------------- On CentOS & RHEL 8.x -------------- 
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

-------------- On 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

-------------- On 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

Po włączeniu repozytoriów uruchom następujące polecenie, aby zainstalować FFmpeg:

yum install ffmpeg ffmpeg-devel
ffmpeg -version

Zainstaluj FFmpeg na Fedorze

W Fedorze musisz zainstalować i włączyć RPM Fusion, aby zainstalować FFmpeg, jak pokazano.

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

Zainstaluj FFmpeg na Arch Linux

sudo pacman -S ffmpeg
yay -S ffmpeg-git
yay -S ffmpeg-full-git
ffmpeg -version

Zainstaluj FFmpeg na openSUSE

-------------- On openSUSE Tumbleweed --------------
sudo zypper addrepo -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/' packman
sudo zypper refresh
sudo zypper install --from packman ffmpeg
ffmpeg -version

-------------- On openSUSE Leap --------------
sudo zypper addrepo -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/' packman
sudo zypper refresh
sudo zypper install --from packman ffmpeg
ffmpeg -version

Kompilacja FFmpeg ze źródła

Kompilowanie oprogramowania ze źródeł nie jest najłatwiejszą rzeczą na świecie, ale przy odpowiednich instrukcjach uda nam się tego dokonać. Najpierw upewnij się, że Twój system spełnia wszystkie zależności. Instalację tych zależności można wykonać za pomocą poniższych poleceń.

Najpierw powiedz systemowi, aby pobrał najnowsze pakiety.

sudo apt-get update

Zainstaluj zależności za pomocą następującego polecenia.

-------------- On 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
-------------- On 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

Następnie użyj następującego polecenia, aby utworzyć nowy katalog dla źródeł FFmpeg. Jest to katalog, do którego zostaną pobrane pliki źródłowe.

mkdir ~/ffmpeg_sources

Teraz skompiluj i zainstaluj asembler yasm używany przez FFmpeg, uruchamiając następujące polecenia.

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"

Po pomyślnym zainstalowaniu asemblera yasm nadszedł czas na zainstalowanie kilku różnych koderów, które będą używane z określonymi narzędziami FFmpeg. Użyj poniższych poleceń, aby zainstalować koder wideo 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

Kolejnym przydatnym koderem jest koder audio 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

Zainstaluj dekoder i koder audio 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

Teraz czas zainstalować ffmpeg ze źródła.

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

Uwaga: jeśli nie zainstalowałeś niektórych koderów, pamiętaj o usunięciu „–enable-encoder_name” z powyższego „”. /configure', aby instalacja przebiegła bezproblemowo.

Istnieje wiele koderów, które można zainstalować, ale dla celów tego artykułu nie zamierzam instalować ich wszystkich, ale można je zainstalować, korzystając z poniższych oficjalnych przewodników.

  1. Przewodnik kompilacji FFmpeg dla Ubuntu
  2. Przewodnik kompilacji FFmpeg dla CentOS

Wniosek

W tej pierwszej części przedstawiliśmy naszym czytelnikom najświeższe informacje dotyczące frameworku multimedialnego FFmpeg i pokazaliśmy, jak zainstalować go na swoich komputerach z systemem Linux. Następna część będzie całkowicie poświęcona nauce korzystania z niesamowitych narzędzi dostępnych w tym wiodącym środowisku multimedialnym.

Aktualizacja: opublikowano część 2 tej serii FFmpeg, która pokazuje przydatne użycie wiersza poleceń ffmpeg do wykonywania różnych operacji audio, wideo i procedury konwersji obrazu: 15 Przydatnych poleceń „FFmpeg” do konwersji wideo, audio i obrazu w systemie Linux.