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에서 화면, 카메라, 오디오를 조합해 다양한 녹화를 할 수 있습니다. 장치 이름과 환경에 맞게 입력 옵션을 조정하는 것이 핵심입니다.
작성자:
김지후 [비회원]
| 작성일자: 1년 전
2024-09-10 19:04:41
조회수: 338 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 338 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.