Otu esi etinye FFmpeg na Linux


FFmpeg bụ otu n'ime usoro mgbasa ozi kachasị mma nke nwere ngwaọrụ dị iche iche maka ọrụ dị iche iche. Dịka ọmụmaatụ, ffplay bụ ihe ọkpụkpọ mgbasa ozi na-ebugharị nke enwere ike iji kpọọ faịlụ ọdịyo/vidiyo, ffmpeg nwere ike ịtụgharị n'etiti ụdị faịlụ dị iche iche, ffserver nwere ike iji mee ka mgbasa ozi dị ndụ na ffprobe nwee ike nyochaa multimedia iyi.

Usoro a dị ike n'ezie n'ihi ụdị ngwá ọrụ dị iche iche dị, nke na-enye ihe ngwọta kachasị mma maka onye ọrụ. Dabere na nkọwa nke FFmpeg na webụsaịtị gọọmentị, ihe kpatara inwe nnukwu usoro mgbasa ozi dị otú ahụ bụ ngwakọta nke nhọrọ sọftụwia efu kachasị mma dị.

Usoro FFmpeg na-enye nchekwa dị elu na ihe kpatara nke a bụ oke nke ndị mmepe mgbe ha na-enyocha koodu ahụ, a na-eme ya mgbe niile na nchekwa n'uche.

Eji m n'aka na ị ga-ahụ usoro a bara uru nke ukwuu mgbe ịchọrọ ịme ụfọdụ ọdịyo dijitalụ na nkwanye vidiyo ma ọ bụ ndekọ. Enwere ọtụtụ ihe ndị ọzọ bara uru ị nwere ike ime site n'enyemaka nke usoro FFmpeg dị ka ịtụgharị faịlụ wav ka ọ bụrụ mp3, tinye koodu na decode vidiyo gị, ma ọ bụ ọbụna tụọ ha.

Dabere na webụsaịtị gọọmentị, FFmpeg nwere ike ime ihe ndị a.

  • decode faịlụ multimedia
  • na koodu ọtụtụ faịlụ
  • transcode faịlụ multimedia
  • faịlụ multimedia mux
  • faịlụ multimedia demux
  • faịlụ ọtụtụ mgbasa ozi
  • filter multimedia faịlụ
  • kpọ faịlụ mgbasa ozi

Ka m were ihe atụ, nke dị nnọọ mfe. Iwu na-esonụ ga-agbanwe faịlụ mp4 gị ka ọ bụrụ faịlụ avi, dị mfe dịka nke ahụ.

# ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Iwu a dị n'elu bara uru naanị maka nkọwa, a naghị atụ aro ka ejiri ya mee ihe n'ihi na anaghị ekwupụta codec, bitrate na nkọwa ndị ọzọ.

N'akụkụ nke ọzọ, anyị ga-eji ụfọdụ ngwaọrụ FFmpeg multimedia framework eme ihe, mana tupu anyị emee nke ahụ, anyị ga-etinye ha na igbe Linux anyị.

Otu esi etinye FFmpeg Multimedia Framework na Linux

Ebe ọ bụ na a na-enye ngwugwu FFmpeg maka nkesa Linux ndị a na-ejikarị eme ihe na ntinye ga-adị mfe. Ka anyị bido na ntinye nke usoro FFmpeg na nkesa dabere na Ubuntu.

M ga-etinye FFmpeg site na ebe nchekwa ndabara. Mepee ọdụ ọhụrụ (CTRL+ALT+T) wee mee iwu ndị a.

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

Agụnyere ngwugwu FFmpeg na ebe nchekwa Debian gọọmentị ma enwere ike itinye ya site na iji njikwa ngwugwu dịka egosiri.

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

Iji tinye FFmpeg na nkesa CentOS na RHEL, ịkwesịrị ịme ka EPEL na RPM Fusion repository na sistemụ site na iji iwu ndị a.

Iji wụnye ma mee EPEL, jiri iwu na-esonụ.

# yum install epel-release

Iji wụnye ma mee RPM Fusion, jiri iwu a na ụdị nkesa gị.

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

Mgbe ịmechara ebe nchekwa, gbaa iwu a ka ịwụnye FFmpeg:

# yum install ffmpeg ffmpeg-devel
# ffmpeg -version

Na Fedora, ịkwesịrị ịwụnye ma mee ka RPM Fusion tinye FFmpeg dịka egosiri.

$ 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

Ịchịkọta ngwanrọ sitere na isi iyi abụghị ihe kachasị mfe n'ụwa, mana site na ntuziaka ziri ezi, anyị ga-enwe ike ime ya. Nke mbụ, jide n'aka na sistemụ gị na-ezute ihe ndabere niile. Enwere ike ime ntinye nke ndabere ndị a site n'enyemaka nke iwu ndị a.

Nke mbụ, gwa sistemụ ka ọ kwatuo ngwugwu kacha ọhụrụ.

$ sudo apt-get update

Wụnye dabere na iwu na-esonụ.

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

Wee jiri iwu na-esonụ mepụta ndekọ ọhụrụ maka isi mmalite FFmpeg. Nke a bụ ndekọ ebe a ga-ebudata faịlụ isi mmalite.

$ mkdir ~/ffmpeg_sources

Ugbu a chịkọta ma wụnye yasm assembler nke FFmpeg ji mee iwu ndị a.

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

Mgbe ị wụnyechara yasm assembler nke ọma, oge eruola ịwụnye ụfọdụ koodu ntinye dị iche iche nke a ga-eji ngwa FFmpeg akọwapụtara. Jiri iwu ndị a ka ịwụnye ihe mkpuchi vidiyo 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

Ihe ngbanwe ọzọ mara mma bara uru bụ koodu 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

Wụnye ihe ndozi ọdịyo na ntinye koodu 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

Ugbu a, ọ bụ oge iji wụnye ffmpeg site na isi mmalite.

$ 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

Cheta na: Ọ bụrụ na ị tinyebeghị ụfọdụ koodu ntinye, jide n'aka na ị ga-ewepụ '-enable-encoder_name' site na iwu './configure' ka emebere nrụnye n'enweghị nsogbu ọ bụla.

Enwere ọtụtụ koodu ntinye nke ị nwere ike iwunye, mana ebumnuche nke isiokwu a agaghị m etinye ha niile, mana ị nwere ike wụnye ha site na iji ntuziaka gọọmentị ndị a.

  1. Ntuziaka nchịkọta FFmpeg maka Ubuntu
  2. Ntụziaka mkpokọta FFmpeg maka CentOS

Mmechi

N'akụkụ nke mbụ a, anyị ji akụkọ kachasị ọhụrụ emelitere ndị na-agụ akwụkwọ anyị dịka usoro mgbasa ozi FFmpeg siri dị wee gosi ha otu esi etinye ya na igwe Linux ha. Akụkụ na-esote ga-abụ kpam kpam banyere ịmụta ka esi eji ngwaọrụ dị ịtụnanya n'ime usoro mgbasa ozi a na-eduga.

Mmelite: A na-ebipụta akụkụ 2 nke usoro FFmpeg a, nke na-egosi ụfọdụ ojiji iwu ffmpeg bara uru iji rụọ ọrụ dị iche iche ọdịyo, vidiyo, na usoro ntụgharị onyonyo: Iwu 15 bara uru 'FFmpeg' maka vidiyo, ọdịyo na ntụgharị onyonyo na Linux.