지난번 소개한 [도전! DivX 제작] ⓛ 프리웨어 CladDVD로 동영상 추출하기에서는 DVD 타이틀을 DivX 동영상으로 변환하는데 필요한 준비물에 대한 소개와 CladDVD 프로그램의 설치에 대해서 살펴보았다.
이번 강좌에서는 CladDVD를 사용한 DVD 타이틀을 HDD에 복사하는 과정과 FlaskMPEG를 통해 DivX 인코딩을 통해 최종 결과물을 얻는 방법에 대해서 살펴본다.
CladDVD로 동영상 추출
먼저 CladDVD에 변환하고자하는 DVD 타이틀을 넣었을 때의 초기 화면을 통해 CladDVD의 전체적인 모습을 살펴보도록 하자.

CladDVD 초기화면
CladDVD 초기화면은 크게 두 부분으로 나눌 수 있는데, 좌측부분에는 현재 삽입된 DVD타이틀의 파일 상태, 지역코드, 해상도, 출력방식 등의 정보가 나타나며, 우측에 위치한 4개의 버튼은 CladDVD를 동작시키는 역할을 담당한다. CladDVD가 단순히 DVD내의 파일을 하드디스크에 복사해주는 프로그램이기 때문에 사용방법은 그리 어렵지 않다.
제공되는 DVD타이틀의 정보 중에 좌측 항목을 통해 DVD내의 파일을 추출할 방법을 선택할 수 있다. 지원되는 모드로는 [Disk Mode], [File Mode]가 있으며, [File Mode]는 또다시 ‘Select Main Movie’와 ‘Select Full DVD’로 나뉜다.
[Disk Mode]는 DVD전체의 내용을 하나의 파일로 생성해주는 역할을, [File Mode]의 ‘Select Main Movie’는 DVD내의 파일중의 일부를 선택하여 추출해주는 역할을 한다.

참고로 DVD내의 파일을 살펴보면 크게 3가지 유형으로 분류되어 있음을 확인할 수 있다.
*.VOB : 비디오 파일
*.IFO : 비디오파일 재생과 관련된 정보 파일
*.BUP : IFO파일의 백업
실제로 영상과 사운드가 포함되어 있는 것이 바로 VOB 파일이며, 용량도 다른 두 가지보다 훨씬 크다. 대부분 1GB 이상의 용량을 제공하고 있다. 단순히 VOB 파일을 하드디스크에 복사해도 동영상이 재생이 될 수 있지 않을까라고 생각할 수 있지만 CSS라는 복사방지로 인해 이는 불가능하다. 따라서 이렇게 복사방지를 풀면서 복사해주는 CladDVD와 같은 프로그램을 사용해야 한다.
[Disk Mode]는 여러 개로 나뉘어져 있는 VOB 파일을 IFO정보를 통해 한개의 VOB 파일로 합친 다음 추출할 때 사용된다. [File Mode]의 ‘Select Main Movie’는 중요 영화파일만을 추출할 때, [File Mode]의 ‘Select Full DVD’는 DVD에 포함된 영화 한편을 모두 추출할 때 사용된다. DVD내의 영화나 애니메이션 등을 추출한다면 [Flie Mode] - ‘Select Full DVD’를 선택하면 된다.
이밖에 CladDVD의 중앙에 위치한 항목에는 DVD 타이틀의 자세한 정보가 제공된다.

DVD 정보에는 DVD타이틀의 볼륨명과 현재 지역코드가 표시된다. 타이틀 정보에는 영상의 압축 방식과 해상도, 그리고 출력방식 및 스크린 비율 등에 대한 정보를 제공해준다. 테스트에 사용된 DVD 타이틀의 경우 볼륨명은 PLEASESAVEMYEARTH_VOL1이며 지역 코드는 3(홍콩, 대만, 한국을 포함안 동남아 국가에 해당), 영상은 MPEG2 포맷으로 720x480의 해상도를 제공하며, NTSC 출력과 4:3 화면 비율로 제작되었음을 확인할 수 있다. 이밖에 제일 하단에는 DVD에 사용된 오디오의 정보와 자막의 정보를 확인할 수 있다.
CladDVD를 통한 실제 복사작업에 들어가기에 앞서 옵션항목을 살펴보자.

옵션항목에서는 추출될 파일이 복사될 경로와 추출 방법 등을 설정할 수 있다. DVD 타이틀의 경우에 따라 약간 차이가 나지만 DVD 전체의 내용을 추출할 경우 약 4~7GB의 용량이 필요하기 때문에 HDD의 여유공간이 넉넉한 곳의 경로를 지정해야 한다.
‘Remove MacroVision Video Encording’은 비디오 인코딩 시에 매크로비전(비디오를 통한 DVD 복제를 막기위해 플레이어 자체에 삽입되어 있는 전자 회로 등의 복사방지 시스템) 복제방지가 걸려있는 경우 이를 해제하는 역할을 담당한다. 따라서 꼭 체크돼 있는지 확인해야 한다. 그밖에 지역코드를 제거하거나 오디오 스트림과 비디오 멀티앵글을 선택할 수 있으며 특별한 경우가 아니라면 그냥 기본값으로 사용해도 무방하다.
이제 모든 준비과정이 끝났다. 이제 CladDVD 초기화면의 [Start Rip] 버튼을 클릭하면 DVD 타이틀내의 파일들을 하드디스크에 복사하는 과정이 진행된다.

DVD 타이틀내의 파일들을 하드디스크에 복사하는 과정
DVD 타이틀과 자신이 DVD롬에 따라 약간의 차이를 보이지만 DVD내의 파일을 하드디스크에 복사하는 시간은 대략 20~40분 정도 소요된다. 모든 복사과정이 끝나면 앞서 지정한 경로에 파일들이 저장되어 있는 것을 확인할 수 있다.
[Disk Mode]의 경우 단일 VOB 파일이 생성되며, [File Mode]- ‘Select Full DVD’의 경우 DVD내의 파일과 동일하게 VOB, IFO, BUP등의 파일들이 복사됐음을 확인할 수 있다.
[DIsk Mode]의 경우 2개의 VOB 파일로 복사가 됐는데, 이는 FAT32 파일 포맷의 경우 단일 파일의 최대 크기가 4GB이하이기 때문에 2개로 나눠 저장됐기 때문이다. 만약 NTFS 파일 시스템을 사용한다면 CladDVD 옵션에서 'Force Flim on FTFS Source to 23.976' 부분에 체크하면 한 개의 파일로 생성시킬 수 있다.

DivX 포맷의 동영상을 재생하기 위한 DivX 코덱 설치
이제 생성된 파일을 DivX코덱을 통해 인코딩하는 과정이 남았다.
DivX코덱을 사용한 인코딩 작업을 위해서는 시스템에 DivX 코덱을 설치해야 한다. DivX 코덱의 경우 번들 버전과 프로버전으로 나뉘는데 번들 버전의 경우 사용상에 아무런 제한이 없는 프리웨어인 것에 반해 프로 버전의 경우에는 별도로 돈을 내고 구입해야 하는 상용 프로그램이다.
프로버전은 표준 버전에 비해 인코딩(B-frames, Q-pel, GMC), ‘MPEG-4 Advanced Simple Profile’, ‘공식 DivX Player’, ‘EKG 비디오 인코딩 툴’ 등의 기능이 추가로 제공된다.
가격이 무료인 애드웨어 버전도 있다. 다만 애드웨어가 포함되어 있기 때문에 인터넷 검색시에 팝업 광고 등이 나타날 수 있으며 사용자 정보가 웹사이트에 전송될 수다.
- DivX 코덱, DivX v5.1 Bundle 다운로드
- DivX 코덱, DivX Pro v5.1 Bundle(Adware) 다운로드
이번 강좌에서는 프리웨어인 DivX 5.1 Bundle을 이용하도록 하겠다. DivX 코덱은 마우스 몇 번의 클릭만으로 손쉽게 설치를 할 수 있으며 설치과정이 끝난 후에 [시작]-[프로그램]-[DivX]-[DivX Codec]-config.exe를 실행하면 자신의 시스템에 설치된 DivX 코덱의 정보를 확인할 수 있다.

DivX v5.1 코덱 정보
Flask MPEG로 DivX 인코딩
이제 파일 추출이 성공했으니 DivX로 인코딩 하는 작업을 진행해보도록 하자. VOB 파일을 DivX포맷의 동영상으로 인코딩하려면 FlaskMpeg라는 프로그램이 필요하다. 현재 FlaskMpeg는 FlaskMPEG 0.6 Preview 버전과 몇 가지 기능들이 개선된 FlaskMPEG 0.78.39 Beta 버전이 공개돼 있다.
이번 강좌에서는 좀더 다양한 기능이 추가된 FlaskMPEG 0.78.39 Beta 버전을 사용한다. 다운로드 받은 파일을 임의의 폴더에 압축을 풀어주면 된다.

FlaskMPEG 초기 화면
먼저 작업을 위해 File-Open Media를 선택해 추출한 파일이 있는 폴더로 이동한 후 실제 영화에 대한 정보를 담고 있는 ifo 파일을 선택하면 아래와 같은 창이 뜨게 된다.

VOB 파일 정보
제일 상단의 DVD 타이틀 부분은 DVD 타이틀에 대한 상영 시간과 앵글 정보를, ‘DVD Audio Tracks’은 수록된 오디오 트랙 정보를, ‘DVD usbtittles’는 자막 파일의 정보를 확인할 수 있다.
필자가 사용한 DVD 타이틀은 '나의지구를 지켜줘 Vol1'으로 상영시간은 1시간 29분이며, 오디오 트랙이 기본으로 일본어로 제공되며 이밖에 한국어와 영어도 제공되고 있다. 이밖에 한글 및 일본어, 영어 자막을 제공하고 있음을 확인할 수 있다. 만약 DVD subtittles에서 자막을 선택하게 되면 인코딩된 동영상 파일에 자막이 입혀져 표시된다.
그러나 이 경우 포함된 자막은 지우거나 수정을 할 수 없기 때문에 동영상내에 자막이 포함되기를 원치 않을 경우에는 이 부분을 선택하지 않은 채로 남겨 두면 된다. 모든 설정이 끝났다면 'Falsk this DVD!'를 클릭한다.

IFO 파일을 불러온 후의 FlaskMPEG의 모습
FlaskMPEG의 초기 화면을 살펴보면 위쪽은 동영상이 재생되는 화면과 아래쪽은 각종 컨트롤 버튼들로 구성돼 있는 단순한 구성을 하고 있다. 상단의 옵션 메뉴를 통해 DivX 인코딩시의 Flask MPEG의 각종 설정을 해주도록 하자.
비디오 옵션 설정
비디오 옵션 항목은 인코딩되는 동영상의 비디오 관련 설정을 해줄 수 있는 항목이다. 먼저 [Frame Size]는 DVD 타이틀의 해상도로써 보통 NTSC 방식은 720x480을, PAL 방tlrdms 720x576 해상도가 사용된다. 이 해상도를 그대로 DivX 인코딩을 할 수도 있는데, 이 경우 왜곡이 발생할 수 있기 때문에 대부분 좌우 비율에 맞춰 줄여 주곤 한다.
[Time Base]는 변환하고자 하는 DVD에 맞는 프레임 레이트를 설정해주면 된다. 만약 유럽쪽 PAL 방식의 DVD 라면 25 프레임을 선택하고 북미쪽이나 아시와 지역과 같이 NTSC 방식의 DVD일 경우 29.97 프레임을 선택하면 된다.
[Video Structure]에서 'Deinterlace output' 항목을 선택하면 약간의 화질 개선이 있는 반면 변환하는데 매우 오랜 시간이 소요된다. Interlace(TV) 형식으로 만들어진 영상을 컴퓨터 모니터에서 재생하기 위해서는 Progressive 형식으로 바꾸어 하는데, 이렇게 변경하는 과정을 Deinterlacing이라고 한다. DVD에 따라 이 옵션에 큰 영향을 받는 것도 있지만 그 변화가 미미한 경우도 있다.

FlakMPEG의 비디오 관련 옵션
오디오 옵션 설정
오디오 옵션에서는 크게 설정해줄 만한 것은 없다. [Audio Mode]는 기본 설정값인 'Decode audio'을 선택해 주고 [Sampling Frequency]는 우측의 ‘Same as input’은 무시한다. 48000Hz를 선택하면 된다.

FlakMPEG의 오디오 관련 옵션
기타 설정
그 외 나머지 설정들도 있다. 먼저 'Post Processing'메뉴는 인코딩의 전반적인 화질와 영상 크기를 설정할 수 있다.

FlakMPEG의 인코딩 퀄러티에 관련된 옵션
[Resizing Quality options] 항목을 선택하면 변환 과정이 느리지만 최상의 화질을 기대할 수 있다. 또한 화면 크기를 재구성할 때 이미지 손실을 최소화 시켜주는 'Hq bacubic Filtering'를 선택하면 좋다.
'Flies' 메뉴는 인코딩될 DivX 동영상 파일의 이름과 저장될 경로를 설정할 수 있다. 또한 동영상에 새로운 사운드를 입힐 수도 있는데 이를 사용하려면 오디오 설정에서 [Audio Mode]를 ‘Direct Steam Copy’로 설정해야 한다.
FlakMPEG의 파일 저정관련 옵션
마지막으로 'General' 메뉴에서는 인코딩할 시간을 설정할 수 있다. 전체 영화를 인코딩 할 경우에는 'Compile whole file'을 선택하면 되고, Seconds 나 Frames을 선택한 후 수치를 입력하면 인코딩 시작 후 지정된 시간이나 프레임이 지나면 자동으로 종료된다. 전체 파일을 인코딩하는데 너무 오랜 시간이 소요되기 때문에 일부 구간만을 선택해 테스트할 때 이용할 수 있다.

FlakMPEG의 옵션
이밖에 ‘Search size’는 영화 사운드의 대역폭을 설정하는 부분으로 이 값이 너무 작으면 소리가 끊기거나 들리지 않을 수도 있다. 기본값으로 5000이 설정되어 있지만 만약 문제가 발생한다면 약간씩 올려주면 된다.
비디오/오디오 압축 코덱 설정
이것으로써 DivX 인코딩을 위한 설정을 모두 끝났다. 이제 실제 DivX 인코딩 작업에 들어가기에 앞서 비디오 및 오디오 압축 코덱을 설정해 주도록 하자.
이제 Flask MPEG의 옵션 메뉴에서 'Output Format Option'을 선택하면 DivX 인코딩시에 사용될 비디오 및 오디오 코덱을 선택할 수 있는 메뉴가 제공된다.

인코딩될 영상의 비디오/오디오 압축 코덱을 선택하자.
좌측에는 현재 자신의 시스템에서 사용할 수 있는 비디오 및 오디오 코덱들의 리스트가 표시된다. 비디오 코덱중에 사용하고자 하는 비디오 코덱을 선택한 후에 오른쪽의 [Configure]를 선택하면 좀더 자세하게 설정할 수 있다.

다양한 압축 코덱중에 자신에게 맞는 것을 선택하자.
앞에서 우리는 Divx 5.1 코덱을 설치하였기 때문에 비디오 코덱에 DivX@ 5.1 Codec 항목을 발견할 수 있다. 비디오 코덱으로는 DivX 5.1 코덱을 선택하도록 하겠으며 Configure 항목을 통해 다양한 설정을 할 수 있다.
‘Video’ 코덱 설정이 끝나면 ‘Audio’ 코덱을 설정하자. 이 부분은 매우 간단하다. MPEG Layer-3을 선택해 속성에 96kBit/s, 48000Hz, Stereo나 기타 자신이 원하는 포맷을 선택해주면 된다.
물론 좀더 높은 퀄러티의 사운드를 제공하기 위해 Uncompressed PCM Audio'으로 선택할 수도 있지만 이는 다음 강좌에서 살펴보도록 하고 일단은 MPEG Layer-3을 선택하도록 하겠다.
이렇게 모든 설정이 끝나면 Run 메뉴의 'Start Conversion'을 선택하면 인코딩 과정이 진행된다. 인코딩 설정에 따라 다소 차이가 있지만 최소 몇 시간 이상 인코딩 작업이 진행되곤 한다.

DivX 인코딩 과정이 진행중
모든 작업을 마치면 앞에서 지정한 경로에 AVI 동영상 확장자를 갖는 DivX 파일이 만들어진다. 이제 미디어 플레이어나 아드레날린등으로 감상을 하면서 잘못된 부분이 없나 확인하면 된다.
지금까지 CladDVD를 이용하여 DVD 타이틀에서 파일을 HDD에 복사하는 과정과 이렇게 복사된 파일들을 FlaskMPEG를 이용해 인코딩 과정을 거쳐 DivX 동영상으로 변환하는 과정까지 살펴보았다. 다음 강좌에서는 비디오/오디오 품질을 향상시킬 수 있는 방법과 자막을 제작하는 방법에 대해서 살펴보도록 하겠다. @