آموزش نصب و استفاده از FFmpeg در لینوکس

FFmpeg یک ابزار متن باز رایگان برای Encode, Decode و Transcode فایل های ویدئویی میباشد. این ابزار قدرتمند برای تبدیل فرمت فایل های ویدئویی بسیار کارامد بوده و بصورت حرفه ای مورد استفاده قرار میگیرد. FFmpegg میتواند تحت محیط Command-Line مورد استفاده قرار بگیرد.

این ابزار کاربرد های متفاوتی دارد که میتوان به سایت های تبدیل انلاین فرمت ویدئویی، سرویس دهنده های پخش انلاین فیلم و ویدویی اشاره کرد. در این مقاله نصب این ایزار با استفاده از Package Manager و نصب از سورس و نحوه استفاده از ان با مثال اموزش داده خواهد شد.

آموزش نصب FFmpeg با استفاده از Package Manager

برای نصب این نرم افزار در CentOS/RHEL با استفاده از yum باید مخزن نرم افزاری EPEL را به ان اضافه نمایید. برای نصب ابتدا مخزن نرم افزاری ذکر شده را نصب و سپس اقدام به نصب FFmpegg نمایید:

yum install epel-release -y
yum update -y
yum install ffmpeg ffmpeg-devel -y

نصب FFmpeg در Ubuntu/Debian ساده تر بوده و نیازی به عملیات دیگری ندارد و فقط کافیست دستور نصب را در محیط Command-Linee وارد نمایید:

apt-get update
apt-get dist-upgrade
apt-get install ffmpeg ffmpeg-devel

برای تایید نصب دستور ffmpeg و برای راهنمای استفاده از این ابزار دستور ffmpeg -h را در محیط Command-Line وارد نمایید.

 آموزش نصب FFmpeg از طریق Source

نصب از طریق Source کمی متفاوت بوده و نیاز به دقت بیشتری دارد. ابتدا باید نرم افزار های مورد نیاز را با استفاده از Package Manager نصب نمایید. راهنمای زیر روی CentOS/RHEL تست شده است. به همین دلیل این روش نصب فقط برای خانواده RHEL قرار میگیرد. برای شروع ابتدا مخزن نرم افزاری را اپدیت و سپس پکیج های مورد نیاز را نصب نمایید:

yum -y update
yum install glibc gcc gcc-c++ autoconf automake libtool git make nasm pkgconfig
yum install SDL-devel a52dec a52dec-devel alsa-lib-devel faac faac-devel faad2 faad2-devel
yum install freetype-devel giflib gsm gsm-devel imlib2 imlib2-devel lame lame-devel libICE-devel libSM-devel libX11-devel
yum install libXau-devel libXdmcp-devel libXext-devel libXrandr-devel libXrender-devel libXt-devel
yum install libogg libvorbis vorbis-tools mesa-libGL-devel mesa-libGLU-devel xorg-x11-proto-devel zlib-devel
yum install libtheora theora-tools
yum install ncurses-devel
yum install libdc1394 libdc1394-devel
yum install amrnb-devel amrwb-devel opencore-amr-devel

پس از نصب پیکیج های مورد نیاز باید قبل از نصب FFmpeg کتابخانه های مورد نیاز ان را نصب نمایید. برای نصب کتابخانه ها بصورت گام به گام مراحل زیر را انجام دهید.

توجه داشته باشید:

دستورات را خط به خط در محیط Command-Line وارد نمایید.

در صورتی که لینک دانلود برخی از فایل ها معتبر نبود نام فایل را در اینترنت جستجو کرده و یا وارد سایت ان کتابخانه شوید تا فایل مورد نظر را دانلود نمایید.

نصب XVID

cd /opt
wget http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
tar xzvf xvidcore-1.3.2.tar.gz
cd xvidcore/build/generic
./configure --prefix="$HOME/ffmpeg_build"
make
make install

نصب LibOgg

cd /opt
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.gz
tar xzvf libogg-1.3.1.tar.gz
cd libogg-1.3.1
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install

نصب Libvorbis

cd /opt
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
tar xzvf libvorbis-1.3.4.tar.gz
cd libvorbis-1.3.4
./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared
make
make install

نصب Libtheora

cd /opt
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
tar xzvf libtheora-1.1.1.tar.gz
cd libtheora-1.1.1
./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-examples --disable-shared --disable-sdltest --disable-vorbistest
make
make install

نصب Aacenc

cd /opt
wget http://downloads.sourceforge.net/opencore-amr/vo-aacenc-0.1.2.tar.gz
tar xzvf vo-aacenc-0.1.2.tar.gz
cd vo-aacenc-0.1.2
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install

نصب Yasm

yum remove yasm
cd /opt
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xzfv yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
export "PATH=$PATH:$HOME/bin"

نصب Libvpx

cd /opt
git clone https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
git checkout tags/v.1.3.0
./configure --prefix="$HOME/ffmpeg_build" --disable-examples
make
make install

نصب X264

cd /opt
git clone git://git.videolan.org/x264.git
cd x264
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static 
make
make install

تنظیم Libraries

export LD_LIBRARY_PATH=/usr/local/lib/
echo /usr/local/lib >> /etc/ld.so.conf.d/custom-libs.conf
ldconfig

کامپایل FFmpeg

پس از نصب موفقیت امیز کتابخانه های ذکر شده حالا میتوانید FFMpeg را کامپایل نمایید.

cd /opt
git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
git checkout release/2.5
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-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libfaac \
--enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libvo-aacenc --enable-libxvid --disable-ffplay \
--enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads
make
make install

پس از نصب میتوانید با استفاده از دستور ffmpeg در محیط command-line از صحت نصب اطمینان حاصل کنید. پس وارد کردن دستور ffmpeg باید خروجی را بصورت زیر مشاهده نمایید:

ffmpeg version 2.2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Mar 28 2014 01:28:21 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
  configuration: --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libvo-aacenc --enable-libxvid --disable-ffplay --enable-shared --enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads --extra-cflags=-fPIC
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

راهنمای استفاده از نرم افزار FFmpeg

برای استفاده از این نرم افزار بهتر است راهنمای ان را مطالعه نمایید. اما برای نمونه چند دستور تبدیل برای شما ذکر میشود تا با فرم ان اشنایی پیدا کنید.

تبدیل avi به mp4

ffmpeg -y -i input.avi -pass 2 -vcodec libx264 -vpre slow -b 2000k -threads 0 -t 60 -acodec libfaac -ab 128k -ac 2 output.mp4

تبدیل kmv به mp4

ffmpeg -i input.mkv -vcodec copy -acodec copy output.mp4

همانطور که مشاهده میکنید ffmpeg این امکان را به شما میدهد تا تمامی مقادیر فایل های ویدئویی را بصورت دلخواه ویرایش نمایید.

یک پاسخ

یک دیدگاه بنویسید

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای الزامی نشان گذاری شده اند *