FFmpeg로 비디오를 압축하는 방법은?
_____Q1: FFmpeg란 무엇인가요?
A1: FFmpeg는 비디오 및 오디오 파일을 변환, 편집, 압축할 수 있는 오픈소스 명령어 기반 멀티미디어 프레임워크입니다.
---
Q2: FFmpeg로 비디오를 압축하려면 기본 명령어는 어떻게 되나요?
A2: 기본 압축 명령어는 다음과 같습니다.
```
ffmpeg -i input.mp4 -vcodec libx264 -crf 23 output.mp4
```
- `-i input.mp4`: 입력 파일 지정
- `-vcodec libx264`: H.264 코덱 사용
- `-crf 23`: 품질 설정 (낮을수록 고품질, 기본값 23)
- `output.mp4`: 출력 파일명
---
Q3: CRF 값은 무엇이고 어떻게 조절해야 하나요?
A3: CRF(Constant Rate Factor)는 품질과 압축률의 균형을 결정하는 값입니다.
- 0: 무손실 (최대 품질, 용량 큼)
- 18~28: 일반적인 범위 (18은 고품질, 28은 낮은 품질)
- 기본값 23
낮은 CRF는 용량이 크고 품질이 좋음, 높은 CRF는 용량 작고 품질 저하.
---
Q4: 비트레이트를 직접 설정해서 압축 가능할까요?
A4: 네, 가능합니다. 예:
```
ffmpeg -i input.mp4 -b:v 1000k -bufsize 2000k output.mp4
```
- `-b:v 1000k`: 비디오 비트레이트를 1000kbps로 고정
- `-bufsize`: 버퍼 사이즈 지정으로 인코딩 안정성 향상
하지만 비트레이트 고정은 품질 저하나 끊김이 발생할 수 있습니다.
---
Q5: 오디오도 압축하려면 어떻게 해야 하나요?
A5: 오디오 코덱과 비트레이트를 지정하면 됩니다. 예:
```
ffmpeg -i input.mp4 -vcodec libx264 -crf 23 -acodec aac -b:a 128k output.mp4
```
- `-acodec aac`: AAC 오디오 코덱 사용
- `-b:a 128k`: 오디오 비트레이트 128kbps 지정
---
Q6: 비디오 해상도를 낮춰 압축할 수 있나요?
```
ffmpeg -i input.mp4 -vf scale=1280:720 -vcodec libx264 -crf 23 output.mp4
```
- 1280x720 해상도로 변환하여 용량 감소 효과
---
Q7: 프레임레이트를 낮춰 압축할 수 있나요?
A7: 네, `-r` 옵션을 사용해 프레임레이트 조정 가능. 예:
```
ffmpeg -i input.mp4 -r 24 -vcodec libx264 -crf 23 output.mp4
```
- 프레임레이트를 24fps로 설정하여 데이터량 감소
---
Q8: 빠른 압축을 위해 어떤 인코딩 프리셋을 사용해야 하나요?
A8: `-preset` 옵션 사용. 예:
```
ffmpeg -i input.mp4 -vcodec libx264 -crf 23 -preset fast output.mp4
```
- 가능한 값: ultrafast, superfast, veryfast, faster, fast, medium(기본), slow, slower, veryslow
- 빠를수록 인코딩 속도 증가, 압축 효율 감소
---
Q9: 예제: 고화질 저용량 비디오 압축 명령어는?
A9:
```
ffmpeg -i input.mp4 -vcodec libx264 -crf 20 -preset slow -acodec aac -b:a 128k -vf scale=1280:-2 output.mp4
```
- `-vf scale=1280:-2`: 가로 1280에 맞춰 세로 비율 자동 조정
- CRF 20으로 품질 유지, 슬로우 프리셋으로 효율적 압축
---
Q10: 결과 비디오 품질을 직접 확인하는 방법은?
A10: 출력을 재생해서 시각적으로 확인하고, 용량 크기와 비트레이트를 비교해 적절한 CRF와 비트레이트 찾기.
---
요약
- 기본 압축은 `libx264` + `-crf` 사용
- `-preset` 으로 인코딩 속도 조절
- 오디오 코덱 및 비트레이트 별도 설정 가능
- 해상도(`-vf scale`), 프레임레이트(`-r`) 조절로 추가 압축 가능
- 품질과 용량 사이에서 적절한 값 실험 추천
---
더 높은 압축률과 품질 균형을 원한다면 여러 옵션을 조합해 테스트하는 것이 가장 좋습니다.
비디오 압축은 파일 크기를 줄이고, 저장 공간을 절약하며, 전송 속도를 개선하는 데 도움이 됩니다.
FFmpeg를 사용하여 비디오를 압축하는 방법에 대해 자세히 설명하겠습니다.
1. FFmpeg 설치하기 먼저, FFmpeg를 설치해야 합니다.
FFmpeg는 다양한 운영 체제에서 사용할 수 있으며, 공식 웹사이트에서 다운로드할 수 있습니다.
- Windows : FFmpeg의 Windows 빌드를 다운로드하고 압축을 푼 후, 실행 파일 경로를 시스템 PATH에 추가합니다.
- macOS : Homebrew를 사용하여 설치할 수 있습니다.
터미널에서 다음 명령어를 입력하세요: ```bash brew install ffmpeg ``` - Linux : 대부분의 배포판에서 패키지 관리자를 통해 설치할 수 있습니다.
예를 들어, Ubuntu에서는 다음 명령어를 사용할 수 있습니다: ```bash sudo apt update sudo apt install ffmpeg ```
2. 기본 압축 명령어 FFmpeg를 사용하여 비디오를 압축하는 기본 명령어는 다음과 같습니다: ```bash ffmpeg -i input.mp4 -vcodec libx264 -crf 23 output.mp4 ``` - `-i input.mp4`: 입력 파일을 지정합니다.
- `-vcodec libx264`: 비디오 코덱을 H.264로 설정합니다.
H.264는 널리 사용되는 비디오 압축 형식입니다.
- `-crf 23`: Constant Rate Factor의 약자로, 비디오 품질을 조절합니다.
값이 낮을수록 품질이 높고 파일 크기가 커지며, 값이 높을수록 품질이 낮고 파일 크기가 작아집니다.
일반적으로 18~28 사이의 값을 사용합니다.
- `output.mp4`: 압축된 출력 파일의 이름을 지정합니다.
3. 비디오 해상도 조정 비디오의 해상도를 줄이면 파일 크기를 줄이는 데 도움이 됩니다.
다음 명령어를 사용하여 해상도를 조정할 수 있습니다: ```bash ffmpeg -i input.mp4 -vf "scale=1280:720" -vcodec libx264 -crf 23 output.mp4 ``` - `-vf "scale=1280:720"`: 비디오 필터를 사용하여 해상도를 1280x720으로 조정합니다.
원하는 해상도로 변경할 수 있습니다.
4. 비트레이트 조정 비트레이트를 조정하여 파일 크기를 줄일 수도 있습니다.
다음 명령어를 사용합니다: ```bash ffmpeg -i input.mp4 -b:v 1000k -vcodec libx264 output.mp4 ``` - `-b:v 1000k`: 비디오 비트레이트를 1000kbps로 설정합니다.
비트레이트를 낮추면 파일 크기가 줄어들지만 품질도 저하될 수 있습니다.
5. 오디오 압축 비디오 압축과 함께 오디오도 압축할 수 있습니다.
다음 명령어를 사용합니다: ```bash ffmpeg -i input.mp4 -vcodec libx264 -acodec aac -b:a 128k -crf 23 output.mp4 ``` - `-acodec aac`: 오디오 코덱을 AAC로 설정합니다.
- `-b:a 128k`: 오디오 비트레이트를 128kbps로 설정합니다.
6. 다양한 포맷으로 변환 FFmpeg는 다양한 비디오 포맷을 지원하므로, 다른 포맷으로 변환하면서 압축할 수 있습니다.
예를 들어: ```bash ffmpeg -i input.mov -vcodec libx264 -crf 23 output.mp4 ```
7. 추가 옵션 FFmpeg는 다양한 옵션을 제공하여 압축 프로세스를 세밀하게 조정할 수 있습니다.
예를 들어: - `-preset`: 인코딩 속도와 품질의 균형을 조정합니다.
`ultrafast`, `superfast`, `veryfast`, `faster`, `fast`, `medium`, `slow`, `veryslow` 중에서 선택할 수 있습니다.
일반적으로 `medium`이 기본값입니다.
- `-movflags +faststart`: MP4 파일을 웹에서 스트리밍할 수 있도록 최적화합니다.
8. 전체 예제 모든 옵션을 결합하여 비디오를 압축하는 전체 명령어는 다음과 같습니다: ```bash ffmpeg -i input.mp4 -vcodec libx264 -preset medium -crf 23 -b:a 128k -movflags +faststart output.mp4 ``` 결론 FFmpeg를 사용하여 비디오를 압축하는 방법은 다양합니다.
입력 파일, 원하는 품질, 해상도, 비트레이트 등을 고려하여 적절한 옵션을 선택하면 됩니다.
FFmpeg는 강력한 도구이므로, 다양한 실험을 통해 최적의 압축 설정을 찾는 것이 중요합니다.
작성자:
정재윤 [비회원]
| 작성일자: 1년 전
2024-09-10 19:04:40
조회수: 143 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 143 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.