이 글은 플래시, 비디오, 오디오 등 멀티미디어 형식을 활용하고 편집하는 방법을 다루는 세 부분으로 구성된 시리즈 중 두 번째 글입니다. 첫 번째 글에서는 플래시 파일에 초점을 맞췄습니다. 웹사이트에서 플래시 파일을 내려받는 방법, 형식 간 변환(예: flv를 avi로), 플래시 무비와 온라인 스트림에서 음악 추출하기, 다양한 형식을 .swf 파일로 변환하기, 플래시 비디오에 메타 데이터 삽입하기 등 여러 유용한 기술을 소개했습니다.
이번 글에서는 비디오 파일을 다뤄보겠습니다. 파일 분할과 병합, 인코딩 및 압축 방식 변경, 오디오와 비디오의 비트레이트 불일치 문제 해결 등의 작업을 살펴볼 예정입니다. 마지막 세 번째 글에서는 오디오 파일을 다룹니다. .mp3, .ogg, .wav 등 다양한 음악 형식 간 변환, 사운드 믹싱, 서로 다른 트랙의 구간을 이어 붙여 나만의 음악 만들기 등을 소개할 계획입니다.
그뿐만 아니라 일상적인 멀티미디어 작업에 도움이 되는 유용한 프로그램, 특히 오디오·비디오 녹화 소프트웨어도 함께 알아보겠습니다. 무엇보다 좋은 점은 여기서 소개하는 모든 도구가 무료라는 것입니다. Windows와 Linux 양쪽 환경의 예시도 모두 담았으니, 지금 바로 시작해 보겠습니다.
목차
- 비디오 파일 다루기
- 비디오 파일 분할하기
- 비디오 파일 합치기
- 파일 형식, 프레임 레이트, 압축 변경하기
- 음성 싱크 불일치 수정하기
- 비디오 녹화하기
- 요약
- 마무리
비디오 파일 다루기
여러분에게 어떤 종류든 비디오 파일이 하나 있다고 가정해 보겠습니다. CD에 굽고 싶은데 용량이 너무 커서 여러 개로 나눠야 한다면? 반대로 잘게 나뉜 조각들을 하나의 파일로 합치고 싶다면? 재생할 때 끊김이 있는 영화가 있다면? 아니면 소리와 화면이 맞지 않아 어색한 외국 영화 더빙처럼 보이는 경우도 있겠죠. 아니면 용량을 줄이기 위해 더 효율적인 형식으로 다시 인코딩하고 싶을 수도 있습니다.
이런 작업들은 컴퓨터를 사용하는 누구나 한 번쯤 겪는 아주 흔한 문제들입니다. 이 자습서에서는 이러한 문제들을 아주 간단하고 쉽게 해결하는 방법을 배워보겠습니다. 먼저 파일을 작은 단위로 분할하는 것부터 시작합니다.
비디오 파일 분할하기
HJSplit
홈페이지: HJSplit 공식 사이트
Windows와 Linux 사용자 모두에게 적합한 크로스플랫폼 도구로 HJSplit이 있습니다. 정말 단순하고 친숙한 유틸리티입니다. Linux에서는 대부분의 저장소에 기본 포함되어 있지 않지만, 뛰어난 멀티미디어 지원으로 유명한 배포판인 Dreamlinux에는 포함되어 있습니다. Dreamlinux에 대해 더 궁금하다면 관련 리뷰 및 자습서 글을 참고하세요. 다양한 멀티미디어 기능은 해당 글 4페이지에서 자세히 다룹니다.
VirtualDub
홈페이지: VirtualDub 공식 사이트
Windows 사용자에게는 또 다른 선택지인 VirtualDub가 있습니다. 제가 가장 아끼는 미디어 처리 프로그램 중 하나로, 다양한 작업에 자주 활용하고 있습니다. 이 글에서 다루는 많은 작업도 VirtualDub로 시연해 보겠습니다.
HJSplit처럼 동영상을 짧은 조각으로 자를 수 있을 뿐만 아니라, 파일의 시작이나 끝에 국한되지 않고 동영상 중간의 특정 구간을 추출해 개별 파일로 저장할 수도 있습니다. 원하는 범위를 지정하려면 화살표 모양의 마커를 사용하면 됩니다.
그다음 File > Save segmented AVI... 메뉴로 잘라낸 구간을 저장합니다.
단, 이것은 작업의 일부일 뿐이라는 점에 유의하세요. 아직 출력 형식에 대해서는 전혀 언급하지 않았습니다! VirtualDub는 설정된 비디오·오디오 처리 모드와 압축 방식에 따라 구간을 처리합니다. 이 부분은 잠시 후에 다룰 테니 조금만 기다려 주세요.
비디오 파일 합치기
마찬가지로 HJSplit과 VirtualDub로 작업할 수 있습니다. HJSplit을 사용하면 훨씬 간단합니다. 분할된 조각들을 찾아서 합치기만 하면 됩니다.
VirtualDub는 이 부분에서 약간 까다롭지만 특별할 것은 없습니다. 첫 단계는 편집하고자 하는 두 개 이상의 파일을 여는 것입니다. 영화가 1부와 2부로 나뉘어 있다면, 당연히 1부 끝에 2부를 이어 붙이고 싶을 것입니다.
그러려면 1부 파일을 연 다음 File > Append AVI segment... 메뉴로 이동합니다. VirtualDub가 추가할 파일을 물어보면 2부를 선택합니다. 그런 다음 합쳐진 결과물을 저장합니다(File > Save as AVI...). 같은 조각을 반복해서 덧붙이는 방식으로 반복 재생 영상을 만드는 것도 가능합니다.
파일 형식, 프레임 레이트, 압축 변경하기
영화의 인코딩 방식을 바꾸거나 오디오 형식을 변경하고 싶다면 VirtualDub가 딱입니다. 오디오나 비디오(또는 둘 다)에 적용되는 압축 방식을 변경하여 손쉽게 파일 크기를 줄이거나 늘릴 수 있습니다. 선택 가능한 옵션은 시스템에 설치된 코덱에 따라 달라집니다.
방법은 다음과 같습니다. 먼저 파일을 열고 메뉴에서 Video를 클릭한 후 Full processing mode를 선택합니다.
품질을 다소 희생하더라도 Fast recompress 또는 Normal recompress로 빠르게 재압축할 수도 있습니다. Direct stream copy는 비디오를 아무 처리 없이 그대로 복사합니다. 예를 들어 비디오는 건드리지 않고 오디오만 재압축하고 싶을 때 시간과 노력을 절약할 수 있는 유용한 옵션입니다.
Direct stream copy를 제외한 옵션을 하나 선택하면 메뉴 상단의 회색으로 비활성화됐던 항목들이 사용 가능하게 됩니다. 여기서는 Frame Rate와 Compression이 핵심입니다.
이곳에서 출력 파일의 속성을 자유롭게 조정할 수 있습니다. 예를 들어, 1942: Pacific Air War 관련 글을 위해 DOSBox에서 녹화한 게임 영상은 원본 ZMBV 형식 대신 XviD 형식으로 재처리하여 약 4.5배나 작게 만들었습니다.
마찬가지로 프레임 레이트도 올리거나 내릴 수 있습니다.
주의할 점이 있습니다. 비디오(또는 오디오)를 처리하는 모든 작업 전에 반드시 압축 설정을 확인해야 합니다. 기본값은 압축 없음(raw 데이터)이기 때문에, 설정을 건너뛰면 출력 파일이 어마어마하게 커질 수 있습니다.
따라서 VirtualDub로 파일을 분할하거나 합치기 전에 올바른 압축을 설정했는지, 또는 Direct stream copy를 사용할지 반드시 확인하세요. 오디오도 같은 방식으로 처리할 수 있습니다. 작업 모드를 고르고, 압축을 선택하면 준비 완료입니다.
ffmpeg
Linux에서는 ffmpeg로 이런 작업을 할 수 있습니다. 이 강력한 유틸리티는 첫 번째 글에서도 소개한 바 있습니다. 예를 들어 .avi 영화를 .vcd 파일로 변환하려면:
ffmpeg -i input.avi -target vcd vcd-output.mpg
출력 파일의 프레임 레이트를 24FPS로 강제 지정하려면:
ffmpeg -i input.avi -r 24 output.avi
Avidemux
홈페이지: Avidemux 공식 사이트
GUI 환경을 선호한다면 Linux용으로 또 하나 소개할 도구가 있습니다. 바로 Avidemux입니다. 참고로 Windows에서도 작동합니다! VirtualDub처럼 비디오·오디오 인코딩 변경, 출력 형식 변경 등 불러온 파일을 원하는 대로 자유롭게 편집할 수 있습니다.
정리하면 이 섹션에서는 세 가지 문제를 한꺼번에 해결했습니다. 서로 다른 형식 간 변환, 비디오와 오디오의 다양한 압축 방식 적용, 필요에 따른 프레임 레이트 변경까지 말입니다.
음성 싱크 불일치 수정하기
VirtualDub 등에서 파일을 불러와 처리하려는데 아래와 같은 경고 메시지를 본 적이 있을 것입니다.
이 경고가 나타난 상태로 파일을 편집하면 최대 42초까지 음성이 화면과 어긋난 채로 처리됩니다. 이건 우리가 원하는 결과가 아니죠. 따라서 경고에서 안내하는 대로 오디오를 먼저 처리하고, 가능하다면 권장 비트레이트까지 사용하는 것이 좋습니다. 마찬가지로 소리가 끊기는 파일이 있다면 위에서 소개한 프로그램 중 하나로 불러들여 재처리하면 됩니다.
비디오 녹화하기
컴퓨터 화면을 녹화해 발표 자료, 자습서, 심지어 게임 영상까지 직접 만들고 싶을 때가 있습니다. 예를 들어 제 1942: Pacific Air War 글에는 두 개의 영상이 포함되어 있고, Gutsy Gibbon 리뷰 역시 Compiz의 강력함과 아름다움을 보여주는 영상 두 개를 담고 있습니다. 이 자습서와 첫 번째 글에서 언급한 팁과 기법 일부는 이미 이 두 글에서 검토한 내용입니다.
Xvidcap
홈페이지: Xvidcap 공식 사이트
정말 훌륭한 도구입니다. 저는 Ubuntu 7.10 Gutsy Gibbon의 Compiz 시연 영상을 만들 때 이 도구를 사용했습니다. 플래시를 포함한 다양한 출력 형식을 지원하며, 상당수 Linux 배포판의 저장소에서 이 유틸리티를 찾을 수 있습니다.
ffmpeg
역시 이 강력한 도구가 빠지지 않습니다. ffmpeg는 화면을 캡처할 수 있습니다. 모니터가 여러 대 연결되어 있어도 특정 디스플레이만 골라서 녹화할 수 있습니다. 가장 흔한 작업들의 예제가 많으니 공식 문서를 살펴보는 것을 강력히 추천합니다. 참고로 ffmpeg는 오디오 장치 캡처도 가능합니다.
DOSBox
홈페이지: DOSBox 공식 사이트
이것은 엄밀히 말해 비디오 녹화 소프트웨어는 아닙니다. MS-DOS 에뮬레이터로, 현대 운영체제가 설치된 최신 컴퓨터에서 어린 시절의 클래식 게임을 즐길 수 있게 해주는 훌륭한 프로그램입니다. 그리고 내부에서 실행되는 응용 프로그램과 게임의 영상을 녹화하는 기능도 갖추고 있습니다.

예를 들어 제 1942: Pacific Air War 영상들은 모두 DOSBox 안에서 녹화된 것입니다. DOSBox는 ZMBV 형식으로 인코딩된 .avi 영상을 생성하며, 별도의 코덱 설치 없이 VideoLAN(VLC)에서 바로 재생할 수 있습니다. 영상을 만드는 방법은 간단합니다. Ctrl + Alt + F5 키로 녹화를 시작/중지하면 됩니다.
기타 도구
Windows에서는 VideoLAN(VLC)과 VirtualDup 모두로 영상을 녹화할 수 있습니다. 두 프로그램 모두 첫 번째 글과 이 글에서 이미 소개했습니다. 추가로 VirtualDub는 플러그인으로 기능을 크게 확장할 수 있습니다. AC-3, FLAC, FLV 등 다양한 파일 형식 지원 플러그인이 있으며, 아래 페이지에서 찾을 수 있습니다.
요약
실로 많은 작업을 해냈습니다. VirtualDub와 HJSplit로 비디오 파일을 분할하고 병합했으며, VirtualDub와 ffmpeg로 압축 방식, 프레임 레이트, 출력 형식을 변경했습니다. Windows와 Linux 양쪽에서 모두 작동하는 Avidemux도 유용한 대안입니다. 마지막으로 VirtualDub에서 음성 싱크 불일치 문제를 해결하는 방법을 알아봤고, 보너스로 데스크톱 화면 녹화 작업까지 살펴봤습니다.
마무리
보시다시피 비디오 작업은 생각보다 훨씬 간단합니다. Windows든 Linux든 빠르고 효율적으로 작업을 완료할 수 있습니다. 명령줄 도구(ffmpeg)를 사용하지 않아도 되지만, 빠르고 강력한 도구인 만큼 두려워하지 말고 적극적으로 활용해 보시기 바랍니다. 다음 파트에서는 오디오를 다뤄보겠습니다.
P.S. 이 시리즈의 네 번째 편(예고는 없었지만 반드시 나옵니다!)에서는 영화에 자막을 영구적으로 입히는 방법을 소개할 예정입니다. 물론 다른 유용한 내용도 함께 다룰 겁니다 :) P.P.S. 언젠가 플래시 애니메이션과 슬라이드쇼 제작 방법도 소개할 테니 기대해 주세요.
그때까지 즐거운 멀티미디어 작업 되세요!