DVD영화에 새로운 소리와 자막을 추가하는 방법

DVD를 편집하려면 보통 고가의 소프트웨어를 사용해야 한다고 생각합니다.
하지만, 수많은 아마추어 프로그래머들이 지식과 경험 그리고, 실력들을 모은 결과 프리웨어만으로도 완성도 높은 DVD를 만들거나 편집할 수 있습니다.

여기에서는 이러한 프리웨어만을 이용해서 DVD 영화에 새로운 소리와 자막을 추가하는 방법을 설명하겠습니다.

※ 이 글은 이러한 과정을 소개하기 위한 글이며 더 상세한 과정은 직접 부딛히며 익혀야 합니다.
    그리고, 이 글은 DVD 락의 해제를 통한 불법복제조장하거나 설명하는 글이 아닙니다!!!


필요한 도구들PgcDemux v1.2.0.5 : 홈페이지
DVDSubEdit v1.41 : 홈페이지
SubtitleCreator v2.2 : 홈페이지
IfoEdit v0.971 : 홈페이지
MuxMan Standard version 0.15R : 홈페이지
그리고, 작업할 DVD, 추가할 오디오(ac3) 및 자막(srt)


0. 전체적인 과정의 설명

DVD의 영화데이터는 데이터 파일(.vob)과 데이터 파일의 인덱스 파일(.bup / .ifo)로 구성되어 있습니다.
이 정보를 따로따로 분리했다가 다시 결합하는 것입니다.

a. 스트림 데이터의 분리(demux)
.ifo 파일을 참조해서 vob 파일들에 나뉘어 저장된 비디오(*.m2v), 오디오(*.ac3), 자막(*.sup) 추출
각 챕터의 정보, 자막 색깔 등 기록

b. 스트림 데이터의 재결합(mux)
a에서 분리된 데이터 및 추가할 오디오/자막 데이터 재결합
각 챕터 정보 재기록
자막 색깔 재기록



1. 원본 DVD에서 비디오/오디오/자막 추출 (PgcDemux)

01

DVD는 VIDEO_TS 폴더에 영화 데이터를 저장하며, 이 폴더를 보면 여러개의 VTS_01_x라는 파일들로 구성되어 있습니다.
이 중 1기가(1,073,709,056 바이트) 파일잔뜩 몰려있는 것영화의 본편을 담은 vob 파일들입니다.
위에 보인 예에서는 VTS_01_x에 영화 본편이 담겨있기 때문에 VTS_01_0.IFO를 지정했습니다.

추출된 파일들은 비디오(VideoFile.m2v), 오디오(*.ac3), 자막(*.sup) 외에도 각 챕터의 위치를 기록한 Celltimes.txt 파일과 작업 과정을 로깅해놓은 LogFile.txt가 있습니다.


2. 챕터 파일의 수정

위에서 추출한 Celltimes.txt를 메모장 등의 편집기를 이용해서 엽니다.
(Celltimes.txt는 아래 그림처럼 각 챕터의 위치를 기록해놓은 텍스트 파일입니다)
이 중 마지막 챕터 정보를 삭제합니다. (메모장에서 맨 마지막 줄을 삭제합니다)

사용자 삽입 이미지


3. 자막 색깔 확인 (DVDSubEdit)

DVD의 자막은 4가지 색으로 구성되어 있습니다(글자, 배경, 테두리1, 테두리2)
이 자막 색깔은 0~15 중에서 하나를 지정하게 되어있는데, 현재의 작업에서는 기존 자막에 자막을 추가하는 방식이기 때문에 기존 자막의 색깔을 확인해서 같은 색깔로 지정해줘야 합니다.

DVDSubEdit에서 추출된 자막중 하나를 읽은 뒤 왼쪽 아래의 정보를 보면 자막색은 14, 배경은 15, 테두리는 12, 13인 것을 확인할 수 있습니다.
(e2=12 e1=13 p=14 b=15)

사용자 삽입 이미지


4. 추가할 자막 만들기 (SubtitleCreator)

영화 자막 파일로 우리나라에서는 주로 smi 파일이 사용됩니다.
하지만, SubtitleCreator는 srt 파일만 DVD 자막으로 변환할 수 있습니다.
(자막 파일의 포맷은 기본적으로 시작시간, 종료시간, 자막의 3가지 요소가 기본인데, smi는 HTML에 기반을 두다 보니 개념이 좀 모호하기 때문입니다. 자막을 표시하지 않으려고  를 사용하다니요!!!)

a. Format의 지정 (NTSC)
DVD 비디오의 포맷은 기본적으로 PAL로 설정되어 있습니다. 이것을 NTSC로 변경해줘야 합니다.
NTSC로 변경 후에 디폴트 세로 위치404394로 바꾸는 것이 더 자연스럽습니다.

b. Setting에서 Remove [hearing impaired text] 해제
기본적으로 청각장애인을 위한 [음향효과](음향효과) 처럼 괄호로 둘러쌓인 부분은 제거하도록 되어있습니다.
하지만, 한글 자막에는 의도적으로 괄호를 집어넣는 경우가 많으므로 해제합니다.

c. 자막 색깔 지정
위의 3번에서 확인한 색깔을 지정합니다.
앞에서 확인한 결과를 역순으로 지정하면 됩니다.
(e2, e1, p, b 순이었는데, 여기서는 b, p, e1, e2 순으로 지정합니다)

사용자 삽입 이미지



5. 오디오/자막의 정확한 정보 확인 (IfoEdit)

DVD의 오디오와 자막에는 언어/감독 코멘트 여부 등의 정보가 같이 들어있습니다.
언어는 IfoEdit로 영화의 ifo 파일(여기서는 VTS_01_0.IFO 파일)을 열어보면 아래와 같이 확인할 수 있습니다.
또한, PowerDVD 등의 S/W로 재생하여 더 상세한 정보(Director's comment / forced 등)를 확인할 수 있습니다.

사용자 삽입 이미지


6. 만들어진 데이터 합치기 (MuxMan)

비디오, 오디오, 자막을 (추출할 때 보인 코드의) 순서대로 추가합니다.
그리고, 추가된 오디오와 자막의 정확한 정보를 지정합니다.
오디오는 언어, 상세정보, 딜레이 등을 지정해야 하고,
자막은 언어, 상세정도 및 비디오 크기 등의 정보를 지정해야 합니다.
그리고, 메뉴의 Import Chapter에서 2번에서 편집한 Celltime.txt를 지정합니다.
(2번에서 편집하지 않으면 한참의 시간이 걸려 muxing이 끝날 무렵에 작업을 할 수 없다는 오류가 튀어나옵니다)
그리고, 혹시나 모르니까 이렇게 지정된 내용을 Save Project As 메뉴를 이용해서 저장합니다.

마지막으로 Start 버튼을 클릭하면 (한참의 시간이 걸린 후) DVD 파일들이 생성됩니다.

사용자 삽입 이미지


7. 자막 색깔 팔레트 지정 (IfoEdit)

MuxMan의 기능에는 자막의 팔레트를 넣는 기능이 있습니다만, 정확하게 동작하지 않습니다.
그래서, 자막의 팔레트 정보를 다시 기록해줘야 합니다.
IfoEdit로 새롭게 생성된 비디오의 VTS_01_0.IFO 파일을 엽니다.
(5번에서는 원본의 IFO를 연 것이고, 여기서는 새롭게 만들어진 IFO 파일을 여는 것입니다)
그리고는 VTS_PGCITI를 클릭한 뒤에 VTS_PGC_1을 클릭하면 아래쪽 패널에 영화의 상세정보들이 나옵니다.
여기서 팔레트 데이터를 찾습니다.

아래 그림처럼 팔레트 데이터를 찾았으면, 3번에서 확인한 색깔값의 팔레트를 지정합니다.
(e2=12, e1=13, p=14, b=15)
여기서, 자막색깔인 p235, 128, 128(eb 80 80)을, 나머지16, 128,128(10 80 80)을 지정하면 됩니다.
(즉, 14eb 80 80을 지정하고, 12, 13, 1510 80 80을 지정)

수정이 완료되었으면 Save 버튼을 클릭해서 저장하면 작업이 완료됩니다.

사용자 삽입 이미지


작업이 완료된 후에 PowerDVD나 KMP 등의 플레이어로 열어보면 아래와 같이 자막이 추가된 모습을 볼 수 있습니다.

사용자 삽입 이미지

Revelations UltimateK DVD의 한 장면 ^^;;;;