Jinsi ya kufunga FFmpeg kwenye Linux


FFmpeg ni mojawapo ya mifumo bora ya multimedia ambayo ina zana mbalimbali za kazi tofauti. Kwa mfano, ffplay ni kicheza media kinachobebeka ambacho kinaweza kutumika kucheza faili za sauti/video, ffmpeg inaweza kubadilisha kati ya fomati tofauti za faili, ffserver inaweza kutumika kutiririsha matangazo ya moja kwa moja na ffprobe inaweza kuchanganua utiririshaji wa media titika.

Mfumo huu una nguvu sana kwa sababu ya anuwai ya zana zinazopatikana, ambazo hutoa suluhisho bora la kiufundi kwa mtumiaji. Kwa mujibu wa maelezo ya FFmpeg kwenye tovuti rasmi, sababu ya kuwa na mfumo mkubwa wa multimedia ni mchanganyiko wa chaguo bora zaidi za programu za bure zinazopatikana.

Mfumo wa FFmpeg hutoa usalama wa juu na sababu ya hii ni umakini wa watengenezaji wakati wanapitia msimbo, kila wakati hufanywa kwa kuzingatia usalama.

Nina hakika utapata mfumo huu kuwa muhimu sana wakati ungependa kufanya utiririshaji wa sauti dijitali na video au kurekodi. Kuna mambo mengine mengi ya vitendo ambayo unaweza kufanya kwa usaidizi wa mfumo wa FFmpeg kama vile kubadilisha faili yako ya wav kuwa ya mp3, kusimba na kusimbua video zako, au hata kuzipunguza.

Kulingana na tovuti rasmi, FFmpeg inaweza kufanya yafuatayo.

  • simbua faili za medianuwai
  • simba faili za media titika
  • transcode faili za media titika
  • mux faili za media titika
  • faili za medianuwai za demo
  • tiririsha faili za midia anuwai
  • chuja faili za media titika
  • cheza faili za medianuwai

Ngoja nichukue mfano, rahisi sana. Amri ifuatayo itabadilisha faili yako ya mp4 kuwa faili ya avi, rahisi kama hiyo.

# ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Amri iliyo hapo juu ni muhimu tu kwa maelezo, haipendekezi kutumika katika mazoezi kwa sababu codec, bitrate, na maalum nyingine hazijatangazwa.

Katika sehemu inayofuata, tutafanya mazoezi na baadhi ya zana za mfumo wa FFmpeg multimedia, lakini kabla ya kufanya hivyo tunapaswa kuzisakinisha kwenye sanduku letu la Linux.

Jinsi ya Kufunga Mfumo wa FFmpeg Multimedia katika Linux

Kwa kuwa vifurushi vya FFmpeg vinatolewa kwa usambazaji wa Linux unaotumiwa zaidi na usakinishaji utakuwa rahisi. Wacha tuanze na usakinishaji wa mfumo wa FFmpeg katika usambazaji wa msingi wa Ubuntu.

Nitasanikisha FFmpeg kutoka kwa hazina msingi. Fungua terminal mpya (CTRL+ALT+T) na kisha uendeshe amri zifuatazo.

$ sudo apt update
$ sudo apt install ffmpeg
$ ffmpeg -version

Kifurushi cha FFmpeg kimejumuishwa kwenye hazina rasmi za Debian na kinaweza kusakinishwa kwa kutumia kidhibiti cha kifurushi kama inavyoonyeshwa.

$ sudo apt update
$ sudo apt install ffmpeg
$ ffmpeg -version

Ili kusakinisha FFmpeg kwenye CentOS na usambazaji wa RHEL, unahitaji kuwezesha hazina ya EPEL na RPM Fusion kwenye mfumo kwa kutumia amri zifuatazo.

Ili kusakinisha na kuwezesha EPEL, tumia amri ifuatayo.

# yum install epel-release

Ili kusakinisha na kuwezesha RPM Fusion, tumia amri ifuatayo kwenye toleo lako la usambazaji.

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

Baada ya kuwezesha hazina, endesha amri ifuatayo ya kusakinisha FFmpeg:

# yum install ffmpeg ffmpeg-devel
# ffmpeg -version

Kwenye Fedora, unahitaji kusakinisha na kuwezesha RPM Fusion kusakinisha FFmpeg kama inavyoonyeshwa.

$ 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
$ sudo pacman -S ffmpeg
$ yay -S ffmpeg-git
$ yay -S ffmpeg-full-git
$ ffmpeg -version
-------------- 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

Kukusanya programu kutoka kwa chanzo sio jambo rahisi zaidi duniani, lakini kwa maelekezo sahihi, tutaweza kufanya hivyo. Kwanza, hakikisha kuwa mfumo wako unakidhi utegemezi wote. Ufungaji wa tegemezi hizi unaweza kufanywa kwa msaada wa amri zifuatazo.

Kwanza, waambie mfumo uvute vifurushi vipya zaidi.

$ sudo apt-get update

Sakinisha utegemezi na amri ifuatayo.

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

Kisha tumia amri ifuatayo kuunda saraka mpya kwa vyanzo vya FFmpeg. Hii ndio saraka ambapo faili za chanzo zitapakuliwa.

$ mkdir ~/ffmpeg_sources

Sasa kusanya na usakinishe yasm assembler inayotumiwa na FFmpeg kwa kuendesha amri zifuatazo.

$ 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"

Baada ya kusakinisha kiunganishi cha yasm kwa mafanikio ni wakati wa kusakinisha visimba kadhaa ambavyo vitatumika na zana maalum za FFmpeg. Tumia amri zifuatazo kusakinisha kisimbaji video cha 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

Kisimbaji kingine kizuri muhimu ni encoder ya sauti ya 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

Sakinisha avkodare ya sauti ya libopus na encoder.

$ 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

Sasa, ni wakati wa kusakinisha ffmpeg kutoka kwa chanzo.

$ 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

Kumbuka: Ikiwa hujasakinisha visimbaji fulani, hakikisha kwamba umeondoa ‘–enable-encoder_name‘ kutoka kwa amri ya ‘./configure‘ ili usakinishaji ufanywe bila tatizo lolote.

Kuna encoders nyingi ambazo unaweza kufunga, lakini manyoya madhumuni ya makala hii sitaenda kuziweka zote, lakini unaweza kuziweka kwa kutumia miongozo rasmi ifuatayo.

  1. Mwongozo wa Ukusanyaji wa FFmpeg kwa Ubuntu
  2. Mwongozo wa Ukusanyaji wa FFmpeg kwa CentOS

Hitimisho

Katika sehemu hii ya kwanza, tulisasisha wasomaji wetu na habari za hivi punde kulingana na mfumo wa media titika wa FFmpeg na tukawaonyesha jinsi ya kuisakinisha kwenye mashine zao za Linux. Sehemu inayofuata itahusu kabisa kujifunza jinsi ya kutumia zana za ajabu ndani ya mfumo huu wa media titika.

Sasisha: Sehemu ya 2 ya mfululizo huu wa FFmpeg imechapishwa, ambayo inaonyesha matumizi muhimu ya mstari wa amri ya ffmpeg kutekeleza taratibu mbalimbali za ubadilishaji wa sauti, video, na picha: Amri 15 Muhimu za 'FFmpeg' za Ubadilishaji wa Video, Sauti na Picha katika Linux.