लिनक्स में FFmpeg कैसे स्थापित करें


FFmpeg सर्वश्रेष्ठ मल्टीमीडिया फ्रेमवर्क में से एक है जिसमें विभिन्न कार्यों के लिए विभिन्न उपकरण हैं। उदाहरण के लिए ffplay एक पोर्टेबल मीडिया प्लेयर है जिसका उपयोग ऑडियो/वीडियो फ़ाइलों को चलाने के लिए किया जा सकता है, ffmpeg विभिन्न फ़ाइल स्वरूपों के बीच परिवर्तित हो सकता है, ffserver लाइव प्रसारण को स्ट्रीम करने के लिए इस्तेमाल किया जा सकता है और ffprobe मल्टीमीडिया स्ट्रीम का विश्लेषण करने में सक्षम है।

इसमें उपलब्ध उपकरणों की विविधता के कारण यह ढांचा वास्तव में शक्तिशाली है, जो उपयोगकर्ता के लिए सबसे अच्छा तकनीकी समाधान प्रदान करता है। आधिकारिक वेबसाइट में FFmpeg के विवरण के अनुसार, इस तरह के एक महान मल्टीमीडिया फ्रेमवर्क का कारण सबसे अच्छा मुफ्त सॉफ्टवेयर विकल्प उपलब्ध का संयोजन है।

FFmpeg ढांचा उच्च सुरक्षा प्रदान करता है और इसका कारण डेवलपर्स की गंभीरता है जब वे कोड की समीक्षा करते हैं, तो यह हमेशा सुरक्षा को ध्यान में रखकर किया जाता है।

मुझे पूरा यकीन है कि जब आप कुछ डिजिटल ऑडियो और वीडियो स्ट्रीमिंग या रिकॉर्डिंग करना चाहेंगे तो आपको यह रूपरेखा बहुत उपयोगी लगेगी। कई अन्य व्यावहारिक चीजें हैं जो आप FFmpeg फ्रेमवर्क की मदद से कर सकते हैं जैसे कि अपनी wav फाइल को एक एमपी 3 में बदलना, अपने वीडियो को एनकोड करना और डिकोड करना या उन्हें स्केल करना।

आधिकारिक वेबसाइट के अनुसार FFmpeg अनुसरण करने में सक्षम है।

  1. decode multimedia files
  2. encode multimedia files
  3. transcode multimedia files
  4. mux multimedia files
  5. demux multimedia files
  6. stream multimedia files
  7. filter multimedia files
  8. play multimedia files

मुझे एक उदाहरण लेते हैं, एक बहुत ही सरल। निम्न आदेश आपकी mp4 फ़ाइल को avi फ़ाइल में बदल देगा, सरल रूप में।

# ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

उपरोक्त आदेश केवल स्पष्टीकरण के लिए उपयोगी है, यह व्यवहार में उपयोग करने की अनुशंसा नहीं की जाती है क्योंकि कोडेक्स, बिटरेट और अन्य बारीकियों को घोषित नहीं किया जाता है।

अगले भाग में हम कुछ FFmpeg मल्टीमीडिया फ्रेमवर्क टूल्स के साथ अभ्यास करेंगे, लेकिन ऐसा करने से पहले हमें इसे अपने लिनक्स बॉक्स में स्थापित करना होगा।

लिनक्स में FFmpeg मल्टीमीडिया फ्रेमवर्क कैसे स्थापित करें

चूंकि FFmpeg पैकेज सबसे अधिक उपयोग किए जाने वाले लिनक्स वितरण के लिए पेश किए जाते हैं और स्थापना अपेक्षाकृत आसान होगी। Ubuntu आधारित वितरण में FFmpeg ढांचे की स्थापना के साथ शुरू होता है।

मैं आधिकारिक ब्लॉग में अनुशंसित PPA के माध्यम से FFmpeg स्थापित करूंगा। एक नया टर्मिनल खोलें ( CTRL + ALT + T ) और फिर निम्न कमांड चलाएँ।

$ sudo add-apt-repository ppa:mc3man/trusty-media
$ sudo apt-get update
$ sudo apt-get install ffmpeg
$ ffmpeg -version

FFmpeg को स्थापित करने के लिए, पहले आपको अपनी /etc/apt/source.list फ़ाइल में निम्न पंक्ति जोड़ने की आवश्यकता है। आपके वितरण के अनुसार, ' खिंचाव ', ' jessie ', या ' मट्ठा के साथ' < mydist > 'बदलें। '।

deb http://www.deb-multimedia.org <mydist> main non-free deb-src http://www.deb-multimedia.org <mydist> main non-free

फिर सिस्टम पैकेज स्रोतों को अपडेट करें और निम्न कमांड के साथ FFmpeg इंस्टॉल करें।

$ sudo apt-get update
$ sudo apt-get install deb-multimedia-keyring
$ sudo apt-get update
$ sudo apt-get install ffmpeg
$ ffmpeg -version

FFmpeg को CentOS और RHEL वितरण पर स्थापित करने के लिए, आपको EPEL और RPM FULL को सक्षम करना होगा। निम्न आदेशों का उपयोग करके सिस्टम पर मजबूत> रिपॉजिटरी।

EPEL को स्थापित और सक्षम करने के लिए, निम्नलिखित कमांड का उपयोग करें।

# yum install epel-release

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

रिपॉजिटरी को सक्षम करने के बाद, FFmpeg इंस्टॉल करने के लिए निम्न कमांड चलाएँ:

# yum install ffmpeg ffmpeg-devel
# ffmpeg -version

फेडोरा पर, आपको FFmpeg को स्थापित करने के लिए RPM फ्यूजन को सक्षम और दिखाया गया है।

$ 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 apt-get update

निम्न आदेश के साथ निर्भरता स्थापित करें।

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

फिर FFmpeg स्रोतों के लिए एक नई निर्देशिका बनाने के लिए निम्न कमांड का उपयोग करें। यह वह निर्देशिका है जहां स्रोत फ़ाइलों को डाउनलोड किया जाएगा।

$ mkdir ~/ffmpeg_sources

अब FFmpeg द्वारा निम्नलिखित कमांड्स चलाकर उपयोग किया जाने वाला yasm कोडांतरक संकलित और स्थापित करें।

$ 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 कोडांतरक स्थापित करने के बाद, यह कुछ विभिन्न एन्कोडर स्थापित करने का समय है जो विशिष्ट FFmpeg टूल के साथ उपयोग किया जाएगा। 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

एक और अच्छा उपयोगी एनकोडर 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

लिबोपस ऑडियो डिकोडर और एनकोडर स्थापित करें।

$ 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

अब, स्रोत से ffmpeg इंस्टॉल करने का समय आ गया है।

$ 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

लाल

ऐसे कई एनकोडर हैं जिन्हें आप स्थापित कर सकते हैं, लेकिन इस लेख के उद्देश्य से मैं उन सभी को स्थापित नहीं करने जा रहा हूं, लेकिन आप उन्हें निम्नलिखित आधिकारिक गाइड का उपयोग करके स्थापित कर सकते हैं।

  1. FFmpeg Compilation Guide for Ubuntu
  2. FFmpeg Compilation Guide for CentOS

निष्कर्ष

इस पहले भाग में हमने अपने पाठकों को FFmpeg मल्टीमीडिया फ्रेमवर्क के अनुसार नवीनतम समाचारों के साथ अपडेट किया और उन्हें दिखाया कि इसे अपने लिनक्स मशीनों में कैसे स्थापित किया जाए। अगला भाग पूरी तरह से सीखने के बारे में होगा कि इस प्रमुख मल्टीमीडिया ढांचे के अंदर अद्भुत उपकरणों का उपयोग कैसे किया जाए।

लाल