2010년 2월 28일 일요일

MKV 동영상 자르기

MKV 파일은 프레임이나 초 단위로 정확히 잘라지지 않습니다. I 프레임(키 프레임) 단위로만 잘라집니다. 그리고 특정 구간을 잘라낸다기 보다는 그냥 통 파일을 몇 개의 조각으로 저장하는 방식입니다.

 

준비물 다운로드

 

 

 

 

압축 풀고 mmg.exe 파일을 실행합니다.

add 눌러서 MKV 동영상 파일을 불러옵니다.

 

 

 

 

그런 다음 Global 탭에서 잘라주시면 되는데 사용 가능한 타임코드에 대한 설명입니다.

 

 

예를 들어 동영상의 5분 00초부터 10분 00초까지를 잘라내고 싶다면

05:00, 10:00 이라고 적어도 되고, 300s, 600s 라고 적어도 됩니다.

그러면 총 3개의 파일로 분할됩니다.

0~5분, 5~10분, 10분~끝까지

 

마지막 구간이 너무 긴 경우 중간 부분이 지나간 다음에는 작업을 취소해버려도 됩니다. 어차피 필요한 구간은 중간 부분일 테니까요.

 

 

 

 

이렇게 잘라주면 총 3개의 파일이 생성되겠지요.

 

 

 

 

그런데 처음에 말씀드렸듯이 정확히 원하는 구간이 잘리지는 않습니다. 키 프레임 단위로 잘라내기 때문입니다. x264로 인코딩된 동영상의 경우 P, B 프레임이 많이 사용되어서 그런지 키 프레임 간격이 꽤 넓을 때가 있습니다. 위에서 잘라낸 동영상도 첫번째 파일은 5분 3초로 잘렸지만 두번째 파일은 4분 57초로 잘렸습니다. 정확히 5분, 5분 이렇게 잘리지는 않았다는 말입니다.

 

※ 제가 이 글 다 쓰고나서 생각이 났는데 MeGUI x264 기본 옵션에는 GOP 단위가 최소 25 최대 250으로 설정되어 있습니다. 보통 그 설정값은 그대로 두고 인코딩을 하니 결국 키 프레임 단위는 최소 1초에서 최대 10초 정도로 잡히겠군요.

 

 

 

 

이 툴이나 AVI Mux GUI 프로그램을 제외하면 나머지 mkv 자른다는 프로그램들은 전부 재인코딩 프로그램일 것입니다. 게다가 대부분 상용이지요. 따라서 재인코딩 없이 원본의 품질을 그대로 유지한 채 잘라내려면 이 툴을 사용하셔야 합니다. 키 프레임 단위로만 자를 수 있는게 매트로스카의 특성인지 CLI 계열 코덱의 특성인지는 잘 모르겠습니다. 예전에 x264 VFW의 경우도 버추얼 덥에서 프레임 단위로 잘리지 않았던 것을 생각해보면 x264 코덱의 특성 같기도 하구요. 저도 전문가가 아니니 이 부분에 대해서는 더이상 깊게 생각해보지 않겠습니다. 아무튼 칼같은 컷팅은 안 되지만 그래도 MKV 파일은 이 프로그램으로 자르시면 됩니다.

 

 

 

이대로 그냥 끝내도 되지만 제가 성격이 좀 그래서... 궁금한건 확인해보는 스타일입니다. 결국 원본 파일의 5분 근처와 10분 근처의 키 프레임을 찾아봤습니다. 그랬더니 5분 근처에서는 4분 53초와 5분 3초에서 키 프레임이 등장했고 10분 근처에서는 딱 10분에 키 프레임이 등장하였습니다. 그랬기 때문에 위 결과 파일이 5분 3초와 10분 0초에서 컷팅된 것입니다. 사실 뭐 이런 것까지는 모르셔도 되지만 왜 정확히 잘리지 않는가에 대해서는 대충 알고 사용하셔야 할 것 같아서 짧은 지식으로 설명 드렸습니다.

 

AVI 동영상 자르기

질문을 보니 생각이 나서 간단히 올려봅니다.

 

버추얼 덥 다운로드

 

 

 

 

버추얼 덥을 실행하시고 File - Open video file 에서 AVI 파일을 불러옵니다.

웬만하면 문제가 없겠지만 만약 코덱이 없어서 AVI 파일을 열 수 없다면

ffdshow 코덱을 한번 설치해보세요. 그럼 잘 열릴 것입니다.

 

 

 

 

 

파일을 성공적으로 열었다면 슬라이드바를 움직여가며 적절한 구간을 찾아 하단에 있는 좌우 화살표 버튼을 이용하여 시작 지점과 끝 지점을 선택합니다.

 

 

 

 

구간을 선택하셨다면 Video - Direct stream copy 를 선택합니다.

 

 

 

 

이게 끝입니다. 이대로 File - Save as AVI 하셔서 저장하시면 됩니다.

 

 

 

제가 최근에 계속 재인코딩 없이 잘라만 주는 작업을 강조하고 있는데 이는 화질이나 음질의 손실 없이 원본 그대로의 품질을 유지하기 위함입니다. 이렇게 버추얼 덥으로 Direct Stream Copy 하시면 원본 그대로 잘라낼 수 있습니다. 반면 대부분의 자르기 프로그램들은 재인코딩 과정을 거쳐 품질의 손실을 입게 됩니다. 또한 거의 다 상용 프로그램입니다.

2010년 2월 27일 토요일

MeGUI로 2패스 인코딩시 1패스와 2패스 스크립트를 다르게

별거 아닌 간단한 팁인데 예전에 컴갤에서 누가 질문했던 것 같아서 올려봅니다.

 

LimitedSharpenFaster 같이 속도가 많이 느린 필터들은 2패스 인코딩시 1패스에도 적용하면 시간을 많이 잡아먹습니다. 또한 FFT3DGPU 역시 MT 필터와 호환되지 않기 때문에 1패스에 적용하면 MT 필터를 포기해야 되어서 1패스 속도가 많이 느려지게 됩니다. 어차피 1패스는 비트레이트 계산을 위한 날림 패스이기 때문에 1패스에까지 속도 느린 필터를 적용할 필요는 없습니다. 따라서 1패스에는 이러한 필터들을 적용하지 않고 2패스에만 적용하면 시간을 절약할 수 있습니다.

 

 

1패스 예제)

SetMTMode
LoadPlugin("C:\Program Files (x86)\megui\tools\dgindex\DGDecode.dll")
LoadPlugin("C:\Program Files (x86)\megui\tools\avisynth_plugin\ColorMatrix.dll")
Load_Stdcall_Plugin("C:\Program Files (x86)\megui\tools\yadif\yadif.dll")
DGDecode_mpeg2source("source.d2v", info=3)
ColorMatrix(hints=true, interlaced=true, threads=0)
Yadif(order=-1)
crop( 2, 0, -2, 0)
LanczosResize(1280,720)
#FFT3DGPU
#LimitedSharpenFaster

 

 

예를 들어 위 스크립트처럼 FFT3DGPU, LimitedSharpenFaster 필터는 제외한 상태로 작업을 시작합니다.

일단 1패스 작업이 시작되면 바로 스크립트를 메모장으로 열어서 2패스용으로 수정후 저장 해주시면 됩니다.

간단하죠? ㅎㅎ

 

즉 일단 1패스 작업이 시작되면 이미 기존 스크립트는 메모리에 입력된 상태이기 때문에 이걸 수정해서 저장해도 1패스에 영향을 주지 않습니다. 이걸 수정해서 저장하면 2패스 시작할 때 다시 적용됩니다.

 

 

2패스 예제)

#SetMTMode
LoadPlugin("C:\Program Files (x86)\megui\tools\dgindex\DGDecode.dll")
LoadPlugin("C:\Program Files (x86)\megui\tools\avisynth_plugin\ColorMatrix.dll")
Load_Stdcall_Plugin("C:\Program Files (x86)\megui\tools\yadif\yadif.dll")
DGDecode_mpeg2source("source.d2v", info=3)
ColorMatrix(hints=true, interlaced=true, threads=0)
Yadif(order=-1)
crop( 2, 0, -2, 0)
LanczosResize(1280,720)
FFT3DGPU

LimitedSharpenFaster

 

 

위 예처럼 2패스에선 MT 필터를 아웃시키고 FFT3DGPU, LimitedSharpenFaster 필터를 넣었습니다.

 

 

제가 이 글을 올린 이유는... 혹시라도 2패스 작업 걸어놓고 2패스는 Postponed 시킨 다음 1패스 끝나면 다시 스크립트 열어서 수정한 다음 2패스를 시작하는 분들이 계실까봐 그럴 필요 없다는 것을 알려드리려고...

 

사실 제가 예전에 그렇게 했습니다. ㅠㅠ

MP3 자르기 프로그램 - mp3DirectCut

 

 

홈페이지

http://mpesch3.de1.cc/

 

다운로드

 

 

 

 

저도 전문가는 아니니 복잡한 설명은 생략하고 원하는 구간만 잘라내서 저장하는 방법에 대해 간단히 소개해드립니다. 이 프로그램은 재인코딩 없이 원본 MP3 음질 그대로 유지하면서 잘라만 주는 프로그램입니다. 대부분의 동영상, 음악 편집 프로그램들은 재인코딩 과정을 거치기 때문에 화질과 음질의 저하가 생기지만 이렇게 다이렉트로 잘라주는 프로그램들은 원본의 품질을 그대로 유지해주기 때문에 좋습니다.

 

 

먼저 프로그램을 실행하면 언어 설정하라는 창이 뜨는데 Korean을 선택하시면 한글 메뉴로 변합니다.

 

 

 

 

메뉴에서 파일 - 열기 로 들어가 편집하고자 하는 MP3 파일을 불러줍니다.

 

그리고 잘라내고자 하는 구간을 선택합니다. 가운데 노란색 점선이 기준선인데 슬라이드를 좌우로 움직이면서 시작 설정과 끝 설정을 해주시면 됩니다. 재생버튼 눌러서 들어보면서 자르시면 좋습니다. 아래는 구간을 선택한 예입니다.

 

 

 

 

전체 보라색 중에 하늘색 빗금친 부분이 제가 선택한 구간입니다. 0분 57.60초부터 1분 32.71초까지 잘라내었습니다. 이게 끝입니다. 이대로 메뉴에서 파일 - 선택구간 저장 해주시면 됩니다. 재인코딩 하지 않고 다이렉트로 저장하기 때문에 눈 깜짝할 사이에 작업은 끝납니다.

 

지난번에 DelayCut 프로그램 때문에 한번 보여드렸던 그 그림 다시 보여드립니다.

 

 

 

보시다시피 재인코딩 과정 없이 바이너리 카피 했음을 알 수 있습니다.

2010년 2월 23일 화요일

윈도우 7에서 저장 파일 형식 선택 문제

 

 

제가 윈도우 7을 사용하기 시작한지 어느덧 1년이 되어 갑니다. 대략 7068 빌드부터 실사용을 했던 것 같습니다. 그런데 윈도우 7을 사용하면서 일부 사람들이 겪는다는 불편한 점은 거의 겪어본 적이 없었지만 단 하나 이 문제가 저에겐 매우 큰 불편함으로 다가왔고 가끔 짜증을 유발하기도 했습니다.

 

그런데 문제는 지난 1년 동안 다른 커뮤니티에서 아무도 이 문제를 언급한 사람을 보지 못했다는 것입니다. 따라서 이 문제는 제 컴퓨터에서만 일어나는 특수한 증상인가보다 했습니다. 예전에는 인텔 내장그래픽을 사용했기 때문에 그래픽 문제인가보다 생각했습니다. 하지만 린필드에 GTX260으로 컴퓨터를 교체한 후에도 동일 증상은 계속되었고 혹시 VGA 드라이버를 따로 설치하면 해결이 될까 싶어 설치를 해보았지만 증상은 사라지지 않았습니다.

 

증상은 이렇습니다. 제가 사용하는 프로그램 중 상당수가 이 증상을 보이고 있습니다. 파일을 저장할 때 파일 형식을 선택하기 위해 버튼을 누르면 아래쪽으로 목록 상자가 열리는데 문제는 이게 열리자마자 바로 닫혀 버린다는 것입니다. 위 스샷처럼 저렇게 열려 있어야 파일 형식을 선택할 수 있는데 그렇지 않고 그냥 열리자마자 바로 닫혀 버립니다. 순간적으로 응답 없음을 잠깐 보이면서 닫혀 버립니다. 그래서 수십번 연타를 하다보면 가끔 열리는 경우가 있습니다. 그 때 선택을 하곤 했습니다.

 

원인을 찾아내기 위해 여러가지 시도를 해보았는데 그중에 고전 테마로 변경을 해보니 증상이 말끔히 사라졌습니다. 그래서 에어로 시각효과 중에 뭔가 문제가 있나보다 생각을 했고 하나 하나 설정을 변경해가면서 테스트를 해봤습니다. 그래서 결국 범인을 잡아 냈습니다.

 

범인은 바로 미끄러지듯 열리는 콤보 상자 였습니다. 이 효과를 꺼보니 바로 문제가 해결되었습니다. 정말 속이 다 후련하더군요.

 

혹시라도 저와 동일한 증상을 겪고 계신 분이 계시다면 이 효과를 꺼보시기 바랍니다.

 

시스템 등록정보 단축키 [윈도우키] + [Pause] 를 누르신 다음

 

 

 

 

약속을 지키기 위해 3월에 공개해도 되지만 10년 묵은 변비가 다 내려간 듯한 기분이라 즐거워서 소개해봅니다. 부디 이게 저만의 문제가 아니었길 바라며 한 분이라도 동일 증상을 겪어왔던 분이 계시다면, 그리고 이 글을 통해 해결이 된다면 더 기쁠 것 같습니다. ^^

동영상에서 소리만 추출하기

이 글은 완전 초보 분들을 위해 작성되었습니다.

 

 

준비물 다운로드

 

 

 

 

이 프로그램으로 소리를 추출할 수 있는 동영상의 종류는 avi와 mkv입니다. 다른 형식들은 이 프로그램으로 추출할 수 없고 다른 프로그램을 사용해야 합니다. 원래 소리 추출하라고 만들어진 프로그램은 아니지만 무설치에 용량도 작기 때문에 이 프로그램으로 설명드립니다.

 

그림 3장으로 설명을 마치겠습니다.

 

 

 

 

이대로 끝내면 너무 허전할 것 같아 약간 더 설명을 드리자면

 

첫번째 그림에서

원본 파일을 불러올 때 드래그 앤 드롭으로 해도 되지만

저 박스 안에 우클릭 하면 add 버튼이 나옵니다. 그거 눌러서 원본 파일 지정해주셔도 됩니다.

 

두번째 그림에서

불러온 원본 파일을 더블클릭 해도 되지만

그냥 한번 선택만 하고 바로 아래에 있는 generate data source from files 버튼을 누르셔도 됩니다.

 

 

 

블로그 메인에 너무 재미없는 글이 걸려있는 것 같아서 이 글을 올려두는 것입니다. 컴백은 아닙니다.

2010년 2월 21일 일요일

RE : 동영상과 오디오의 싱크를 맞출 때, 파일을 잘라내지 않고 싱크만 맞춘다면?

이 글은 동해랑님의 질문에 대한 답변 트랙백입니다.

 

질문 : 동영상과 오디오의 싱크를 맞출 때, 파일을 잘라내지 않고 싱크만 맞춘다면?

 

먼저 오디오의 원본 상태를 유지한다는 말에 대해 2가지 해석이 가능합니다. 말 그대로 원본 해시값 그대로 동일한 파일을 보존하고 싶다는 것인지, 아니면 재인코딩 과정을 거치지 않고 원본의 음질을 그대로 유지하고 싶다는 것인지 입니다.

 

저는 후자의 뜻으로 해석했습니다.

 

예를 들어 MeGUI에 들어있는 Aften이나 FFmpeg로 딜레이만 컷팅 한다면 이는 재인코딩 과정을 거치게 되므로 동일한 비트레이트를 유지하더라도 음질의 손실을 입게 됩니다. 하지만 DelayCut 프로그램은 그렇지 않습니다. 이 프로그램은 재인코딩 과정 없이 바이너리 컷팅으로 파일을 다룹니다. 따라서 아무런 음질의 손실 없이 원본의 음질 그대로 유지가 됩니다.

 

샘플로 HDTV 녹화해서 ac3 파일 1분 분량을 추출했습니다. 그리고 DelayCut 프로그램으로 앞부분 30초를 잘라냈습니다. 즉 원본은 1분짜리이고 수정본은 30초짜리입니다.

 

그리고 Compare It 이라는 프로그램으로 비교를 해봤습니다.

 

 

 

위 스샷의 좌측 막대를 보면 절반은 녹색이고 절반은 흰색입니다. 즉 앞부분 절반은 전혀 다르다는 말이고 뒷부분 절반은 완전 동일하다는 말입니다. 우측 수정본은 앞부분이 공백인데 실제로 파일 앞부분이 공백이라는 뜻이 아니라 Compare It에서 동일한 패턴이 나올 때 까지는 공백으로 보여주는 것입니다. 30초를 잘라냈으니 당연히 앞부분 30초동안은 원본과 동일한 패턴이 나올 수 없겠지요.

 

그리고 30초 뒤로 가보면 이제 드디어 동일한 패턴이 시작됩니다.

 

 

 

 

이렇게 동일한 내용이 계속 진행되고 파일 끝부분에서 다시 조금 달라집니다.

 

 

 

 

제가 ac3 파일의 구조같은건 모르기 때문에 설명은 못 드리겠지만 아무래도 파일 시작 부분과 끝 부분에는 그 파일에 대한 전체 정보같은게(러닝타임, 코덱, 채널, 비트레이트 등등...) 들어있겠지요.

 

따라서 DelayCut 프로그램은 재인코딩 과정 없는 바이너리 컷팅 방식이기 때문에 원본과 동일한 음질을 유지한다는 결론을 내릴 수 있습니다.

 

 

 

 

 

이제 파일을 자르지 않고 딜레이 값을 넣었을 때를 생각해보겠습니다. 예를 들어 mkvmerge 로 먹싱할 때 딜레이값을 -30초 넣어주는 것과 DelayCut 프로그램으로 앞부분 30초를 잘라낸 경우가 어떻게 다른가에 대한 답변입니다. 결론부터 말씀드리자면 같습니다. 사실 avi에 대해서 질문하신 것이라면 실험을 해보지 않아서 잘 모르겠습니다만 적어도 mkv에선 같습니다. 즉 mkvmerge로 영상과 음성을 먹싱할 때 음수의 딜레이값을 넣어주면 오디오 파일은 앞부분이 컷팅되면서 먹싱됩니다. 즉 원본 그대로 들어가는데 딜레이 값에 대한 정보가 남아있어서 알아서 당겨서 재생되는 것이 아닙니다. 먹싱하면서 딜레이만큼 앞부분을 컷팅하면서 먹싱됩니다.

 

반대로 양수의 딜레이 값을 넣었을 경우에는 상황이 다릅니다. 이 경우에는 원본 오디오가 그대로 유지됩니다. 그대로 유지되면서 단지 오디오 재생만 늦게 시작될 뿐입니다. 뒤쪽에 남은 시간만큼의 분량이 컷팅되지도 않습니다. 그대로 유지됩니다. 다만 KMP + 할리 스플리터 조합에서 재생해보니 비디오 파일이 끝나는 부분에서 재생이 그냥 끝나더군요. 오디오는 뒤에 더 남아있지만 더이상 재생되지 않았습니다. 물론 여기서 오디오를 다시 추출해보니 뒤쪽이 잘리지 않고 원본 오디오 그대로 추출되었습니다.

 

원래의 글 HDTV 영화 인코딩에 DVD 음성 넣기 에서 DelayCut 프로그램을 사용하는 이유는 명확합니다. 앞부분이야 먹싱하면서 음수의 딜레이값을 넣어서 컷팅하면 되겠지만 뒷부분에 남는 오디오는 말 그대로 용량 낭비가 됩니다. 게다가 타겟 용량을 정확히 맞추기 위해 2패스 인코딩을 하는 경우 인코딩을 시작하기 전에 정확한 오디오 용량을 뽑아내야 비트레이트 계산을 할 수 있습니다.

 

 

 

이것으로 동해랑님의 질문에는 답변이 되었을 것 같습니다.

비로그인 댓글 제한에 대해서는 공지사항에 적어두었습니다.

2010년 2월 20일 토요일

WinRAR 3.92 정식 한글판 출시

 

 

홈페이지

http://www.rarlab.com/

 

 

32비트 다운로드

http://www.rarlab.com/rar/wrar392k.exe

 

64비트 다운로드

http://www.rarlab.com/rar/winrar-x64-392k.exe

 

 

 

WinRAR 3.92 한글판이 정식 출시되었습니다. 저는 한글화 담당 동윤님께서 지난번에 싱글 라이선스를 하나 선물해주셔서 정품으로 사용하고 있습니다. 구매하지 않으면 40일간 트라이얼로 사용할 수 있습니다.

 

 

테마 다운로드

http://www.rarlab.com/themes.htm

 

 

아무 테마나 다운로드 하신 다음 더블클릭 하시면 설치할 것이냐고 물어봅니다.

 

 

 

설치한 다음 옵션에서 테마 변경 가능합니다.

 

HDTV 영화 인코딩에 DVD 음성 넣기

아직 국산 영화들은 블루레이 출시가 활발하지 않은 관계로 HDTV 소스가 그나마 소장하기엔 화질이 가장 좋습니다.(물론 좌우를 좀 잘라서 방송하는게 아쉽지만) 그런데 보통 TV에서 방송하는 영화들은 음성이 좋아봐야 DD 5.1 채널이고 나쁘면 DD 2.0 채널입니다. 하지만 DVD의 경우 DTS 5.1 채널인 경우도 있고 DD 5.1 채널인 경우도 있기 때문에 HDTV의 영상과 DVD의 음성을 조합하면 가장 좋은 결과를 얻을 수 있다고 생각합니다.

 

이 가이드에서는 DelayCut이라는 프로그램으로 DVD 음성의 앞 뒤를 잘라내어 HDTV 화면에 맞추는 방법을 소개해드립니다. 물론 TV 방송분과 DVD의 컷이 다르면 이 방법은 불가능합니다. 즉 TV에선 감독판을 방송했고 DVD는 극장판을 가지고 있다면 이 방법을 적용하기엔 무리가 따르겠지요. 또는 일부 선정적이거나 폭력적인 장면을 편집한 채로 방송했다면 역시 이 방법은 적용할 수 없겠습니다.

 

예제는 KBS2에서 방송한 과속스캔들입니다.

 

먼저 HDTV 소스를 IVTC 필터 처리하여 초반 아무 프레임이나 하나 잡습니다. 장면이 전환되는 곳이면 비교하기 쉽겠지요. 물론 IVTC 필드오더에 따라 장면 전환부에서 1프레임 오차는 생길 수 있습니다만 1프레임은 0.04초이기 때문에 무시할만한 수준이라 생각합니다.

 

그리고 DVD 소스 역시 DGIndex에서 필름으로 추출하여 동일 프레임을 찾아갑니다.

 

 

 

첫번째 스샷이 HDTV이고 두번째 스샷이 DVD인데 동일 프레임 비교시 48프레임의 차이가 발생합니다. DVD에 초반 48프레임이 더 들어가있는 경우인데 이런 상황이라면 48 / 23.976 = 2.002 초의 딜레이가 발생합니다. 따라서 DVD 음성의 앞부분 2.002초만큼을 잘라내버려야 HDTV 영상과 앞부분이 맞게 됩니다.

 

위 과속스캔들의 경우 영화 제작사 로고가 들어가있기 때문에 딜레이가 작은 편이지만 일반적으로 TV에서 방송하는 영화들은 제작사 로고가 잘린 경우가 많기 때문에 시간차가 수십초 발생하기도 합니다. 하지만 몇 프레임 차이가 나든 23.976으로 나눈 값을 딜레이로 계산해주시면 됩니다.

 

이대로 앞부분만 맞으면 끝이냐? 당연히 아닙니다. 앞서 말씀드렸듯이 TV 방송분과 DVD 컷이 동일한지 확인하기 위해서 뒷부분도 마찬가지로 비교해야 합니다. 영화 끝부분에서도 위 예제라면 동일하게 48프레임 차이가 나야겠지요?

 

 

 

다행히 영화 끝부분도 마찬가지로 48프레임 차이를 보이고 있습니다. 성격이 꼼꼼하신 분들이라면 중간중간 랜덤으로 몇장면 더 비교해보시고 동일한 프레임 차이를 보이는지 확인해보셔도 좋을 것 같습니다.

 

 

 

이렇게 앞부분 딜레이는 해결을 했고 이제 뒷부분에서도 얼마나 잘라내야할지 계산해야 합니다. 보통 엔딩크레딧은 TV에서 잘라버리는 경우가 많기 때문에 DVD 음성이 몇분가량 더 깁니다. 따라서 뒤쪽도 잘라주셔야 합니다.

 

위 예제를 보면 HDTV는 152255에서 끝나고 DVD는 156480에서 끝납니다.

따라서 DVD에 총 4225 프레임이 더 들어가 있습니다.

그런데 앞부분에서의 48프레임은 이미 계산을 했기 때문에 뒷부분에는 4177 프레임이 더 들어가있는 것입니다.

따라서 4177 / 23.976 = 174.216 초의 차이가 납니다. 즉 DVD 음성이 뒤쪽에서 약 3분가량 더 길다는 뜻입니다.

이 경우 음성의 뒷부분 174.216초 역시 잘라줘야 합니다.

 

DelayCut 프로그램을 다운받으시고

 

 

 

 

저의 경우 앞부분은 2.002초를 잘라내고 뒷부분은 174.216초를 잘라낼 것입니다.

 

 

 

딜레이는 밀리초 단위로 적어주시면 되고, 앞부분은 음수로 뒷부분은 양수로 적어주시면 됩니다.

 

그럼 좌측에 타겟 파일의 정보가 나오는데 러닝타임이 1시간 45분 50.304초로 나왔습니다. 이는 HDTV 영상의 152256프레임을 23.976으로 나눈 값 6350.350초를 변환한 1시간 45분 50.35초와 완벽히(?) 떨어지는 값입니다. 따라서 위 딜레이만큼 컷팅하면 HDTV 화면과 완벽히 싱크가 맞는 DVD 음성을 얻어낼 수 있습니다.

 

 

※ 본 가이드는 HDTV, DVD 인코딩과 IVTC에 대한 기초가 있는 분들을 대상으로 작성되었습니다.

초보자용 DVD 인코딩 가이드

초보자용 DVD 인코딩 가이드입니다. 저는 DVD 인코딩을 해본 적이 없고 오늘 처음 해보기 때문에 저 역시 초보입니다. 같은 초보끼리 잘 해보자구요~ ^^;; 잘못된 내용이 있다면 고수님들께서 지적해주시기 바랍니다.

 

먼저 가이드 작성을 위해 동네 책방에서 트랜스포머 2를 빌렸습니다. DVD는 처음 빌려보는데 2천원 하더군요. 트랜스포머 2는 극장에서 봤지만 마땅히 보고싶은 DVD가 없길래 만만한 녀석을 빌려왔습니다.

 

 

 

 

먼저 DVD를 하드에 추출해야합니다. 영화 DVD는 락이 걸려있기 때문에 그냥 윈도우 탐색기에서 파일을 복사할 수 없습니다. 그래서 전문 툴을 써야하는데 이상하게 잘 안되더군요. DVD Decrypter 라는 프로그램으로 추출하라는 것 같던데 저는 해보니 초반에 멈췄습니다. 물론 그냥 UltraISO로 이미지 만드려 했으나 그것 역시 초반에 실패. 읽기 실패 만드는 락이 걸려있는 듯한 느낌이었습니다.

 

결국 AnyDVD라는 프로그램을 받았습니다. 이 프로그램은 주로 블루레이 추출에 많이 쓰이는데(AnyDVD HD) 이쪽 분야에선 가장 성능이 우수하고 유명한 프로그램으로 알고 있습니다. 락걸린 DVD나 블루레이 다 풀어주고 지역코드 제한도 풀어줍니다. 그런데 트라이얼 버전으로는 21일간 사용 가능합니다. 구매하시려면 2년에 49유로를 결재해야 합니다.

 

http://www.slysoft.com/en/anydvd.html

 

이 프로그램으로 트랜스포머 2 DVD를 확인해보니 역시나 뭔가 락이 많이 걸려있더군요. 하지만 알아서 제거해주고 알아서 지역코드까지 에뮬레이팅 해줬습니다.

 

 

 

 

이걸로 트랜스포머 2를 추출해봤습니다. 말썽 안 부리고 잘 추출되었습니다.

 

 

 

 

이제 원본은 준비되었으니 본격적으로 인코딩에 들어가겠습니다. 일반적으로 버추얼 덥을 많이 사용하지만 저는 평소에 MeGUI를 사용하기 때문에 MeGUI로 설명드리겠습니다. 참고로 위 과정은 락이 걸려있는 정품 DVD에 해당하는 것이고, 만약 인터넷에서 ISO 형태나 VOB 형태로 원본 파일을 받으셨다면 이미 락이 풀려있다는 말이기 때문에 위 과정은 필요하지 않습니다.

 

 

 

  • 준비물

 

AviSynth

 

 

 

 

.NET Framework 2.0 - 윈도우 XP 사용자만 설치. 비스타 이상은 필요없음.

http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe

 

MeGUI

 

 

 

 

위 프로그램을 순서대로 설치합니다. 그런 다음 MeGUI를 실행하시면 업데이트 창이 나옵니다. 일단 업데이트를 합니다. 그리고 중간에 프로필 Import 창이 몇번 나오는데 우클릭 해서 Check All 하신 다음 Import 해주세요.

 

참고로 저는 Stable 서버가 아닌 Development 서버를 이용합니다. 업데이트 서버 변경은 Option - Settings - Extra config - Configure servers 에서 가능합니다.

 

 

 

 

  • DGIndex로 d2v 파일과 오디오 추출

 

먼저 DGIndex를 실행합니다. C:\Program Files\megui\tools\dgindex 폴더 안에 들어있습니다.

 

File - Open 으로 들어가서 DVD 비디오 파일을 한꺼번에 열어줍니다. 용량을 보시면 뭐가 메인 비디오인지 바로 느낌이 오실겁니다. 저는 VTS_09_1.VOB부터 VTS_09_8.VOB까지 선택했습니다.

 

 

 

 

그 다음은 Video - Field Operation 으로 들어가서 Forced Film을 선택합니다. DVD는 처음 만져보는거라 잘은 모르지만 아마 영화는 전부 Soft Pulldown이 아닐까 생각합니다. 따라서 따로 필터를 사용해 IVTC 해줄 필요 없이 처음부터 d2v를 23.976fps로 추출해버리면 됩니다.

 

 

 

 

저렇게 지정하신 다음 바로 File - Save Project 해주시면 d2v와 오디오 파일을 추출해줍니다. 대략 1분 좀 넘게 걸리네요.

 

 

 

 

  • AviSynth 스크립트 작성

 

d2v와 오디오 추출이 끝났다면 이제 스크립트를 작성합니다. MeGUI에서 Tools - AVS Script Creator로 들어갑니다. 그리고 Video Input 부분에 위에서 추출한 d2v 파일을 지정해주면 프리뷰 창이 뜹니다.

 

일단 Crop부터 하는데 그냥 Auto Crop 해주시면 됩니다. 끝부분에 그라데이션이 남아있다면 수동으로 약간 더 크롭해주셔도 되구요. 그리고 Resize에 체크한 다음 Suggest Resolution에 체크합니다. 16의 배수에 맞게 알아서 리사이즈 해줍니다. 그러면 일반적으로 영화가 2.35:1이기 때문에 720 * 304로 리사이즈 될 것입니다. 원본에서 가로크기는 그대로 유지하고 세로로만 약간 줄여주는 것입니다. 이대로 Save 누르시면 됩니다.

 

 

 

 

  • 비디오 인코딩

 

이제 본격적으로 인코딩을 하시면 되는데 일반적으로 DVD 립은 XviD 코덱에 AVI 컨테이너를 많이 사용합니다.

 

먼저 Encoder settings에서 XviD: 2pass HQ (no Qpel)을 선택합니다. 그리고 옆에 Config를 누른 다음 Threads 부분에 CPU 코어나 쓰레드 개수를 입력합니다. 저는 쿼드코어이기 때문에 4를 입력합니다. OK 하시면 뭐라뭐라 나오는데 "예" 하시면 됩니다.

 

 

 

 

그런 다음 이제 타겟 용량을 맞추기 위해 비트레이트 계산을 해야합니다. 트랜스포머는 2시간 30분이라서 3CD 사이즈에 맞추는게 좋을 것 같습니다. 일반적인 2시간 미만의 영화들은 2CD 사이즈에 맞추시면 되겠지요. 용량이 커질수록 화질은 좋아집니다. 제 생각에 DVD 립은 1,000~1,500k 정도면 충분한 것 같습니다.

 

Tools - Bitrate Calculator로 들어가신 다음 Audio 부분에서 Select 버튼을 눌러서 먼저 넣으실 오디오 파일을 지정합니다. 아마 코멘터리를 비롯해서 몇가지 오디오 파일이 같이 추출되었을텐데 일반적으로 가장 먼저 나온 파일이 메인 트랙이겠지요. 만약 여러개의 오디오 트랙을 넣으실 생각이라면 우클릭 해서 Add Track 하시면 추가로 오디오 탭이 생성됩니다. 아무튼 오디오 파일을 지정하셨다면 그 다음엔 우측에 있는 File Size에서 원하시는 용량을 지정합니다. 저는 3CD를 선택했습니다. 만약 수동으로 지정하고 싶다면 아래쪽에 Select Size에 들어가서 직접 입력하셔도 됩니다.

 

Apply 누르시면 계산된 비트레이트를 적용하겠냐고 물어보는데 "예" 누르시면 됩니다.

 

 

 

 

이제 Enqueue 버튼을 눌러 대기열로 보내주고 대기열로 건너가서 Start 누르시면 본격적으로 인코딩이 시작됩니다.

 

 

 

 

린필드 4GHz 기준으로 1패스 현재 250fps 정도 나오고 있는데 CPU가 절반밖에 일하지 않고 있습니다. 제 생각에 DGDecode의 디코딩 속도 한계가 이정도인 것 같습니다. MT 필터를 써도 속도는 증가하지 않더군요.

 

 

 

 

2패스 현재 130fps 정도 나오고 있는데 역시나 CPU가 풀로 일하지 않고 있습니다. 제 생각에 이건 XviD 코덱의 멀티스레드 지원이 아직 완벽하지 않아서 그런 것 같습니다. 1패스 속도를 봐선 AVS의 프레임 서빙 속도가 발목을 잡는 것은 아닌 것 같습니다. 따라서 이는 XviD 코덱의 한계로 보입니다.

 

 

 

 

아무튼 2시간 30분짜리 트랜스포머 DVD 원본을 XviD HQ 프로필로 2패스 하는데 총 40분 정도 걸렸습니다.

 

 

 

 

  • 비디오 파일과 오디오 파일 합치기

 

이제 마지막으로 비디오와 오디오를 합쳐주시면 됩니다.

 

Tools - Muxer - AVI Muxer

 

여기서 비디오 파일과 오디오 파일을 지정한 다음 Queue 눌러서 대기열로 보내고 마찬가지로 대기열에 가서 Start 누르시면 됩니다.

 

 

 

 

 

 

이상으로 초보자용 DVD 인코딩 가이드를 마치겠습니다.

 

 

 

  • XviD vs x264

 

추가로 궁금해서 실험을 하나 해봤습니다. x264 기본 프로필로 동일한 비트레이트 주고 2패스 해봤는데 일단 인코딩 시간은 거의 같았습니다. 오히려 2패스에선 XviD에 비해 x264가 약간 더 빨랐는데 CPU 점유율이 100%에 가까웠습니다. 그만큼 x264는 멀티코어를 100% 잘 활용하는 코덱이라 할 수 있겠습니다.

 

 

 

 

아마 다들 잘 아시겠지만 x264 코덱의 성능은 XviD에 비해 월등히(?) 좋습니다. 동일한 용량의 결과물인데 같은 장면에서 XviD는 자동차에 깍뚜기 현상이 많이 나타났고 x264는 깔끔하게 나왔습니다. 게다가 XviD는 P 프레임이고 x264는 B 프레임인데도 말이죠.

 

 

원본 스크립트 프리뷰

 

 

x264 기본 프로필

 

 

XviD HQ 프로필

 

 

 

깍뚜기 현상이 잘 안 보이시는 분들을 위해 가로 세로 4배 확대해서 잘라봤습니다.

 

x264 기본 프로필

 

 

XviD HQ 프로필

 

 

 

따라서 동일한 인코딩 시간이 소요된다면 단연 선택의 여지 없이 x264로 인코딩 하시는 편이 좋을 듯 싶습니다. 다만 이는 어디까지나 쿼드코어 린필드 4GHz에서의 테스트 결과이고 제 생각인데 듀얼코어 이하에서 동일한 실험을 했다면 x264 쪽이 2패스에서 XviD에 비해 많이 느렸을 것 같습니다. CPU 점유율을 보면 그렇게 추론이 됩니다. 결국 빠른 인코딩 시간과 고품질 중에 어느쪽을 선택할 것인지는 여러분의 몫이라 할 수 있겠습니다.