CentOS 8 / RHEL 8에 FFmpeg를 설치하는 방법

CentOS 8 / RHEL 8 Linux 시스템에 FFmpeg를 설치하는 방법은 무엇인가요? FFmpeg는 MPEG1 오디오 및 비디오, MPEG4, h263, ac3, asf, avi, real, mjpeg, Flash 등 다양한 형식의 멀티미디어 파일을 재생, 인코딩, 디코딩, 스트리밍, 트랜스코딩, 멀티플렉싱, 디멀티플렉싱 및 필터링하는 데 사용되는 무료 오픈 소스 멀티미디어 프레임워크입니다.

CentOS 8 / RHEL 8에 설치하는 방법 시스템에 설치FFmpeg는 MPEG1 오디오 및 비디오, MPEG4, h263, ac3, asf, avi, real, mjpeg 및 Flash를 포함한 다양한 형식의 멀티미디어 파일을 재생, 인코딩, 디코딩, 스트리밍, 트랜스코딩, 다중화, 역다중화 및 필터링하기 위한 무료 오픈 소스 멀티미디어 프레임워크입니다.
FFmpeg는 Linux, macOS, Windows, BSD, Solaris 등 다양한 빌드 환경, 구성 및 머신 아키텍처에서 실행되는 크로스 플랫폼 애플리케이션입니다. Linux에서 사용 가능한 대부분의 미디어 플레이어와 오디오/비디오 다운로더 및 변환기(예: youtube-dl)는 FFmpeg가 필요합니다.
FFmpeg 도구
FFmpeg의 주요 구성 요소는 다음과 같습니다.
ffmpeg – 멀티미디어 파일을 포맷 간에 변환하기 위한 명령줄 도구
ffplay – SDL 및 FFmpeg 라이브러리를 기반으로 하는 간단한 미디어 플레이어
ffprobe – 간단한 멀티미디어 스트림 분석기
FFmpeg에는 libavutil, libavcodec, libavformat, libavdevice, libavfilter, libswscale, libswresample 등의 개발자 라이브러리도 포함되어 있습니다.
다음 다이어그램은 각 출력의 변환 프로세스를 설명합니다.

CentOS 8 / RHEL 8에 FFmpeg를 설치하는 방법
CentOS 8 / RHEL 8 Linux에 FFmpeg를 설치하기 전에 시스템 환경이 완전히 구성되었는지 확인하세요.
RPMfusion Yum 저장소 설치
RPM Fusion 저장소는 Fedora 및 Red Hat 기반 배포판에서 사용할 수 없는 소프트웨어를 제공하기 위해 만들어졌습니다. 이 저장소에 있는 소프트웨어 애플리케이션은 사전 컴파일된 RPM 파일로 제공됩니다. 이 튜토리얼에서는 RPMfusion 저장소를 사용하여 CentOS 8 / RHEL 8에 FFmpeg를 설치합니다.
RPM Fusion 저장소를 설치하기 전에 시스템에 EPEL 저장소를 설치해야 합니다.

sudo dnf -y install https://download.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm sudo dnf install --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

CentOS 8 / RHEL 8 Linux에 FFmpeg 설치
EPEL과 RPM Fusion 저장소를 추가한 후 터미널에서 다음 명령을 실행하여 CentOS 8 / RHEL 8 Linux 시스템에 FFmpeg를 설치합니다.

sudo dnf install http://rpmfind.net/linux/epel/7/x86_64/Packages/s/SDL2-2.0.10-1.el7.x86_64.rpm sudo dnf install ffmpeg sudo dnf -y install ffmpeg-devel

다음 명령을 사용하여 RHEL/CentOS 시스템에 설치된 FFmpeg 버전을 확인하세요.

rpm -qi ffmpeg ffmpeg -버전


주문하다
1: 비디오 녹화:


-f: Mac을 사용하여 avfoundation에서 데이터를 수집하도록 지정합니다.

-i: 입력, 입력 스트림, 뒤의 1은 장치 번호, 화면(녹화 화면)을 나타냅니다.

i는 입력 스트림을 처리합니다).

-r: 프레임 속도를 지정합니다. 일반적으로 25프레임이 더 부드럽고, 15프레임이면 간신히 충분합니다.

out.yuv: 수집된 데이터는 yuv 포맷으로 저장됩니다. yuv는 원시 데이터 포맷으로 비교적 용량이 큽니다.

ffmpeg -f avfoundation -i 1 -r 30 out.yuv

비디오 재생:


-s는 해상도를 지정합니다.

-pix_fmt는 원래 비디오 형식을 지정합니다.

ffplay -s 2560*1600 -pix_fmt uyvy422

오디오 수집


콜론 앞의 숫자는 비디오 장치를 나타내고, 콜론 뒤의 숫자는 오디오 장치를 나타냅니다.

ffmpeg -f avfoundation -i :1 out.wav

오디오 재생


포맷된 오디오 데이터이므로 바로 재생할 수 있습니다.

ffplay out.wav

2: 분해 및 재사용
멀티미디어 데이터의 포맷(패키징 포맷)을 변경하는데 사용
디멀티플렉싱 - 기본적으로 오디오와 비디오 데이터를 분리하는 것입니다.
멀티플렉싱 - 오디오 및 비디오 데이터를 다시 패키징하는 것.
오디오 및 비디오 형식 변환


-vcodec 비디오 디멀티플렉싱

-acodec 오디오 디멀티플렉싱

복사는 디멀티플렉싱 후 인코딩 형식을 변경하지 않고 완전히 복사하는 것을 의미합니다.

ffmpeg -i test.mp4 -vcodec 복사 -acodec 복사 출력.flv

비디오 스트림 추출


-an은 오디오 스트림이 없음을 의미합니다.

ffmpeg -i test.mp4 -an -vcodec 복사 .h264

오디오 스트림 추출

ffmpeg -i test.mp4 -acodec 복사 -vn out.h264

3: 원시 데이터 처리
비디오 원시 데이터 추출


-c:v는 비디오를 디코딩합니다. 사용되는 코덱은 rawvideo입니다.

-pix_fmt 이미지의 각 프레임은 yuv 4:2:0으로 인코딩됩니다.

ffmpeg -i 입력.mp4 -an -c:v rawvideo -pix_fmt yuv420p 출력.yuv

비디오 원본 데이터 재생
오디오 원시 데이터 추출


-ar은 오디오 읽기를 의미하며 오디오 샘플링 속도는 44100입니다.

-ac는 오디오 채널을 의미하고 ac2는 듀얼 채널을 의미합니다.

-f 추출된 오디오 PCM 데이터의 형식입니다. s16le s는 부호 있는 16비트를 의미하고, le-little end는 리틀 엔디언을 의미합니다.

ffmpeg -i 출력.mp4 -vn -ar 44100 ac 2 -f s16le 출력.pcm

오디오 원시 데이터 재생

ffplay -ar 44100 -ac 2 -f s16le 출력.pcm

4: 필터 명령


-vf는 필터를 지정합니다.

crop, 필터의 이름, = 뒤에 매개변수가 오고, in_w는 너비가 200만큼 줄어드는 것을 의미하고, in_h는 높이가 200만큼 줄어드는 것을 의미합니다.

-c:v는 앞서 언급했듯이 사용할 코덱을 지정합니다.

-c:a copy는 오디오를 처리하지 않습니다.

ffmpeg -i test.mov -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4

5: ffmpeg 자르기 및 병합 명령
수확고:


-ss 자르기 시간 지점

-t 자르기 기간(초)

ffmpeg -i in.mp4 -ss 00:00:00 -t 10 out.ts

병합:


-f concat는 다음 파일을 연결하는 것을 의미합니다.

-i는 입력 파일을 지정합니다. inputs.txt는 스플라이스할 비디오를 지정하는 파일 목록입니다.

out.flv 출력

ffmpeg -f concat -i inputs.txt out.flv

그 중 inputs.txt 파일의 형식은 다음과 같습니다.

파일 '1.mp4' 파일 '2.mp4'

복사본을 추가하면 현재 인코딩 방법이 사용되고 디코딩 프로세스는 수행되지 않으므로 더 빠릅니다.

ffmpeg -f concat -i files.txt -c 출력.mp4 복사

6: 사진 및 비디오 변환 명령
비디오를 이미지로


-r 1은 1초에 한 장의 사진을 전송한다는 의미입니다.

-f는 출력 파일 형식을 지정합니다. 여기서는 image2입니다.

image-%3d.jpeg 表示图片名,%3d表示图片编号由3个数字组成。

ffmpeg -i in.flv -r 1 -f image2 image-%3.jpeg

이미지를 비디오로 변환

ffmpeg -i image-%3d.jpeg out.mp4

7: 라이브 푸시/풀 스트림
라이브 스트리밍

#-c 오디오 및 비디오 코덱, -a는 오디오 코덱, -v는 비디오 코덱입니다. #-f는 형식을 지정합니다.
#-re는 프레임 속도가 실제 프레임 속도와 동기화됨을 의미합니다. ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName

라이브 스트리밍

ffmpeg -i rtmp://server/live.streamName -c dump.flv 복사

더 많은 조작 방법은 도움말을 참조하거나 탐색하세요.FFmpeg 공식 문서

ffmpeg --도움말

FFmpeg가 성공적으로 설치되었습니다!

1/5 - (1 투표)

댓글남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다