2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

FFmpeg로 비디오를 녹화하는 방법은?

_____
Q1: FFmpeg로 화면을 녹화하려면 어떻게 하나요?
A1: 운영체제에 따라 입력 장치 이름만 다르고 기본 명령어 구조는 비슷합니다.

- Windows (디스플레이 녹화):
```
ffmpeg -f gdigrab -framerate 30 -i desktop output.mp4
```

- macOS (디스플레이 녹화):
```
ffmpeg -f avfoundation -framerate 30 -i 1 output.mp4
```
※ 1은 화면 장치 번호이며, `ffmpeg -f avfoundation -list_devices true -i ""`로 확인 가능.

- Linux (X11 디스플레이 녹화):
```
ffmpeg -f x11grab -framerate 30 -i :0.0 output.mp4
```
※ `:0.0`는 디스플레이 번호.

---

Q2: 웹캠(카메라)에서 직접 비디오를 녹화하려면?
A2: 장치 이름을 알아야 합니다.

- Windows (DirectShow):
장치 목록 확인:
```
ffmpeg -list_devices true -f dshow -i dummy
```
녹화:
```
ffmpeg -f dshow -i video="장치이름" output.mp4
```

- macOS (AVFoundation):
장치 목록 확인:
```
ffmpeg -f avfoundation -list_devices true -i ""
```
녹화:
```
ffmpeg -f avfoundation -i "0" output.mp4
```

- Linux (v4l2):
장치 확인 (`/dev/video0`, `/dev/video1` 등) 후,
```
ffmpeg -f v4l2 -i /dev/video0 output.mp4
```

---

Q3: 오디오를 같이 녹음하려면 어떻게 하나요?
A3: 오디오 장치를 추가해야 합니다.

- Windows (DirectShow 예):
비디오와 오디오 장치 이름을 알아야 하며,
```
ffmpeg -f dshow -i video="웹캠이름":audio="마이크이름" output.mp4
```

- macOS (AVFoundation 예):
```
ffmpeg -f avfoundation -i "비디오장치번호:오디오장치번호" output.mp4
```

- Linux (예: ALSA 오디오 /dev/dsp 또는 PulseAudio):
```
ffmpeg -f x11grab -framerate 30 -i :0.0 -f alsa -i default output.mkv
```

---

Q4: 녹화 품질이나 파일 크기는 어떻게 조절하나요?
A4: 비디오 코덱과 인코딩 옵션을 설정하세요.

예: H.264 코덱, 품질 조절 (CRF 값 낮을수록 고품질)
```
ffmpeg -f gdigrab -framerate 30 -i desktop -c:v libx264 -preset fast -crf 23 output.mp4
```

---

Q5: 특정 영역만 녹화하려면 어떻게 하나요?
A5: `-offset_x`, `-offset_y`, `-video_size` 옵션 사용

예 (Windows):
```
ffmpeg -f gdigrab -framerate 30 -offset_x 100 -offset_y 100 -video_size 800x600 -i desktop output.mp4
```

---

Q6: 녹화 중간에 중지하려면?
A6: FFmpeg 창에 `q`를 누르면 안전하게 녹화가 종료됩니다.

---

Q7: 녹화를 특정 시간으로 제한하려면?
A7: `-t` 옵션 사용 (초 단위)
```
ffmpeg -f gdigrab -framerate 30 -i desktop -t 00:00:10 output.mp4
```
(10초 녹화)

---

Q8: 녹화 중 실시간으로 화면도 보면서 저장하려면 어떻게 하나요?
A8: FFmpeg 자체에는 UI가 없으므로, 녹화 중 화면을 띄우려면 출력 포맷으로 `sdl` 또는 `x11grab` 등을 설정하거나 별도 플레이어 필요. 예:
```
ffmpeg -f x11grab -i :0.0 -f sdl "Window"
```
하지만 일반적으론 녹화 후 재생을 권장.

---

Q9: FFmpeg로 유튜브 실시간 스트리밍 녹화는 가능하나요?
A9: 네, 스트림 URL을 입력으로 사용하면 녹화 가능합니다. 예:
```
ffmpeg -i "스트림URL" -c copy output.mp4
```

---

위와 같이 FFmpeg에서 화면, 카메라, 오디오를 조합해 다양한 녹화를 할 수 있습니다. 장치 이름과 환경에 맞게 입력 옵션을 조정하는 것이 핵심입니다.
FFmpeg는 비디오 및 오디오 파일을 처리하는 데 사용되는 강력한 오픈 소스 소프트웨어입니다.

FFmpeg를 사용하여 비디오를 녹화하는 방법은 여러 가지가 있으며, 여기서는 화면 녹화와 웹캠 녹화 두 가지 방법을 자세히 설명하겠습니다.

1. FFmpeg 설치하기 FFmpeg를 사용하기 위해서는 먼저 시스템에 설치해야 합니다.

FFmpeg는 다양한 운영 체제에서 사용할 수 있으며, 각 운영 체제에 따라 설치 방법이 다릅니다.

- Windows : 1. FFmpeg의 공식 웹사이트(https://ffmpeg.org/download.html)에서 Windows 빌드를 다운로드합니다.



2. 압축 파일을 풀고, `bin` 폴더에 있는 `ffmpeg.exe` 파일의 경로를 시스템 PATH에 추가합니다.

- macOS : 1. Homebrew가 설치되어 있다면, 터미널에서 다음 명령어를 입력하여 FFmpeg를 설치할 수 있습니다.

```bash brew install ffmpeg ``` - Linux : 1. 대부분의 배포판에서 패키지 관리자를 통해 FFmpeg를 설치할 수 있습니다.

예를 들어, Ubuntu에서는 다음 명령어를 사용할 수 있습니다.

```bash sudo apt update sudo apt install ffmpeg ```

2. 화면 녹화하기 화면을 녹화하려면 FFmpeg의 `x11grab`(Linux) 또는 `gdigrab`(Windows) 기능을 사용할 수 있습니다.

Windows에서 화면 녹화하기 ```bash ffmpeg -f gdigrab -framerate 30 -i desktop -c:v libx264 -pix_fmt yuv420p output.mp4 ``` - `-f gdigrab`: GDI를 사용하여 화면을 캡처합니다.

- `-framerate 30`: 초당 30프레임으로 녹화합니다.

- `-i desktop`: 전체 화면을 녹화합니다.

특정 영역을 녹화하려면 `-i desktop -video_size WIDTHxHEIGHT -offset_x X -offset_y Y` 형식으로 지정할 수 있습니다.

- `-c:v libx264`: 비디오 코덱으로 H.264를 사용합니다.

- `-pix_fmt yuv420p`: 픽셀 포맷을 지정합니다.

- `output.mp4`: 출력 파일 이름입니다.

Linux에서 화면 녹화하기 ```bash ffmpeg -f x11grab -s $(xdpyinfo | grep dimensions | awk '{print $2}') -i :0.0 -c:v libx264 -pix_fmt yuv420p output.mp4 ``` - `-f x11grab`: X11 화면을 캡처합니다.

- `-s $(xdpyinfo | grep dimensions | awk '{print $2}')`: 화면 크기를 자동으로 가져옵니다.

- `-i :0.0`: 기본 화면을 지정합니다.



3. 웹캠 녹화하기 웹캠을 녹화하려면 `v4l2`(Linux) 또는 `dshow`(Windows)를 사용할 수 있습니다.

Windows에서 웹캠 녹화하기 ```bash ffmpeg -f dshow -i video="Your Webcam Name" -c:v libx264 -pix_fmt yuv420p output.mp4 ``` - `-f dshow`: DirectShow를 사용하여 웹캠을 캡처합니다.

- `video="Your Webcam Name"`: 사용 중인 웹캠의 이름을 지정합니다.

웹캠 이름은 `ffmpeg -list_devices true -f dshow -i dummy` 명령어로 확인할 수 있습니다.

Linux에서 웹캠 녹화하기 ```bash ffmpeg -f v4l2 -i /dev/video0 -c:v libx264 -pix_fmt yuv420p output.mp4 ``` - `-f v4l2`: Video4Linux2를 사용하여 웹캠을 캡처합니다.

- `/dev/video0`: 기본 웹캠 장치입니다.

여러 개의 웹캠이 연결된 경우 다른 장치 번호를 사용할 수 있습니다.



4. 추가 옵션 FFmpeg는 다양한 옵션을 제공하여 녹화 품질, 비트레이트, 오디오 캡처 등을 조정할 수 있습니다.

예를 들어: - 비트레이트 조정 : `-b:v 2000k`를 추가하여 비디오 비트레이트를 2000kbps로 설정할 수 있습니다.

- 오디오 캡처 : 화면 녹화와 동시에 오디오를 캡처하려면, `-f dshow -i audio="Your Audio Device"`를 추가하면 됩니다.



5. 녹화 중지하기 FFmpeg로 녹화를 시작한 후, 터미널에서 `Ctrl + C`를 눌러 녹화를 중지할 수 있습니다.

녹화가 완료되면 지정한 출력 파일에 비디오가 저장됩니다.

결론 FFmpeg를 사용하여 비디오를 녹화하는 방법은 매우 다양하고 유연합니다.

화면 녹화, 웹캠 녹화, 오디오 캡처 등 다양한 기능을 활용하여 원하는 비디오 콘텐츠를 쉽게 생성할 수 있습니다.

FFmpeg의 강력한 기능을 활용하여 비디오 작업을 효율적으로 수행해 보세요.

작성자: 김지후 [비회원] | 작성일자: 1년 전 2024-09-10 19:04:41
조회수: 326 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.