원문출처 : https://centlinux.com/install-ffmpeg-on-linux/
FFmpeg란 무엇인가?
FFmpeg 는 사용자가 오디오 및 비디오 파일을 녹음, 변환 및 스트리밍할 수 있는 강력한 오픈소스 소프트웨어 모음입니다. 멀티미디어 데이터를 조작하기 위한 광범위한 기능을 제공하는 명령줄 도구입니다.
FFmpeg의 주요 기능은 다음과 같습니다.
- 포맷 변환: FFmpeg는 비디오 컨테이너(예: MP4, AVI, MKV) 및 오디오 포맷(예: MP3, AAC, FLAC)을 포함한 다양한 멀티미디어 포맷을 지원합니다. 다양한 인코딩 옵션으로 파일을 서로 다른 포맷으로 변환할 수 있습니다.
- 트랜스코딩: FFmpeg를 사용하면 멀티미디어 파일을 트랜스코딩할 수 있습니다. 즉, 비디오 및 오디오 코덱, 비트 전송률, 프레임 속도, 해상도 및 기타 매개변수를 변경하여 다양한 장치나 플랫폼에 맞게 파일을 최적화할 수 있습니다.
- 녹화: FFmpeg는 웹캠, 마이크, 데스크톱 화면을 포함한 다양한 소스에서 오디오와 비디오를 캡처할 수 있습니다. 캡처 기간, 입력 장치, 출력 형식을 설정하는 옵션을 제공합니다.
- 필터링 및 효과: FFmpeg에는 멀티미디어 스트림에 다양한 효과, 변환 및 향상을 적용할 수 있는 강력한 필터링 시스템이 포함되어 있습니다. 밝기, 대비 및 채도를 조정하고, 오버레이를 적용하고, 자막을 추가하고, 비디오를 자르고, 다른 많은 작업을 수행할 수 있습니다.
- 스트리밍: FFmpeg는 HTTP, RTMP, RTP와 같은 네트워크 프로토콜을 통한 스트리밍 멀티미디어 콘텐츠를 지원합니다 . 실시간으로 오디오/비디오 스트림을 인코딩하고 전송할 수 있어 라이브 스트리밍 애플리케이션에 유용합니다.
- 크로스 플랫폼: FFmpeg는 Windows, macOS, Linux, BSD를 포함한 여러 운영 체제에서 사용할 수 있습니다. 이는 다양한 플랫폼에서 다재다능하고 널리 사용되게 합니다.
FFmpeg는 매우 유연하며 멀티미디어 처리, 비디오 편집, 스트리밍 서비스 및 오디오와 비디오 파일을 다루는 다른 애플리케이션 분야의 전문가와 매니아들에게 널리 사용됩니다.
FFmpeg는 무엇에 사용되나요?
FFmpeg는 오디오 및 비디오 파일의 인코딩, 디코딩, 트랜스코딩, 멀티플렉싱, 디멀티플렉싱, 스트리밍 및 필터링에 사용할 수 있는 다재다능한 멀티미디어 프레임워크입니다. 비디오 및 오디오 형식 변환, 비디오 편집, 네트워크를 통한 미디어 스트리밍 등의 작업에 일반적으로 사용됩니다.
Rocky Linux OS를 준비하세요:
ssh 클라이언트 의 도움으로 Linux 서버에 root 사용자 로 로그인합니다 .
# dnf update -y
때로는 위 명령이 Linux 커널을 업데이트하기도 하므로 새 커널로 Linux OS를 다시 시작해야 할 수도 있습니다.
# reboot
Linux OS와 Linux 커널 버전을 기록해 보세요.
# cat /etc/rocky-release
Rocky Linux 릴리스 9.1(Blue Onyx)
# uname -r
5.14.0-162.23.1.el9_1.x86_64
RPMFusion Yum 저장소 설치:
FFmpeg 소프트웨어는 RPM Fusion yum 저장소 에서 사용할 수 있습니다 . 따라서 먼저 RPM Fusion 저장소를 설치해야 합니다 .
그러나 RPM Fusion 저장소에는 CodeReady Builder(CRB) yum 저장소 의 일부 소프트웨어 패키지가 필요합니다 .
CRB 저장소는 이전 버전의 CentOS 및 Rocky Linux에서 Power Tools Repo로 알려져 있었습니다. 하지만 CRB 저장소를 설치 하려면 Extra Packages for Enterprise Linux(EPEL) yum 저장소를 설치해야 합니다 .
간단히 말해, Linux 서버에 EPEL, CRB 및 RPM Fusion 저장소를 설치해야 합니다.
다음 dnf 명령을 실행하여 EPEL 저장소를 설치합니다.
# dnf install -y epel-release
이제 Linux 터미널에서 다음 명령을 실행하여 CRB 저장소를 활성화합니다.
# /usr/bin/crb enable
CRB repo 활성화
CRB repo가 활성화되었으며 이름은 crb입니다.
RPM Fusion은 분리된 Yum 저장소로 구성됩니다.
- Fedora 프로젝트가 다른 이유로 제공할 수 없는 오픈 소스 소프트웨어(Fedora 라이선스 지침에 정의됨)의 경우 무료입니다 .
- 오픈 소스 소프트웨어(Fedora 라이선스 지침에서 정의한 대로)가 아닌 재배포 가능한 소프트웨어의 경우 무료가 아닙니다 . 여기에는 "상업적 사용 금지"와 같은 제한이 없는 공개적으로 사용 가능한 소스 코드가 있는 소프트웨어가 포함됩니다.
다음 명령을 실행하여 무료 및 유료 RPM Fusion 저장소를 설치합니다.
# dnf install -y --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
# dnf install -y --nogpgcheck https: //mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
새로 설치된 yum 저장소에 대한 캐시를 빌드합니다.
# dnf makecache
Enterprise Linux 9용 추가 패키지 - x86_64 7.5 kB/s | 7.4 kB 00:00
Rocky Linux 9 - BaseOS 881 B/s | 4.1 kB 00:04
Rocky Linux 9 - AppStream 857 B/s | 4.5 kB 00:05
Rocky Linux 9 - CRB 1.6 kB/s | 4.1 kB 00:02
Rocky Linux 9 - Extras 926 B/s | 2.9 kB 00:03
EL 9용 RPM Fusion - 무료 - 업데이트 44 kB/s | 245 kB 00:05
EL 9용 RPM Fusion - 유료 - 업데이트 24 kB/s | 63 kB 00:02
메타데이터 캐시가 생성되었습니다.
Rocky Linux 9에 FFmpeg 설치:
모든 필수 yum 저장소가 설정되었습니다. 이제 Linux 터미널에서 다음 명령을 실행하여 Linux에 FFmpeg를 쉽게 설치할 수 있습니다.
# dnf install -y ffmpeg ffmpeg-devel
ffmpeg 명령을 실행하여 FFmpeg 소프트웨어가 설치되었는지 확인합니다 .
# ffmpeg -version
ffmpeg 버전 5.1.3 저작권 (c) 2000-2022 FFmpeg 개발자
가 gcc 11(GCC)
구성으로 빌드: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -스펙=/usr/lib/rpm/redhat/redhat-강화된-cc1 -fstack-보호기-강함 -스펙=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -3월=x86-64-v2 -mtune=일반 -비동기-언와인드-테이블 -fstack-충돌-보호 -fcf-보호' --추가-ldflags='-Wl,-z,relro -Wl,--필요에 따라 -Wl,-z,지금 -스펙=/usr/lib/rpm/redhat/redhat-강화된-ld -스펙=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' --추가-cflags=' -I/usr/include/rav1e' --활성화-libopencore-amrnb --활성화-libopencore-amrwb --활성화-libvo-amrwbenc --활성화-버전3 --활성화-bzlib --활성화-chromaprint --활성화-crystalhd --활성화-fontconfig --활성화-frei0r --활성화-gcrypt --활성화-gnutls --활성화-ladspa --활성화-libaom --활성화-libdav1d --활성화-libass --활성화-libbluray --활성화-libbs2b --활성화-libcdio --활성화-libdrm --활성화-libjack --활성화-libjxl --활성화-libfreetype --활성화-libfribidi --활성화-libgsm --활성화-libilbc --활성화-libmp3lame --활성화-libmysofa --활성화-nvenc --활성화-openal --활성화-opencl --활성화-opengl --활성화-libopenjpeg --활성화-libopenmpt --활성화-libopus --활성화-libpulse --활성화-librsvg --활성화-librav1e --활성화-librubberband --활성화-libsmbclient --활성화-버전3 --활성화-libsnappy --활성화-libsoxr --활성화-libspeex --활성화-libsrt --활성화-libssh --활성화-libsvtav1 --활성화-libtesseract --활성화-libtheora --활성화-libtwolame --활성화-libvorbis --활성화-libv4l2 --활성화-libvidstab --활성화-libvmaf --활성화-버전3 --활성화-vapoursynth --활성화-libvpx --활성화-vulkan --활성화-libshaderc --활성화-libwebp --활성화-libx264 --활성화-libx265 --활성화-libxvid --활성화-libxml2 --활성화-libzimg --활성화-libzmq --활성화-libzvbi --활성화-lv2 --활성화-avfilter --활성화-libmodplug --활성화-사후처리 --활성화-pthreads --비활성화-정적 --활성화-공유 --활성화-gpl --비활성화-디버그 --비활성화-스트리핑 --shlibdir=/usr/lib64 --활성화-lto --활성화-libmfx --활성화-런타임-cpudetect
libavutil 57. 28. 100 / 57. 28. 100
libavcodec 59. 37. 100 / 59. 37. 100
libavformat 59. 27. 100 / 59. 27. 100
libavdevice 59. 7. 100 / 59. 7. 100
libavfilter 8. 44. 100 / 8. 44. 100
libswscale 6. 7. 100 / 6. 7.100
라이브러리 샘플 4. 7.100 / 4. 7.100
라이브러리 포스트 프로시저 56. 6.100 / 56. 6.100
FFmpeg 소프트웨어가 Linux OS에 설치되었습니다.