Giunsa ang Pag-install sa FFmpeg sa Linux


Ang FFmpeg usa sa labing kaayo nga multimedia frameworks nga adunay lainlaing mga himan alang sa lainlaing mga buluhaton. Pananglitan, ang ffplay usa ka portable media player nga magamit sa pagdula sa mga file sa audio/video, ang ffmpeg mahimo’g magbag-o tali sa lainlaing mga format sa file, magamit ang ffserver sa pag-stream sa mga live broadcast ug ang ffprobe makahimo sa pag-analisar sa multimedia stream.

Kini nga gambalay mao ang tinuod nga gamhanan tungod sa diversity sa anaa himan, nga naghatag sa labing maayo nga teknikal nga solusyon alang sa user. Sumala sa paghulagway sa FFmpeg sa opisyal nga website, ang hinungdan sa pagbaton sa ingon ka maayo nga multimedia framework mao ang kombinasyon sa labing kaayo nga libre nga mga kapilian sa software nga magamit.

Ang FFmpeg framework nagtanyag og taas nga seguridad ug ang rason niini mao ang pagkaseryoso sa mga developers sa dihang ilang susihon ang code, kini kanunay nga gihimo uban sa seguridad sa hunahuna.

Sigurado ako nga makit-an nimo kini nga balangkas nga labi ka mapuslanon kung gusto nimo maghimo usa ka digital audio ug video streaming o pagrekord. Adunay daghang uban pang praktikal nga mga butang nga imong mahimo sa tabang sa FFmpeg framework sama sa pag-convert sa imong wav file ngadto sa usa ka mp3, pag-encode ug pag-decode sa imong mga video, o bisan sa pag-scale niini.

Sumala sa opisyal nga website, ang FFmpeg makahimo sa mosunod.

  • pag-decode sa mga multimedia file
  • pag-encode sa mga multimedia file
  • transcode multimedia files
  • mux multimedia files
  • demux multimedia files
  • stream multimedia files
  • sala ang mga multimedia file
  • pagdula og mga multimedia file

Pakuhaa ko og usa ka pananglitan, usa ka yano kaayo. Ang mosunud nga mando magbag-o sa imong mp4 file sa usa ka avi file, yano sama niana.

# ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Ang sugo sa ibabaw mapuslanon lamang sa pagpatin-aw, wala kini girekomendar nga gamiton sa praktis tungod kay ang codec, bitrate, ug uban pang mga detalye wala gipahayag.

Sa sunod nga bahin, magpraktis kami sa pipila sa mga himan sa FFmpeg multimedia framework, apan sa wala pa kana buhaton kinahanglan namon nga i-install kini sa among kahon sa Linux.

Giunsa ang Pag-install sa FFmpeg Multimedia Framework sa Linux

Tungod kay ang mga pakete sa FFmpeg gitanyag alang sa labing gigamit nga mga pag-apod-apod sa Linux ug ang pag-install medyo dali. Magsugod kita sa pag-instalar sa FFmpeg framework sa mga distribusyon nga nakabase sa Ubuntu.

Akong i-install ang FFmpeg gikan sa mga default nga repositoryo. Ablihi ang bag-ong terminal (CTRL+ALT+T) ug dayon padagana ang mosunod nga mga sugo.

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

Ang pakete sa FFmpeg gilakip sa opisyal nga mga repositoryo sa Debian ug mahimong ma-install gamit ang manager sa package sama sa gipakita.

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

Aron ma-install ang FFmpeg sa mga distribusyon sa CentOS ug RHEL, kinahanglan nimo nga i-enable ang EPEL ug RPM Fusion repository sa sistema gamit ang mosunod nga mga sugo.

Aron ma-install ug ma-enable ang EPEL, gamita ang mosunod nga sugo.

# yum install epel-release

Aron ma-install ug ma-enable ang RPM Fusion, gamita ang mosunod nga command sa imong distribution version.

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

Human ma-enable ang mga repository, padagana ang mosunod nga command aron i-install ang FFmpeg:

# yum install ffmpeg ffmpeg-devel
# ffmpeg -version

Sa Fedora, kinahanglan nimo nga i-install ug i-enable ang RPM Fusion nga i-install ang FFmpeg sama sa gipakita.

$ 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

Ang pag-compile sa software gikan sa usa ka tinubdan dili ang pinakasayon nga butang sa kalibutan, apan uban sa husto nga mga instruksyon, mahimo nato kini. Una, siguruha nga ang imong sistema nagtagbo sa tanan nga mga dependency. Ang pag-instalar niini nga mga dependency mahimo sa tabang sa mosunod nga mga sugo.

Una, sultihi ang sistema sa pagbitad sa pinakabag-o nga mga pakete.

$ sudo apt-get update

I-install ang mga dependency gamit ang mosunod nga sugo.

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

Dayon gamita ang mosunod nga sugo sa paghimo og bag-ong direktoryo alang sa mga tinubdan sa FFmpeg. Kini ang direktoryo diin ma-download ang gigikanan nga mga file.

$ mkdir ~/ffmpeg_sources

Karon pagtipon ug pag-instalar sa yasm assembler nga gigamit sa FFmpeg pinaagi sa pagpadagan sa mosunod nga mga sugo.

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

Human nimo malampusong ma-install ang yasm assembler panahon na nga i-install ang pipila ka lain-laing mga encoders nga gamiton sa piho nga mga himan sa FFmpeg. Gamita ang mosunod nga mga sugo sa pag-instalar sa H.264 video encoder.

$ 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

Ang laing nindot nga mapuslanon nga encoder mao ang libfdk-aac AAC audio encoder.

$ 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

I-install ang libopus audio decoder ug 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

Karon, panahon na aron i-install ang ffmpeg gikan sa gigikanan.

$ 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

Mubo nga sulat: Kung wala ka naka-install sa pipila ka mga encoder, siguruha nga tangtangon ang '–enable-encoder_name' gikan sa ibabaw nga './configure' nga mando aron ang pag-install mahuman nga wala’y problema.

Adunay daghang mga encoder nga mahimo nimong i-install, apan ang katuyoan sa kini nga artikulo dili nako i-install ang tanan, apan mahimo nimo kini i-install gamit ang mga mosunud nga opisyal nga giya.

  1. Giya sa Kompilasyon sa FFmpeg para sa Ubuntu
  2. FFmpeg Compilation Guide para sa CentOS

Konklusyon

Niining una nga bahin, among gi-update ang among mga magbabasa sa pinakabag-o nga balita sumala sa FFmpeg multimedia framework ug gipakita kanila kung giunsa kini pag-install sa ilang mga makina sa Linux. Ang sunod nga bahin hingpit nga bahin sa pagkat-on kung giunsa ang paggamit sa mga katingalahang himan sa sulod niining nanguna nga balangkas sa multimedia.

Pag-update: Ang bahin 2 niining serye sa FFmpeg gipatik, nga nagpakita sa pipila ka mapuslanon nga paggamit sa command-line sa ffmpeg aron mahimo ang lainlaing mga pamaagi sa pagkakabig sa audio, video, ug imahe: 15 Mapuslanon nga 'FFmpeg' nga mga Sugo alang sa Video, Audio ug Pag-usab sa Imahe sa Linux.