Linux'ta FFmpeg Nasıl Kurulur


FFmpeg, farklı görevler için çeşitli araçlar içeren en iyi multimedya çerçevelerinden biridir. Örneğin, ffplay, ses/video dosyalarını oynatmak için kullanılabilecek taşınabilir bir medya oynatıcısıdır, ffmpeg farklı dosya biçimleri arasında dönüştürme yapabilir, ffserver canlı yayınları yayınlamak için kullanılabilir ve ffprobe multimedya akışını analiz edebilir.

Bu çerçeve, kullanıcı için en iyi teknik çözümü sağlayan mevcut araçların çeşitliliği nedeniyle gerçekten güçlüdür. FFmpeg'in resmi web sitesindeki açıklamasına göre, bu kadar harika bir multimedya çerçevesine sahip olmanın nedeni, mevcut en iyi ücretsiz yazılım seçeneklerinin birleşimidir.

FFmpeg çerçevesi yüksek güvenlik sunar ve bunun nedeni geliştiricilerin kodu incelerken ciddiyet göstermeleridir, her zaman güvenlik göz önünde bulundurularak yapılır.

Dijital ses ve video akışı veya kaydı yapmak istediğinizde bu çerçeveyi çok faydalı bulacağınızdan eminim. FFmpeg çerçevesinin yardımıyla, wav dosyanızı bir mp3 dosyasına dönüştürmek, videolarınızı kodlamak ve kodunu çözmek, hatta bunları ölçeklendirmek gibi yapabileceğiniz birçok başka pratik şey vardır.

Resmi web sitesine göre FFmpeg aşağıdakileri yapabiliyor.

  • multimedya dosyalarının kodunu çözme
  • multimedya dosyalarını kodlama
  • multimedya dosyalarını dönüştürme
  • mux multimedya dosyaları
  • demux multimedya dosyaları
  • multimedya dosyalarını aktar
  • multimedya dosyalarını filtrele
  • multimedya dosyalarını oynat

Bir örnek vereyim, çok basit bir örnek. Aşağıdaki komut, mp4 dosyanızı bu kadar basit bir şekilde avi dosyasına dönüştürecektir.

ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Yukarıdaki komut yalnızca açıklama amaçlıdır; codec, bit hızı ve diğer özellikler bildirilmediğinden pratikte kullanılması önerilmez.

Bir sonraki bölümde bazı FFmpeg multimedya çerçeve araçlarıyla pratik yapacağız, ancak bunu yapmadan önce bunları Linux kutumuza kurmamız gerekiyor.

Linux'ta FFmpeg Multimedya Çerçevesi Nasıl Kurulur

FFmpeg paketleri en çok kullanılan Linux dağıtımları için sunulduğundan kurulumu nispeten kolay olacaktır. Ubuntu tabanlı dağıtımlarda FFmpeg çerçevesinin kurulumuyla başlayalım.

Ubuntu ve Linux Mint'e FFmpeg'i yükleyin

Varsayılan depolardan FFmpeg'i yükleyeceğim. Yeni bir terminal açın (CTRL+ALT+T) ve ardından aşağıdaki komutları çalıştırın.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

FFmpeg'i Debian'a yükleyin

FFmpeg paketi resmi Debian depolarında bulunur ve gösterildiği gibi paket yöneticisi kullanılarak kurulabilir.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

CentOS ve RHEL'e FFmpeg'i yükleyin

FFmpeg'i CentOS ve RHEL dağıtımlarına yüklemek için EPEL ve RPM Fusion'u etkinleştirmeniz gerekir. Aşağıdaki komutları kullanarak sistemdeki Strong> deposunu oluşturun.

EPEL'i yüklemek ve etkinleştirmek için aşağıdaki komutu kullanın.

yum install epel-release

RPM Fusion'u yüklemek ve etkinleştirmek için dağıtım sürümünüzde aşağıdaki komutu kullanın.

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

Depoları etkinleştirdikten sonra FFmpeg'i yüklemek için aşağıdaki komutu çalıştırın:

yum install ffmpeg ffmpeg-devel
ffmpeg -version

Fedora'ya FFmpeg'i yükleyin

Fedora'da, FFmpeg'i gösterildiği gibi yüklemek için RPM Fusion'u yüklemeniz ve etkinleştirmeniz gerekir.

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

Arch Linux'a FFmpeg'i yükleyin

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

openSUSE'ye FFmpeg'i yükleyin

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

FFmpeg Kaynaktan Derleme

Yazılımı bir kaynaktan derlemek dünyanın en kolay işi değil ama doğru talimatlarla bunu başarabileceğiz. Öncelikle sisteminizin tüm bağımlılıkları karşıladığından emin olun. Bu bağımlılıkların kurulumu aşağıdaki komutlar yardımıyla yapılabilir.

Öncelikle sisteme en son paketleri indirmesini söyleyin.

sudo apt-get update

Bağımlılıkları aşağıdaki komutla yükleyin.

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

Daha sonra FFmpeg kaynakları için yeni bir dizin oluşturmak üzere aşağıdaki komutu kullanın. Kaynak dosyaların indirileceği dizin burasıdır.

mkdir ~/ffmpeg_sources

Şimdi aşağıdaki komutları çalıştırarak FFmpeg tarafından kullanılan yasm derleyicisini derleyin ve yükleyin.

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"

Yasm derleyicisini başarılı bir şekilde kurduktan sonra, belirli FFmpeg araçlarıyla kullanılacak çeşitli kodlayıcıları kurmanın zamanı geldi. H.264 video kodlayıcıyı yüklemek için aşağıdaki komutları kullanın.

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

Bir başka güzel ve kullanışlı kodlayıcı da libfdk-aac AAC ses kodlayıcıdır.

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

libopus ses kod çözücüyü ve kodlayıcıyı yükleyin.

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

Şimdi ffmpeg'i kaynaktan yüklemenin zamanı geldi.

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

Not: Belirli kodlayıcıları yüklemediyseniz, yukarıdaki '.xml' dosyasından '–enable-encoder_name' öğesini kaldırdığınızdan emin olun. /configure' komutunu kullanarak kurulumun sorunsuz yapılmasını sağlayın.

Yükleyebileceğiniz çok sayıda kodlayıcı var ancak bu makalenin amacı doğrultusunda hepsini yüklemeyeceğim ancak bunları aşağıdaki resmi kılavuzları kullanarak yükleyebilirsiniz.

  1. Ubuntu için FFmpeg Derleme Kılavuzu
  2. CentOS için FFmpeg Derleme Kılavuzu

Çözüm

Bu ilk bölümde okuyucularımızı FFmpeg multimedya çerçevesine göre en son haberlerle güncelledik ve Linux makinelerine nasıl kuracaklarını gösterdik. Bir sonraki bölüm tamamen bu önde gelen multimedya çerçevesindeki harika araçların nasıl kullanılacağını öğrenmekle ilgili olacak.

Güncelleme: Bu FFmpeg serisinin 2. Bölümü yayınlandı; burada çeşitli ses, video ve video dosyalarını gerçekleştirmek için bazı yararlı ffmpeg komut satırı kullanımı gösteriliyor. görüntü dönüştürme prosedürleri: Linux'ta Video, Ses ve Görüntü Dönüştürme için 15 Faydalı 'FFmpeg' Komutu.