ค้นหาเว็บไซต์

วิธีการติดตั้ง FFmpeg ใน Linux


FFmpeg เป็นหนึ่งในเฟรมเวิร์กมัลติมีเดียที่ดีที่สุดที่มีเครื่องมือหลากหลายสำหรับงานที่แตกต่างกัน ตัวอย่างเช่น ffplay เป็นเครื่องเล่นสื่อแบบพกพาที่สามารถใช้เพื่อเล่นไฟล์เสียง/วิดีโอ ffmpeg สามารถแปลงระหว่างรูปแบบไฟล์ต่างๆ ffserver > สามารถใช้เพื่อสตรีมการถ่ายทอดสด และ ffprobe สามารถวิเคราะห์สตรีมมัลติมีเดียได้

เฟรมเวิร์กนี้มีประสิทธิภาพมากเนื่องจากความหลากหลายของเครื่องมือที่มีอยู่ ซึ่งมอบโซลูชันทางเทคนิคที่ดีที่สุดสำหรับผู้ใช้ ตามคำอธิบายของ FFmpeg บนเว็บไซต์อย่างเป็นทางการ เหตุผลของการมีเฟรมเวิร์กมัลติมีเดียที่ยอดเยี่ยมก็คือการผสมผสานระหว่างตัวเลือกซอฟต์แวร์ฟรีที่ดีที่สุดที่มีอยู่

เฟรมเวิร์ก FFmpeg ให้ความปลอดภัยสูงและเหตุผลก็คือความจริงจังของนักพัฒนาเมื่อพวกเขาตรวจสอบโค้ด ซึ่งจะดำเนินการโดยคำนึงถึงความปลอดภัยเสมอ

ฉันมั่นใจมากว่าเฟรมเวิร์กนี้มีประโยชน์มากเมื่อคุณต้องการสตรีมหรือบันทึกเสียงและวิดีโอดิจิทัล มีหลายสิ่งที่ใช้งานได้จริงอื่นๆ ที่คุณสามารถทำได้โดยใช้เฟรมเวิร์ก FFmpeg เช่น การแปลงไฟล์ wav เป็นไฟล์ MP3 เข้ารหัสและถอดรหัสวิดีโอของคุณ หรือแม้แต่ปรับขนาดวิดีโอเหล่านั้น

ตามเว็บไซต์อย่างเป็นทางการ FFmpeg สามารถทำสิ่งต่อไปนี้ได้

  • ถอดรหัสไฟล์มัลติมีเดีย
  • เข้ารหัสไฟล์มัลติมีเดีย
  • แปลงไฟล์มัลติมีเดีย
  • ไฟล์มัลติมีเดีย mux
  • ไฟล์มัลติมีเดีย demux
  • สตรีมไฟล์มัลติมีเดีย
  • กรองไฟล์มัลติมีเดีย
  • เล่นไฟล์มัลติมีเดีย

ผมขอยกตัวอย่างอันที่ง่ายมาก คำสั่งต่อไปนี้จะแปลงไฟล์ mp4 ของคุณให้เป็นไฟล์ avi ง่ายๆ อย่างนั้น

ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

คำสั่งข้างต้นมีประโยชน์สำหรับการอธิบายเท่านั้น ไม่แนะนำให้ใช้ในทางปฏิบัติ เนื่องจากไม่มีการประกาศตัวแปลงสัญญาณ บิตเรต และข้อมูลเฉพาะอื่นๆ

ในส่วนถัดไป เราจะฝึกใช้เครื่องมือเฟรมเวิร์กมัลติมีเดีย FFmpeg บางส่วน แต่ก่อนที่จะทำเช่นนั้น เราต้องติดตั้งมันในกล่อง Linux ของเรา

วิธีการติดตั้ง FFmpeg Multimedia Framework ใน Linux

เนื่องจากมีการเสนอแพ็คเกจ FFmpeg สำหรับ Linux ที่ใช้บ่อยที่สุด และการติดตั้งจึงค่อนข้างง่าย เริ่มต้นด้วยการติดตั้งเฟรมเวิร์ก FFmpeg ในการแจกแจงบน Ubuntu

ติดตั้ง FFmpeg บน Ubuntu และ Linux Mint

ฉันจะติดตั้ง FFmpeg จากที่เก็บเริ่มต้น เปิดเทอร์มินัลใหม่ (CTRL+ALT+T) จากนั้นเรียกใช้คำสั่งต่อไปนี้

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

ติดตั้ง FFmpeg บน Debian

แพ็กเกจ FFmpeg รวมอยู่ในที่เก็บ Debian อย่างเป็นทางการ และสามารถติดตั้งได้โดยใช้ตัวจัดการแพ็คเกจดังที่แสดง

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

ติดตั้ง FFmpeg บน CentOS และ RHEL

หากต้องการติดตั้ง FFmpeg บนการกระจาย CentOS และ RHEL คุณต้องเปิดใช้งาน EPEL และ RPM Fusion ที่เก็บข้อมูลบนระบบโดยใช้คำสั่งต่อไปนี้

หากต้องการติดตั้งและเปิดใช้งาน EPEL ให้ใช้คำสั่งต่อไปนี้

yum install epel-release

หากต้องการติดตั้งและเปิดใช้งาน RPM Fusion ให้ใช้คำสั่งต่อไปนี้ในเวอร์ชันการเผยแพร่ของคุณ

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

หลังจากเปิดใช้งานที่เก็บข้อมูลแล้ว ให้รันคำสั่งต่อไปนี้เพื่อติดตั้ง FFmpeg:

yum install ffmpeg ffmpeg-devel
ffmpeg -version

ติดตั้ง FFmpeg บน Fedora

บน Fedora คุณต้องติดตั้งและเปิดใช้งาน RPM Fusion เพื่อติดตั้ง FFmpeg ตามที่แสดง

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

ติดตั้ง FFmpeg บน Arch Linux

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

ติดตั้ง FFmpeg บน openSUSE

-------------- 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 จากแหล่งที่มา

การคอมไพล์ซอฟต์แวร์จากแหล่งที่มาไม่ใช่สิ่งง่ายที่สุดในโลก แต่ด้วยคำแนะนำที่ถูกต้อง เราก็จะสามารถทำได้ ขั้นแรก ตรวจสอบให้แน่ใจว่าระบบของคุณตรงตามการขึ้นต่อกันทั้งหมด การติดตั้งการขึ้นต่อกันเหล่านี้สามารถทำได้โดยใช้คำสั่งต่อไปนี้

ขั้นแรก บอกให้ระบบดึงแพ็คเกจล่าสุดลงมา

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

ตอนนี้คอมไพล์และติดตั้งแอสเซมเบลอร์ yasm ที่ใช้โดย FFmpeg โดยการรันคำสั่งต่อไปนี้

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

ติดตั้งตัวถอดรหัสและตัวเข้ารหัสเสียง 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

ตอนนี้ได้เวลาติดตั้ง 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

หมายเหตุ: หากคุณไม่ได้ติดตั้งตัวเข้ารหัสบางตัว ตรวจสอบให้แน่ใจว่าได้ลบ '–enable-encoder_name' ออกจากด้านบน ' /configure' เพื่อให้การติดตั้งเสร็จสิ้นโดยไม่มีปัญหาใดๆ

มีตัวเข้ารหัสจำนวนมากที่คุณสามารถติดตั้งได้ แต่ตามจุดประสงค์ของบทความนี้ ฉันจะไม่ติดตั้งทั้งหมด แต่คุณสามารถติดตั้งได้โดยใช้คำแนะนำอย่างเป็นทางการต่อไปนี้

  1. คู่มือการรวบรวม FFmpeg สำหรับ Ubuntu
  2. คู่มือการรวบรวม FFmpeg สำหรับ CentOS

บทสรุป

ในส่วนแรกนี้ เราได้อัปเดตผู้อ่านด้วยข่าวสารล่าสุดตามเฟรมเวิร์กมัลติมีเดีย FFmpeg และแสดงวิธีการติดตั้งบนเครื่อง Linux ส่วนถัดไปจะเป็นการเรียนรู้วิธีใช้เครื่องมือที่น่าทึ่งภายในเฟรมเวิร์กมัลติมีเดียชั้นนำนี้โดยสิ้นเชิง

อัปเดต: ส่วนที่ 2 ของซีรีส์ FFmpeg นี้ได้รับการเผยแพร่แล้ว ซึ่งแสดงการใช้งานบรรทัดคำสั่ง ffmpeg ที่มีประโยชน์เพื่อดำเนินการเสียง วิดีโอ และ ขั้นตอนการแปลงรูปภาพ: 15 คำสั่ง 'FFmpeg' ที่มีประโยชน์สำหรับการแปลงวิดีโอ เสียง และรูปภาพใน Linux