Yadda ake Sanya FFmpeg a cikin Linux


FFmpeg yana ɗaya daga cikin mafi kyawun tsarin multimedia wanda ya ƙunshi kayan aiki daban-daban don ayyuka daban-daban. Misali, ffplay shine na'urar watsa labarai mai šaukuwa wanda za'a iya amfani dashi don kunna fayilolin mai jiwuwa/bidiyo, ffmpeg na iya canzawa tsakanin nau'ikan fayil daban-daban, ffserver ana iya amfani dashi don watsa shirye-shiryen kai tsaye kuma ffprobe yana iya nazarin rafi na multimedia.

Wannan tsarin yana da ƙarfi sosai saboda bambancin kayan aikin da ake da su, waɗanda ke ba da mafi kyawun mafita na fasaha ga mai amfani. Dangane da bayanin FFmpeg akan gidan yanar gizon hukuma, dalilin samun irin wannan babban tsarin multimedia shine haɗuwa da mafi kyawun zaɓin software na kyauta da ake samu.

Tsarin FFmpeg yana ba da babban tsaro kuma dalilin wannan shine girman masu haɓakawa lokacin da suke nazarin lambar, koyaushe ana yin shi tare da tsaro a hankali.

Na tabbata za ku sami wannan tsarin yana da amfani sosai lokacin da kuke son yin wasu sauti na dijital ko yawo na bidiyo ko rikodi. Akwai wasu abubuwa masu amfani da yawa waɗanda zaku iya yi tare da taimakon tsarin FFmpeg kamar canza fayil ɗin wav ɗinku zuwa mp3 ɗaya, ɓoyayyi da tsara bidiyon ku, ko ma auna su.

Dangane da gidan yanar gizon hukuma, FFmpeg yana iya yin waɗannan abubuwan.

  • yanke fayilolin multimedia
  • encode fayilolin multimedia
  • transcode multimedia files
  • mux fayilolin multimedia
  • fayilolin multimedia demux
  • fayilolin multimedia rafi
  • tace fayilolin multimedia
  • kunna fayilolin multimedia

Bari in dauki misali, mai sauqi qwarai. Umurnin da ke biyowa zai canza fayil ɗin mp4 ɗin ku zuwa fayil na avi, mai sauƙi kamar wancan.

# ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Umurnin da ke sama yana da amfani kawai don bayani, ba a ba da shawarar yin amfani da shi a aikace ba saboda codec, bitrate, da sauran ƙayyadaddun bayanai ba a bayyana ba.

A bangare na gaba, za mu yi aiki tare da wasu kayan aikin tsarin multimedia na FFmpeg, amma kafin yin hakan dole ne mu shigar da su a cikin akwatin Linux ɗinmu.

Yadda ake Shigar FFmpeg Multimedia Framework a Linux

Tunda ana ba da fakitin FFmpeg don rarrabawar Linux da aka fi amfani da shi kuma shigarwa zai kasance mai sauƙi. Bari mu fara tare da shigar da tsarin FFmpeg a cikin rarraba tushen Ubuntu.

Zan shigar da FFmpeg daga tsoffin ma'ajin. Bude sabon tasha (CTRL+ALT+T) sannan ku gudanar da umarni masu zuwa.

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

An haɗa kunshin FFmpeg a cikin ma'ajin Debian na hukuma kuma ana iya shigar da shi ta amfani da mai sarrafa fakitin kamar yadda aka nuna.

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

Don shigar da FFmpeg akan rarrabawar CentOS da RHEL, kuna buƙatar kunna maajiyar EPEL da RPM Fusion akan tsarin ta amfani da umarni masu zuwa.

Don shigarwa da kunna EPEL, yi amfani da umarni mai zuwa.

# yum install epel-release

Don shigarwa da kunna RPM Fusion, yi amfani da umarni mai zuwa akan sigar rarraba ku.

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

Bayan kunna wuraren ajiya, gudanar da umarni mai zuwa don shigar da FFmpeg:

# yum install ffmpeg ffmpeg-devel
# ffmpeg -version

A kan Fedora, kuna buƙatar shigarwa da kunna RPM Fusion don shigar da FFmpeg kamar yadda aka nuna.

$ 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

Haɗa software daga tushe ba abu ne mafi sauƙi a duniya ba, amma tare da umarnin da ya dace, za mu iya yin ta. Da farko, tabbatar cewa tsarin ku ya cika duk abin dogaro. Ana iya yin shigar da waɗannan abubuwan dogaro da taimakon umarni masu zuwa.

Da farko, gaya wa tsarin don cire sabbin fakitin.

$ sudo apt-get update

Shigar da abin dogaro tare da umarni mai zuwa.

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

Sannan yi amfani da umarni mai zuwa don ƙirƙirar sabon kundin adireshi don tushen FFmpeg. Wannan ita ce jagorar inda za a sauke fayilolin tushen.

$ mkdir ~/ffmpeg_sources

Yanzu tattara kuma shigar da yasm assembler wanda FFmpeg ke amfani da shi ta hanyar aiwatar da umarni masu zuwa.

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

Bayan kun yi nasarar shigar da yasm assembler lokaci ya yi da za a shigar da wasu maɓalli daban-daban waɗanda za a yi amfani da su tare da takamaiman kayan aikin FFmpeg. Yi amfani da waɗannan umarni don shigar da rikodin bidiyo na 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

Wani ingantaccen encoder mai amfani shine libfdk-aac AAC mai rikodin sauti.

$ 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

Shigar da mai rikodin sauti na libopus da 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

Yanzu, lokaci ya yi da za a shigar da ffmpeg daga tushen.

$ 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

Lura: Idan baku shigar da wasu encoders ba, tabbatar da cire '-enable-encoder_name' daga sama' umarni './configure' don haka ana yin shigarwa ba tare da wata matsala ba.

Akwai encoders da yawa waɗanda zaku iya shigar, amma fur manufar wannan labarin ba zan shigar da su duka ba, amma kuna iya shigar da su ta amfani da jagororin hukuma masu zuwa.

  1. FFmpeg Haɗa Jagora don Ubuntu
  2. FFmpeg Tarin Jagororin don CentOS

Kammalawa

A wannan bangare na farko, mun sabunta masu karatunmu da sabbin labarai bisa ga tsarin multimedia na FFmpeg kuma mun nuna musu yadda ake shigar da shi akan injinan Linux ɗin su. Sashe na gaba zai kasance gabaɗaya game da koyon yadda ake amfani da kayan aikin ban mamaki a cikin wannan babban tsarin multimedia.

Sabuntawa: An buga Sashe na 2 na wannan jerin FFmpeg, wanda ke nuna wasu amfani da layin umarni na ffmpeg don aiwatar da hanyoyin sauya sauti, bidiyo, da hotuna daban-daban: Dokokin 15 masu amfani 'FFmpeg' don Bidiyo, Sauti da Canjin Hoto a cikin Linux.