리눅스 데스크톱 환경에서 화면 녹화가 필요하신가요? 시중에 나와 있는 스크린 레코더 프로그램들이 만족스럽지 않다면, 강력한 FFMPEG 인코딩 도구를 고려해 보세요. FFMPEG는 매우 다재다능하여 리눅스 데스크톱 화면 캡처를 포함한 다양한 작업을 처리할 수 있습니다.
주의: 이 글의 마지막 부분에 있는 비디오 튜토리얼을 확인해 보세요.
FFMPEG 설정은 단순히 ‘녹화’ 버튼을 누르는 것보다 조금 복잡할 수 있습니다. 하지만 리눅스 GUI 기반 녹화 도구에서는 얻을 수 없는 수준의 세밀한 제어, 자동화 기능, 사용자 정의 설정을 제공합니다.
FFMPEG 설치
우분투
sudo apt install ffmpeg
데비안
sudo apt-get install ffmpeg
아치 리눅스
sudo pacman -S ffmpeg
페도라
sudo dnf install ffmpeg
오픈수세
sudo zypper install ffmpeg
기타 리눅스
FFMPEG 인코딩 유틸리티는 리눅스를 비롯한 여러 운영체제에서 널리 사용되는 비디오 도구입니다. 대부분의 리눅스 배포판에서 기본적으로 지원합니다. 만약 사용하시는 리눅스 운영체제에서 FFMPEG 바이너리 패키지를 지원하지 않는다면, 수동 설치가 가장 좋은 방법입니다. FFMPEG Github 저장소를 방문하여 설치 방법을 확인하실 수 있습니다.
수동 설치를 위해서는 먼저 git 도구가 설치되어 있는지 확인해야 합니다. 설치 후에는 터미널을 열고 다음 명령어를 입력하여 소프트웨어를 빌드합니다.
git clone https://github.com/FFmpeg/FFmpeg.git
다음으로, CD 명령어를 사용하여 FFMPEG 디렉토리로 이동합니다.
cd FFmpeg
소프트웨어 컴파일을 시작하기 전에 시스템 환경에 맞는 구성 파일을 생성해야 합니다. 이는 소프트웨어가 시스템을 인식하고 올바르게 빌드되도록 하는 데 필수적입니다.
./configure
./configure 과정에서 문제가 발생했나요? 다음 명령어를 시도해 보세요.
./configure --help
컴파일 과정의 다음 단계는 make 명령어를 사용하는 것입니다. Make 명령어는 소프트웨어 빌드 및 FFMPEG 설치에서 가장 중요한 역할을 담당합니다.
make
마지막으로 install 명령어를 사용하여 시스템에 소프트웨어를 설치합니다.
sudo make install
화면 녹화하기
FFMPEG는 매우 다양한 기능을 제공하며, 비디오 캡처를 포함한 거의 모든 작업을 수행할 수 있도록 구성할 수 있습니다. 기본적으로 모든 화면을 캡처하는 방식으로 작동하며 간단하지만 효과적입니다. 사용하려면 터미널 창을 열어야 합니다. 녹화를 시작하기 전에 특정 폴더를 생성하여 녹화 파일들을 관리하는 것이 좋습니다. 이렇게 하면 녹화된 파일들이 다른 곳에 흩어지지 않고 한 곳에 모이게 됩니다.
mkdir 명령어를 사용하여 ~/Videos 폴더 안에 새로운 캡처 폴더를 생성합니다.
mkdir -p ~/Videos/ffmpeg-capture/
그 다음, 터미널을 새로 만든 디렉토리로 이동하여 캡처가 해당 위치에서 이루어지도록 합니다.
cd ~/Videos/ffmpeg-capture/
이제 화면 녹화를 시작할 수 있습니다. 다음은 기본적인 캡처 명령어입니다.
ffmpeg -f x11grab -y -r 30 -s 1920x1080 -i :0.0 -vcodec huffyuv out.avi
녹화하는 모니터 해상도에 맞춰 명령어를 수정해야 합니다. 위의 명령어는 1920×1080 해상도로, 초당 30프레임으로 데스크톱을 녹화하여 capture.mp4라는 이름의 파일로 출력하도록 설정되어 있습니다. 일반적으로 화면 녹화에는 25FPS 정도면 충분합니다. 하지만 비디오 게임이나 영화처럼 높은 프레임 속도를 요구하는 경우, 30에서 60으로 변경하는 것을 고려해 볼 수 있습니다. FPS를 30에서 60으로 변경하면 사양이 낮은 컴퓨터에서는 성능 저하가 발생할 수 있으므로, 변경하기 전에 컴퓨터가 향상된 성능을 감당할 수 있는지 확인해야 합니다.
키보드의 ‘q’ 키를 눌러 언제든지 녹화를 중단할 수 있습니다.
화면 녹화와 웹캠 동시 사용
FFMPEG를 사용하여 데스크톱 화면과 웹캠을 동시에 녹화할 수 있습니다. 이를 위해서는 두 개의 분리된 명령어를 사용해야 합니다. 첫 번째 명령어는 현재 리눅스에 연결된 웹캠을 표시하고, 두 번째 명령어는 화면 캡처를 담당합니다.
첫 번째 명령어를 실행하기 위해 터미널 창을 열고 다음을 입력합니다.
ffplay -f video4linux2 -i /dev/video0 -video_size 320x240 -fflags nobuffer
이 명령어는 320×240 해상도로 웹캠 화면을 거의 실시간으로 표시합니다. 창 크기에 너무 신경 쓰지 마세요. 녹화 시에는 적절한 크기로 표시됩니다. 웹캠 창을 원하는 위치에 배치하고, 창 관리자가 숨기기를 지원한다면 창 컨트롤을 숨기는 것이 좋습니다.
참고: 320×240 해상도가 마음에 들지 않는다면 다른 해상도를 사용해 보세요. 웹캠 설명서를 참고하여 최적의 해상도를 찾는 것이 좋습니다. 하지만 장치가 감당할 수 있는 해상도보다 높은 해상도를 사용하면 문제가 발생할 수 있습니다.
첫 번째 터미널 창을 열어 웹캠 화면을 표시한 후, 두 번째 터미널 창을 열어 실제 녹화를 시작합니다.
cd ~/Videos/ffmpeg-capture/
ffmpeg -f x11grab -r 30 -s cif -i :0.0 capture.mp4
두 개의 터미널 창이 모두 열려 있는 동안 데스크톱 화면이 30FPS로 녹화되고 웹캠 화면이 함께 표시됩니다.
녹화를 중지하려면 FFMPEG 창으로 이동하여 ‘q’ 키를 눌러 종료한 다음, FFPLAY 터미널(웹캠을 방송하는 터미널)로 이동하여 Ctrl + Z 키를 누릅니다.
녹화된 파일은 ~/Videos/ffmpeg-capture/ 폴더에 저장됩니다.