웹사이트 검색

Linux에 FFmpeg를 설치하는 방법


FFmpeg는 다양한 작업을 위한 다양한 도구가 포함된 최고의 멀티미디어 프레임워크 중 하나입니다. 예를 들어, ffplay는 오디오/비디오 파일을 재생하는 데 사용할 수 있는 휴대용 미디어 플레이어이며, ffmpeg는 다양한 파일 형식 간에 변환할 수 있습니다. ffserver 은 라이브 방송을 스트리밍하는 데 사용할 수 있으며 ffprobe는 멀티미디어 스트림을 분석할 수 있습니다.

이 프레임워크는 사용자에게 최고의 기술 솔루션을 제공하는 다양한 도구로 인해 매우 강력합니다. 공식 웹사이트의 FFmpeg 설명에 따르면 이렇게 뛰어난 멀티미디어 프레임워크를 보유하는 이유는 최고의 무료 소프트웨어 옵션이 결합되어 있기 때문입니다.

FFmpeg 프레임워크는 높은 보안을 제공하며 그 이유는 개발자가 코드를 검토할 때 항상 보안을 염두에 두고 수행되기 때문입니다.

디지털 오디오 및 비디오 스트리밍이나 녹음을 원할 때 이 프레임워크가 매우 유용할 것이라고 확신합니다. wav 파일을 mp3 파일로 변환하고, 비디오를 인코딩 및 디코딩하고, 크기를 조정하는 등 FFmpeg 프레임워크의 도움으로 수행할 수 있는 실용적인 작업이 많이 있습니다.

공식 웹사이트에 따르면 FFmpeg는 다음을 수행할 수 있습니다.

  • 멀티미디어 파일 디코딩
  • 멀티미디어 파일 인코딩
  • 멀티미디어 파일 트랜스코딩
  • 멀티플렉서 멀티미디어 파일
  • 디먹스 멀티미디어 파일
  • 멀티미디어 파일 스트리밍
  • 멀티미디어 파일 필터링
  • 멀티미디어 파일 재생

아주 간단한 예를 들어보겠습니다. 다음 명령은 mp4 파일을 avi 파일로 간단하게 변환합니다.

ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

위 명령은 설명용으로만 유용하며, 코덱, 비트레이트 등 구체적인 사항이 선언되어 있지 않으므로 실제로 사용하는 것은 권장하지 않습니다.

다음 부분에서는 일부 FFmpeg 멀티미디어 프레임워크 도구를 사용해 연습할 것입니다. 하지만 그 전에 Linux 상자에 설치해야 합니다.

Linux에 FFmpeg 멀티미디어 프레임워크를 설치하는 방법

FFmpeg 패키지는 가장 많이 사용되는 Linux 배포판에 제공되므로 설치가 상대적으로 쉽습니다. Ubuntu 기반 배포판에 FFmpeg 프레임워크를 설치하는 것부터 시작해 보겠습니다.

Ubuntu 및 Linux Mint에 FFmpeg 설치

기본 저장소에서 FFmpeg를 설치하겠습니다. 새 터미널(CTRL+ALT+T)을 열고 다음 명령을 실행합니다.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

데비안에 FFmpeg 설치

FFmpeg 패키지는 공식 Debian 저장소에 포함되어 있으며 표시된 대로 패키지 관리자를 사용하여 설치할 수 있습니다.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

CentOS 및 RHEL에 FFmpeg 설치

CentOSRHEL 배포판에 FFmpeg를 설치하려면 EPELRPM Fusion을 활성화해야 합니다. 다음 명령을 사용하여 시스템의 Strong> 저장소를 삭제합니다.

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

Fedora에 FFmpeg 설치

Fedora에서는 그림과 같이 FFmpeg를 설치하려면 RPM Fusion을 설치하고 활성화해야 합니다.

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

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

openSUSE에 FFmpeg 설치

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

이제 다음 명령을 실행하여 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

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. Ubuntu용 FFmpeg 컴파일 가이드
  2. CentOS용 FFmpeg 컴파일 가이드

결론

첫 번째 부분에서는 독자들에게 FFmpeg 멀티미디어 프레임워크에 따른 최신 뉴스를 업데이트하고 이를 Linux 시스템에 설치하는 방법을 보여주었습니다. 다음 부분은 이 선도적인 멀티미디어 프레임워크 내에서 놀라운 도구를 사용하는 방법을 배우는 것입니다.

업데이트: 이 FFmpeg 시리즈의 2부가 게시되었습니다. 이 시리즈에서는 다양한 오디오, 비디오 및 작업을 수행하는 데 유용한 ffmpeg 명령줄 사용법을 보여줍니다. 이미지 변환 절차: Linux에서 비디오, 오디오 및 이미지 변환을 위한 15가지 유용한 'FFmpeg' 명령.