FFMPEG를 이용하면 별다른 프로그램 없이도 화면을 녹화할 수 있다.
FFMPEG 설치방법은 아래의 링크를 참고 하길 바란다.
녹화하는 방법은 어렵지 않다.
Windows PowerShell을 열어 아래의 명령을 실행하면 된다.
ffmpeg -y -rtbufsize 100M -f gdigrab -framerate 30 -probesize 10M -draw_mouse 1 -i desktop -c:v libx264 -r 30 -preset ultrafast -tune zerolatency -crf 25 -pix_fmt yuv420p "output.mp4" |
위와 같이 메시지가 표시되고 있다면 성공적으로 녹화가 되는 것이다.
종료할 때는 키보드 'Q' 버튼을 누르면 된다.
옵션 몇 가지만 보자면 다음과 같다.
- 입력 옵션 (화면 이미지 장치)
-f gdigrab : FFMPEG에서 지원하는 윈도우 화면 캡처 장치
-i desktop : 화면 전체 캡처
(여기서 desktop 대신 title=windows_title을 입력시 특정 윈도우만 캡처 가능)
예 > -i title="Windows PowerShell" : Windows PowerShell 창 만 캡처
-framerate 30 : 입력 프레임 수 30fps
-draw_mouse 1 : 마우스 포함 녹화 (0으로 하면 마우스 표시 안됨)
입력 장치에 대한 추가 옵션은 아래의 링크에서 확인하길 바란다.
https://www.ffmpeg.org/ffmpeg-devices.html#Options-8
- 녹화 코덱
-c:v libx264 : h.264 코덱 사용(오픈소스 코덱)
-r 30 : 녹화 프레임 수 (30fps)
-preset ultrafast : 속도를 최대로 (대신 압축률이 낮아 용량이 커짐)
-tune zerolatency : 지연시간 최소
-crf 25 : 영상 손실 값
-. 기본 23, 0 ~ 51, 0에 가까우면 무손실, 51에 가까우면 손실
-. 보통 범위는 17~28이며 17~18이면 시각적으로 문제없다고 함.
-. 이 역시 파일 크기와 상관있다.
-pix_fmt yuv420p : 이미지 포맷 YUV420
"output.mp4" : 저장되는 파일 이름
녹화할 때는 시스템 자원을 얼마나 사용하는지 중요하다.
작업 관리자를 열어보면 점유율을 확인할 수 있다.
테스트 PC 사양
CPU : i7 6700HQ
RAM : 16GB
저장 장치 : SSD
점유율이 나름 나쁘지 않다.
압축 비율 설정이 "ultrafast"라 그나마 점유율이 봐줄 만하지만
이것을 기본(medium)으로만 변경해도 점유율이 20% 이상 올라간다.
그래서!!!!
만약 자신의 컴퓨터가 하드웨어 가속을 지원한다면 아래와 같이 사용하는 것을 권장한다.
NVIDIA 가속 사용하기 (그래픽 카드)
ffmpeg -y -rtbufsize 100M -f gdigrab -framerate 30 -probesize 10M -draw_mouse 1 -i desktop -c:v h264_nvenc -r 30 -preset llhq -tune zerolatency -crf 25 -pix_fmt yuv420p "output.mp4" |
NVIDIA 사용 (GTX950M)
INTEL 가속 사용하기
ffmpeg -y -rtbufsize 100M -f gdigrab -framerate 30 -probesize 10M -draw_mouse 1 -i desktop -c:v h264_qsv -r 30 -preset veryfast -tune zerolatency -crf 25 -pix_fmt yuv420p "output.mp4" |
INTEL 사용 (i7 6700HQ)
위처럼 작업 관리자를 보면 어떤 장치를 이용하는지 와 점유율의 차이를 알 수 있게 된다.
하드웨어 가속(VPU : Video Process Unit)을 사용할 때는 기존 옵션에서 아래의 옵션만 변경해주면 된다.
(물론 다른 기능들이 많이 있지만...)
Nvidia
-c:v h264_nvenc : nvidia 하드웨어 가속 코덱
-preset llhq : preset 명칭이 다르다.
-preset <int> E..V.... Set the encoding preset (from 0 to 11) (default medium)
default E..V....
slow E..V.... hq 2 passes
medium E..V.... hq 1 pass
fast E..V.... hp 1 pass
hp E..V....
hq E..V....
bd E..V....
ll E..V.... low latency
llhq E..V.... low latency hq
llhp E..V.... low latency hp
lossless E..V....
losslesshp E..V....
Intel
-c:v h264_qsv : intel 하드웨어 가속 코덱
-preset veryfast : preset 명칭이 다르다.
-preset <int> E..V.... (from 1 to 7) (default medium)
veryfast E..V....
faster E..V....
fast E..V....
medium E..V....
slow E..V....
slower E..V....
veryslow E..V....
출처 : 하이! 제니스 (https://m.blog.naver.com/PostView.nhn?blogId=chandong83&logNo=221165314186&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F)
댓글