2011년 2월 25일 금요일

똥컴 재생용 동영상 인코딩

나는 똥컴을 쓴다.
라기보다는, 동영상 재생을 위한 쥬크박스로 초기형 호빵맥 (G4 700MHz 512MB 15" XGA GeForce MX2 200 32MB)을 쓴다.
쓴다는 표현보다는 그냥 쥬크박스로 켜놓고 논다 -_-; 어떤 의미로는, 이렇게 오래 되고 느린 컴이 이렇게 잘 돌아가기도 하나 싶어서, 수퍼컴퓨터라는 생각도 든다 -_-;

초기형 호빵맥 (iMac G4)

뭐 대략 이렇게 생긴 물건이다.

여기서 동영상을 감상(?)하려면 몇 가지 제약이 따른다. (똥컴이라서 -_-;)


1. 15" 화면이 XGA 해상도 (1024x768) 이고, 와이드가 아니다. (17인치 모델은 와이드다;) 따라서, 와이드 동영상을 재생해도 위아래로 시꺼먼 줄이 채워질 뿐이다.


2. 자막이 따로 준비된 경우에, 자막을 따로 렌더링 하는 방법은 적절하지 않다.(사정없이 끊긴다)

 - 1,2에 의해서, 자막을 영상에 입혀서 새로 인코딩 해야 하며, 와이드 영상인 경우에는 하단에 시꺼먼 빈 줄을 만들어서 거기에 자막을 배치하면 적절하다.


3. iTunes를 제외한 다른 플레이어에서는 어지간한 고화질 영상은 다 끊긴다 ㅠㅜ
 - 이건 아마도 iTunes가 Core Processing을 제대로 지원하기 때문인 것 같다. 화질이 좋고 나쁘고 편하고 어쩌고의 차원이 아니고, 끊기는가 안 끊기는가가 키포인트다 ㅠㅜ
 - 여기서 "고화질"이란, 고작 600Kbps 수준의 전송률이다 ㅠㅜ

 - 3에 의해서, iTunes에서 재생하는 목적이 생겼으므로, 퀵타임 파일(MOV) 혹은 MP4/M4V 형태의 파일로 만들어야 한다.


4. 이 수퍼컴퓨터와 아이폰 3Gs를 비교하면, 같은 영상 파일을 재생할 때 아이퐁은 안 끊기는데, 호빵맥은 끊긴다.
 - 아이퐁삼쥐스는 480*320 해상도이고, 호빵맥은 1024*768 해상도라서 그런 듯 하다. 데이터 량이 다섯 배가 넘는다 -_-;
 - 당연히 전송률을 낮추면 끊김 없이 재생되지만, 화질이 바보가 된다. 이런 건 용서 못한다 -_-;

 - 이 문제는, 아이튠즈에서 아이퐁용으로 인코딩을 최종적으로 한 번 더 진행하여 해결된다.



준비물

윈도우 머신(다음 팟 인코더때문에)

그리고 원본 동영상 파일 및 자막 파일


Step 1. 다음 팟 인코더를 사용해서 영상에 자막 입히기 + 크기 변경
 - 이 단계에서, 영상에 자막이 입혀지고, 와이드 화면이 4:3 비율 정도로 커진다. 위 아래로 시꺼먼 줄이 생기며, 자막은 아랫줄과 영상의 하단 끄트머리에 배치된다.
 - 생성되는 파일은 핸드브레이크에서 인식하기만 하면 되니 뭐가 됐든 관계 없지만, 경험상 H.264 코덱으로 압축된 MP4를 권장한다.
 - 자세한 내용은 여기서 보도록 하자

Step 2. 핸드브레이크를 사용해서 영상 상단의 시꺼먼 줄을 잘라낸다.
 - 생성되는 파일은 mp4 혹은 m4v. mp4를 권장한다.
 - 만일 원본의 영상이 4:3 비율이라거나, 혹은 상대적으로 덜 한 와이드 화면이라서 자막 자리를 배치할 필요가 없어서 시꺼먼 줄 잘라내기(crop) 할 필요가 없다면 step 2는 무시해도 좋겠다.
 - 자세한 내용은 여기서 보도록 하자

Step 2.9. 만들어진 영상이 하나의 시리즈물이 아닌 하나의 작품이라면(예를 들어 영웅본색 CD1,CD2 뭐 이런 식으로 잘라진... -_-;) 하나로 합친다.
 - 자세한 내용은 여기서 보도록 하자. 그런데 이건 쥐뿔도 자세하지 않다 -_-;

Step 3. 만들어진 영상을 아이튠즈에 추가하고, 메뉴의 "고급"에서 "iPod 또는 iPhone 버전 생성"한다.
 - 생성되는 파일은 m4v.
iTunes "고급" 메뉴


완성된 m4v 파일을 수퍼컴퓨터의 아이튠즈 보관함에 집어넣고 아이튠즈로 재생한다.

끝.

똥컴에게도 새로운 희망을...... ㅠㅜ

맥에서 여러 개의 MP4 파일 하나로 합치기 (mp4 join)

영웅본색2.CD1-AC3.mp4
영웅본색2.CD2-AC3.mp4

이 파일들을 하나로 합쳐서 영웅본색2.mp4 로 만들고 싶다.
맥에서.....

어떤 방법이 가장 게으르고 편할지 구글링 해 보다가, 아주 간단한 유틸을 발견했다.

MKVtools 라는 놈인데, 여기에서 다운받으면 된다.
등록하지 않고 걍 사용하면 파일을 오픈할 때 잠시 기다리는 번거로움이 있다 -_-; 하지만 파일을 열어서 뭔가를 작업하지 않고, 단순히 mp4 파일 합치기만 할 때에는 그런 번거로움조차 없다 -_-v


하여간 이렇게 생겼다.
MKVtools

다양한 기능의 유틸리티이지만, 지금 나한테 필요한 기능은 mp4 파일을 합치는 기능 뿐이다.

아래쪽에서 Tools 버튼을 눌러보자.

MKVtools - Tools

아주 단순하게 바뀌었고, 읽어본 즉슨, 합치고자 하는 파일을 여러 개 던지면 알파벳 순서대로 알아서 합쳐준단다.

영웅본색 mp4 두 개 파일을 던져봤다.






묻지도 따지지도 않고 갑자기 하드디스크를 미친 듯이 읽으면서 뭔가 작업을 한다.
step이 차곡차곡 올라가더니 알아서 끝났다.

생성된 파일은 두 개.

영웅본색2.CD1-AC3.mp4.joined.mp4
영웅본색2.CD1-AC3.mp4.joined.log

앞으로 피차 잘해봅시다

깨끗하게 합쳐졌다.

너무 쉽긴 하지만, 진짜 이게 다다..... -_-;;;;
남은 건 로그 파일 지우고 만들어진 mp4 파일의 이름을 바꾸는 것 뿐... -_-;

핸드브레이크를 이용한 동영상 크랍(crop)

핸드브레이크를 이용한 동영상 크랍을 알아보자.

핸드브레이크는 여기에서 다운받을 수 있다.

핸드브레이크는 상당히 쓸만한 동영상 인코딩 소프트웨어인데, 자막을 입혀서 인코딩하는 기능이 없어 무척 아쉽다. 하긴 제일 큰 문제는, 여러 개의 파일을 하나의 프로필로 쉽게 작업 리스트에 넣을 수 없다는 점이지만... -_-;


일단 설정 하나만 해 놓고 넘어가자.

핸드브레이크 설정화면

맨 아래쪽에 있는 "Use iPod/iTunes friendly (.m4v) file extension for MP4"의 체크박스를 체크하면 m4v 파일로 생성되고, 체크를 해제하면 mp4 파일로 생성된다.
취향에 따라 다르겠지만, 나는 여기서 mp4로 생성되는 것을 선호한다.
나중에 쪼개진 파일을 합쳐야 할 경우가 있는데, 이때 mp4 파일 형태로 된 것이 문제가 발생할 가능성이 적기 때문이다.(경험상)
mp4 파일 합치는 방법은 여기를 참조하자.



하여간, 크랍 작업을 시작하자.



핸드브레이크는 대략 이렇게 생겼다.(스크린샷은 맥용 기준이다.)

인터페이스 생겨 먹은 게 좀 불편하게 생겼는데, 익숙해 지면 그럭저럭 쓸 만 하다.



핸드브레이크


위 설정 정도면 대략 적합하다. 취향에 따라 퀄리티를 80% 수준으로 조정해도 좋겠지만, 인코딩에 사용된 원본이 무려 영웅본색2다. 원본 퀄리티가 한계가 있으니 무리하게 퀄리티를 높여서 용량만 키울 필요는 없는 경우가 되겠다.


우선 오디오 설정을 변경하자.

핸드브레이크 오디오 설정

뭐 이 정도면 되겠다. 기본 설정값이 160Kbps로 돼 있는데 원본이 128Kbps다. 무의미하게 전송률을 높이지 말자.



이제 키포인트인 크랍 작업을 해 보자.

상단에 있는 Picture Settings를 누르면 이렇게 생긴 창이 뜬다.

핸드브레이크 Picture Settings
이 창 상단에 있는 Preview 버튼을 누르면 Preview Window가 나타난다.

핸드브레이크 Preview Window
위아래가 회색의 빈 칸으로 나타나 있는데, 원래 크기가 저렇고, crop 기능으로 자동으로 불필요한 부분으로 인식해서 영상을 저렇게 보여주는 것이다.

Picture Settings 창을 살펴보면, Cropping이 Automatic으로 돼 있는데, Custom을 골라주면 이제 크랍 영역을 지정할 수 있다.

Cropping - Custom

안타깝게도 숫자를 바로 입력할 수는 없고, 화살표를 죽어라고 클릭해서 수치를 맞춰야 한다 -_-;

처음 자동으로 지정된 상태는 이렇게였고


cropping 설정을 변경해서 이렇게 됐다.


설정을 변경하고 창을 닫으면, 핸드브레이크 기본 화면에서 하단 정보가 변경된다.

라잌 디스.

처음과는 크랍 정보가 변경됐다.

이제 상단의 Start 버튼을 눌러서 인코딩 하면 된다.





그런데, 이 영상 파일은, 하나의 작품이 두 개의 파일로 분리돼 있다. CD1 어쩌고 하는 파일 이름을 보면 알 것이다.

같은 스펙으로 인코딩 하고자 하는 파일이 여러 개라면, 이렇게 완성된 인코딩 스펙을 프리셋으로 등록하고 여러 작업을 리스트로 만들어 인코딩 할 수 있다.(잠들기 전에 인코딩 하는 용도다 -_-;)

인코딩 스펙을 다 설정한 다음, 오른쪽 상단의 Toggle Presets 버튼을 눌러 프리셋 리스트가 나오게 한다.

핸드브레이크 프리셋

하단의 + 표시를 눌러서 프리셋을 저장할 수 있으며, 크랍 데이터도 함께 저장할 수 있다.

핸드브레이크 프리셋 저장

Picture Size에 Current를 골라주는 것으로 간단히 크랍 정보가 저장된다.


저장된 프리셋을 한번 클릭해 주면 해당 프리셋으로 인코딩 스펙이 지정된다.

인코딩 스펙을 지정하고 나면 상단의 Add to Queue 를 눌러서 작업 리스트에 등록한다.
등록한 다음 다른 파일들도 Source 버튼을 눌러서 불러온 후, 프리셋 한번 눌러서 스펙 지정하고, Add to Queue로 계속 등록한다.

두개 이상의 파일을 같은 프리셋으로 지정해 주면, 그 다음부터 불러오는 파일들은 자동으로 마지막으로 지정한 프리셋으로 지정된다.

상단의 Show Queue 버튼으로 작업 리스트를 열어볼 수 있으며, 해당 작업을 잡고 끌고다니면 간단히 작업 순서를 변경할 수도 있다.

핸드브레이크 작업 리스트

여기서 상단의 Start 버튼을 눌러서 작업 리스트에 등록된 파일들을 인코딩 시작할 수 있다.


다음 팟 인코더를 이용한 동영상 인코딩

다음 팟 인코더를 이용한 동영상 인코딩을 해 보자.

다음 팟 인코더는 여기에서 무료로 다운받으면 된다.


다음 팟 인코더를 사용하는 이유는
1. 쉽고
2. 다양한 옵션을 설정할 수 있으며
3. 자막을 입힐 수 있다
는 것이다.


샘플로 사용되는 파일은 다음과 같다.

영웅본색2.CD1-AC3.avi
영웅본색2.CD1-AC3.smi
영웅본색2.CD2-AC3.avi
영웅본색2.CD2-AC3.smi


뭐 이런 파일이다.

정보를 요약하자면, 
16:9 정도의 와이드 화면이고, 23.98fps, 1.9Mbps DiVX3 압축이다.
사운드는 5.1ch 48KHz AC3다.

다음 팟 인코더 화면으로 인코딩 설정을 보자.

다음 팟 인코더의 모습

뭐 이렇게 생겼다. 스마트폰이나 PMP에 집어넣으려면 중간에 있는 휴대기기용 프리셋에서 고르면 된다.

여기서 프리셋을 선택할 수 있다


기본 설정은 아이폰삼쥐스용 고화질 프리셋을 골라서 수정했다.
설정을 수정하자.
팟 인코더 설정 변경 버튼

팟 인코더의 설정 변경은 위 화면의 오른쪽 위의 "환경설정"이나 왼쪽 아래의 "세부설정"을 누르면 된다.


팟 인코더 비디오 설정

인코딩 설정은 케이스 바이 케이스. 여기서는 원본의 화질을 거의 그대로 유지하고자 하므로, 위와 같이 세팅했다.

요컨데, 대략 화질을 71%수준으로 떨어트리는데, 경험상 DiVX 계열에서 H.264로 인코딩 할 경우에 70% 정도면 화질 저하가 거의 없었다.

프레임 변경은 특별한 이유가 없으면 하지 않아도 되지만, 나는 개인적으로 23.98fps를 선호한다.

여기서 키포인트는 화면 크기 되겠다.
원본과 비교를 해 보면 가로 폭은 같지만, 세로 높이가 더 커졌다.
화면 비율은 유지하면서도 잘라내기나 확장은 하지 않는다.
결국, 위와 아래에 시꺼먼 줄이 생긴다는 뜻이다.
이렇게 해서 아래쪽의 까만 줄에 자막을 배치하면 매우 그럴싸하게 보인다 -_-;





팟 인코더 오디오 설정

오디오 설정은 별다른 게 없다. 그저 채널을 일반 스테레오로 변경해 주고(왜냐면 나는... 5.1채널 스피커 시스템 그런거 없다 -_-;) 표준 CD 음질 수준으로 조정한다.
노멀라이저를 200으로 지정해서 음량을 대략 두배 정도로 증폭해 주는건 순전히 개인적인 취향이다.




팟 인코더 자막 설정

자막 설정은 기본값을 그대로 놓고, 글자크기를 22에서 18로 변경했을 뿐이다.(이것 역시 취향인데, 이 정도가 딱 좋다.)



준비가 다 끝났으면, 인코딩을 시작한다.


팟 인코더 인코딩 화면

팟 인코더로 인코딩을 시작했다.
추정 예상 시간이 나오고, 현재의 진행 퍼센티지와 현재 파일 크기를 보고 대략적인 전체 파일 크기를 예상해 볼 수 있다.
"인코딩 중 화면 미리보기" 체크를 해 두면 자막의 위치가 원하는 곳으로 배치되는 지 등의 정보를 볼 수 있다.





파일이 만들어졌다.

원본 파일보다 용량이 커졌는데, 당연하다. 화면 크기가 커지지 않았나 -_-;;


만들어진 파일을 재생해 보면 이렇게 생겼다.
이제 원하는 스타일로 자막을 입혔으니, 위쪽의 시꺼먼 부분만 날려버리면 되겠다.

시꺼먼 부분 날려버리는 건 핸드브레이크로.