Categories
FFmpeg

FFmpeg으로 캡처 카드 입력을 동영상 파일로 저장하는 방법

FFmpeg 을 이용해서 캡처 카드의 입력을 동영상 파일로 저장하는 방법을 알아보자.

1. 캡처 카드의 비디오 정보 알아내기

아래 명령으로 캡처 카드의 비디오 장치 이름을 알아낸다.

v4l2-ctl –list-devices

비디오 장치의 이름은 /dev/video0 인 경우가 대부분이다.

아래 명령으로 캡처 카드의 비디오 해상도 정보를 알아낸다.

v4l2-ctl –list-formats-ext

v4l2-ctl 명령 대신 ffmpeg 명령을 사용해도 된다.

ffmpeg -hide_banner -f v4l2 -list_formats all -i /dev/video0

2. 캡처 카드의 오디오 정보 알아내기

아래 명령으로 캡처 카드의 오디오 장치 이름을 알아낸다.

arecord -L | grep hw

오디오 장치 이름은 항상 ‘hw:’ 로 시작한다.

‘hw:CARD=U0x1e4e0x7016,DEV=0’ 은 오디오 장치 이름의 한 예이다.

3. FFmpeg 명령어 구성

앞에서 알아낸 정보를 이용해서 FFmpeg 명령어를 구성하면 다음과 같다.

ffmpeg -f v4l2 -video_size 1920×1080 -i /dev/video0 -f alsa -ac 2 -i hw:CARD=U0x1e4e0x7016,DEV=0 -c:v libx264 -preset ultrafast -c:a aac capture.mkv

‘-ac 2’ 옵션은 스테레오 입력을 받기 위한 것이다.

-preset 옵션은 인코딩 속도를 지정한다. 속도가 느릴수록 동영상의 품질이 좋아진다. 캡처 카드의 입력을 저장할 때는 매우 빠른 인코딩 속도가 필요하므로 옵션값을 ultrafast 로 지정한다.

Leave a Reply

Your email address will not be published. Required fields are marked *