출처 : http://snoopy.textcube.com/1248

 

아직 국산 영화들은 블루레이 출시가 활발하지 않은 관계로 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에 대한 기초가 있는 분들을 대상으로 작성되었습니다.

posted by ZeroZZaNG™

출처 : http://snoopy.textcube.com/1246

 

초보자용 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 점유율을 보면 그렇게 추론이 됩니다. 결국 빠른 인코딩 시간과 고품질 중에 어느쪽을 선택할 것인지는 여러분의 몫이라 할 수 있겠습니다

posted by ZeroZZaNG™