잡동사니 공간

지난 주에 NHK-G에서 방송한 MUSIC JAPAN 신세기 애니송 SP 소스를 받아서 인코딩을 했습니다.
그런데 나중에 프레임을 보니 60프렘 짜리라서 60프레임으로 다시 인코딩을 돌렸더니 속도가 2fps.
43분짜리니까 43*60*60=154800  154800/2=77400(초) 77400/60/60=21.5(시간)
거의 하루를 차지하는 분량인데다가 2패스로 작업하다보니 2일을 꼬박 켜놓은 상태로 인코딩을 돌렸습니다.

그리고 3일째 되는 아침에 컴퓨터를 켜고는(자동종료 해놔서 꺼졌음) 설레이는 마음으로 음성, 챕터 합치고 재생을 했더니만....

사용자 삽입 이미지

어? 로고가 왜 있어?

분명히 로고제거 필터도 집어넣었는데 오른쪽 위에 떡하니 있는 NHK G.
사용자 삽입 이미지

어 없어졌네...

조금 보다보니 사라져서 순간 뇌리를 스쳐지나가는 무언가..

아, 60프렘을 먼저 넣고 로고제거 넣었나..
01
아니나 다를까...
중간에 제거되었던 로고가 다시 튀어나오는 현상 발생.
그래서 avs를 열어봤습니다.
Trim(198, 77520)  // 앞뒤 다른 방송 잘라낸 부분.
TDeint(...생략...)   // 60프렘으로 해주는 부분.
EraseLOGO(...생략... logofile=start=201 ...생략... end=77489)  // 로고 제거 부분
저 순서대로 들어가있습니다 ㅡㅡ.
그러니 딱 77489프레임부터 로고가 다시 생겨난 거고, 이전 avs에는 로고제거를 먼저 놓고 트림을 놨는데 60프렘 저거 넣다가 뒤죽박죽돼서 설정이 우주로...

......

2일간 컴터 풀가동해서 돌린 것이 무용지물이 되어버리다니...
CPU 많이 잡아먹는 짓은 하나도 안 하면서 최대한 속도 빨라지게 집중했는데...

재인코딩하기 귀찮으니 그냥 저대로 냅두고 이번 주에 방송한 거 소스나 받아다 인코딩해야겠네요.
이건 어차피 소스 자체가 480p니까 60프렘일 리도 없고, 인코딩 속도도 빠를 거고.(BS2라서)

후후후 접수

폭파5/TV-RIP2009. 2. 4. 23:47
사용자 삽입 이미지
KBS2HD 로고 접수 'ㅅ'~

오늘 낮, 꽃보다 남자 10회 tp소스를 구했습니다.

그래서 로고 뽑아낼려고 작업 개시.

애니메이션과 달라서 색변화가 뚜렷한 장면이 그다지 없어서 구간 찾는데 시간 좀 뺐습니다...

어쨋든 뽑아내고 로고제거 테스트.

사용자 삽입 이미지
로고제거 적용 전.

사용자 삽입 이미지
로고제거 적용 후.


음헬헬 접수했습니다.

결론은 제거 가능.

후후후후후

지난 번에 로고제거에 대한 이야기를 했었습니다.
이번엔 그 로고제거제를 사용하여 TV립을 해보겠습니다.

우선 필요한 준비물.
1. ts, m2ts, tp, mpg, mpeg 등 캡쳐카드를 이용해 녹화한 파일.
2. DGIndex - d2v, 음성 추출용.
3. AvsP - avs작성용.
4. KMP - 테스트용.
5. VirtualDubMod - 인코딩용.


우선 ts파일을 DGIndex로 엽니다.
사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지
비디오와 오디오 부분에서 저 부분에 체크를 하고 저장을 합니다.

사용자 삽입 이미지
저장을 하고나면 위와 같은 파일이 생성됩니다.(ts는 원래 있던 파일)

이제 인코딩에 필요한 파일이 생성되었습니다.
그러면 avs를 이용해 영상과 음성을 합치고, 광고와 로고를 제거합니다.
avs작성은 AvsP를 이용해서 합니다.

사용자 삽입 이미지
아무것도 없죠.
우선 플러그인부터 불러오도록 하겠습니다.
global dllfolder = "플러그인이 있는 폴더 주소"
LoadPlugin(dllfolder + "DGDecode.dll")
LoadPlugin(dllfolder + "BassAudio.dll")
LoadPlugin(dllfolder + "LoadPluginEx.dll")
LoadPlugin(dllfolder + "warpsharp.dll")
LoadPlugin(dllfolder + "MPEG2Dec3.dll")
LoadPlugin(dllfolder + "LeakKernelDeint.dll")
LoadPlugin(dllfolder + "IT.dll")

이 압축을 푸시고 그 폴더의 주소를 넣으면 됩니다.

플러그인을 불러왔으면 이제 동영상을 불러와야죠.
MPEG2Source("d2v파일 주소", cpu=0)
AvsP에서 Shift+F9를 이용해 파일을 선택하면 주소를 간단히 입력할 수 있습니다.
영상을 불러왔으면 이제 음성을 불러와야죠?
AudioDub(last,BassAudioSource("오디오파일 주소").DelayAudio(-0.387))
AssumeFrameBased().ComplementParity()
오디오파일 역시 같은 방법으로 불러오면 됩니다.
근데 위에서도 봤듯 'RideBack 01 (D-TVS 1440x1080) PID 112 DELAY -387ms.aac'이런 식으로 뒤에 딜레이가 붙습니다.
저 숫자만큼 딜레이오디오에 넣으면 됩니다.
1ms는 0.001s이니 -387ms는 -0.387이죠.

다음으로 광고제거를 합니다.
trim(7,9776)+trim(11575,26080)+trim(27879,43312)+trim(45112,48557)
trim을 이용해 필요한 부분만 끄집어내는 것인데요, 만약 중간에 잘라낼 부분이 더 많다면 뒤로 계속 +로 넣으면 됩니다.
필요한 부분의 시작과 끝 프레임을 적으면 됩니다.
trim(7,9776)은 7번 프레임부터 9776번 프레임까지 쓴다는 것을 나타냅니다.
그렇게 필요한 부분을 끄집어냈으면 광고제거는 끝.

그 다음은 로고제거제를 불러올 차례입니다.
EraseLOGO(logofile="lgd파일 주소", pos_x=0, pos_y=0, depth=128, yc_y=0, yc_u=0, yc_v=0, start=0, fadein=0, fadeout=0, end=9999)
저기서 건드릴 부분은 start=0, fadein=0, fadeout=0, end=9999 요부분.
로고가 페이드인, 아웃이 되는 곳이 있고, 그냥 생겼다 한 번에 꺼지는 곳이 있습니다.
후자라면 fadein, fadeout에 0을 넣으면 되고, 전자라면 좀 복잡해집니다.
로고가 시작하는 부분의 프레임을 적고, 그 로고가 완전히 찐해지는 프레임까지 몇 프레임인지를 센 후 fadein에 그 값을 넣으면 됩니다.
만약 3번프레임부터 로고가 나오기 시작해서 7번부터 똑같아졌다, 그러면 start=3, fadein=4를 넣으면 되죠.
페이드 아웃은 반대로 그 로고가 완전히 없어진 프레임을 end에 적고 위와 같은 방법을 거꾸로 하면 됩니다.
만약 10번 프레임부터 흐려지기 시작해 15번 프레임에서 완전히 없어졌다면 fadeout=5, end=15를 넣으면 되죠.
lgd파일은 그 로고에 맞는 것을 사용하면 됩니다. 만약 다르다면 다시 뽑아야죠.
저렇게 로고가 끊기는 부분마다 설정해줍니다. 보통은 오프닝, A파트, B파트+엔딩, 예고로 되어있으니 4줄을 적어야죠.

다음으로는 프레임 조절을 합니다.
AvsP는 화면 미리보기가 지원이 되어서 직접 프레임을 넘겨가면서 보면 되기 때문에 편합니다.
한칸 한칸 다음 프레임으로 넘겨보면서 그림이 겹치지 않고 계속되면 30프레임, 4번 움직였다가 1번이 멈추면 24프레임입니다.
엔딩이 아래서 위로 텔럽이 올라가는 것 중엔 60프레임도 있는데, 이건 다음에 적겠습니다.
대부분의 애니메이션은 24프레임이기 때문에 24프레임으로 낮춰주어야 합니다.
TV방송은 24프레임으로 하는 것이 불가능해서 30프레임으로 방송을 하게 되는데, 이 과정에서 불필요한 프레임이 6개가 추가되는 거죠.
FrameCache(5).IT(fps = 24, ref = "TOP", diMode = 1)
이제 이 동영상은 24프레임으로 인코딩이 됩니다.

이제는 크롭과 리사이즈를 하면 끝.
Crop(0, 0, -0, -0)
LanczosResize(1280, 720)
크롭은 왼쪽부터 (좌, 상, -우, -하)입니다. 크롭값은 반드시 짝수로 넣어야 합니다.
만약 여백이 좌5 상3 우4 하1 이렇게 있다면 (6, 4, -4, -2)를 넣으면 되죠.
그리고 해상도는 HD방송이니 적절하게 1280으로.(이건 취향입니다.)

각종 필터를 이용해 노이즈, 화질보정 등의 설정도 하면 좋습니만, 기초편이므로 생략.

그리고 저장합니다.
사용자 삽입 이미지
사용자 삽입 이미지
그러면 위와 같은 파일이 생깁니다.
이제 인코딩 프로그램에서 불러옵니다.
저는 버츄얼덥을 이용하겠습니다.
사용자 삽입 이미지
버츄얼덥에서 설정해줘야 할 것은 비디오와 오디오의 코덱입니다.

사용자 삽입 이미지
사용자 삽입 이미지
여기서 풀 프로세싱 모드로 선택을 하고 음성코덱을 선택하면 됩니다.
사용자 삽입 이미지
저는 MP3 192kbps로 하겠습니다.

이번에는 비디오코덱.
사용자 삽입 이미지
비디오 역시 풀 프로세싱 모드로 체크를 하시고 코덱을 선택합니다.
사용자 삽입 이미지
컴퓨터에 설치된 코덱 목록이 나옵니다.
저는 주로 DivX6이나 x264를 사용합니다.
(※ DivX는 유료코덱입니다.)
사용자 삽입 이미지
저렇게 선택만 해서 끝나는 것은 아니고, Configure를 눌러 세세한 설정을 해야 합니다.
코덱 설정 또한 개인의 취향, 방식에 따른 것이니 따로 적지 않습니다.

이제 코덱 설정도 끝났으니 저장을 합니다.
사용자 삽입 이미지
저장을 누르면 이제 인코딩이 시작됩니다.
사용자 삽입 이미지
처음에 인코딩을 누르고 글을 쓰기 시작했는데, 벌써 1시간이 넘었나보네요. 흑흑..
인코딩은 영상에 따라, 사용된 플러그인에 따라, 컴퓨터에 따라 시간이 달라집니다.

인코딩이 끝나면 TV립이 모두 끝납니다.
그리고 재생하면 끝.

언제가 될진 모르겠지만, 다음에는 로고제거제 뽑는 방법을 설명하도록 하겠습니다.

일본에서 방송하는 애니메이션을 보려고 받으러 가보면 가끔씩 ts나 m2ts가 올라옵니다.

언제부턴가 제가 인코딩에 관심이 생기고, ts를 받아서 인코딩을 시작하게 되었습니다.

그런데 한가지 의문이 생기기 시작했습니다.

사용자 삽입 이미지

작년 초 인코딩한 건담00 2기OP. 오른쪽 위에 TBS로고가 있다.


'어떤 영상은 방송국 로고가 없는데 왜 내가 한 거는 있지?'

'자세히 들여다보니 로고가 없는 영상도 희미하게 자국이 남네?'

그리고는 연구를 시작했죠.

그러던 도중 한 한 립퍼(ao)가 다른 립퍼(故YnX)씨에게 보내던 압축 내에 lgd파일이 있는 것을 보았습니다.

그리고는 여기저기 찾아다니며, '불투명로고제거제'라는 것임을 알게 되었습니다.

인코딩 프로그램인 Aviutl의 플러그인 'logoscan'을 구하고, 본격 수집활동을 시작했습니다.

사용자 삽입 이미지

작년 여름 재인코딩한 영상. TBS로고가 사라졌다.


이렇게 제 로고제거제 수집이 시작되었고, 현재는 일본의 8개방송국 로고제거제를 가지고 있습니다.

사용자 삽입 이미지

위에서부터 BS11, TV아사히, 마이니치방송, NHK교육, 도쿄방송, TV오사카, 텔레타마, TV도쿄


이걸 어디다 써먹냐구요?

그냥 혼자 노는데 씁니다...

작년에 잠시 avi, mkv, mp4등 인코딩 영상보다 ts, m2ts가 더 먼저 나오던 시절이 있었습니다.

그때 약 3주 정도 인코딩 해서 방류하기도 했었죠.


저정도 모았으면 왠만한 일본 방송국의 로고는 모은 것 같습니다.

아직 없는 것이 있다면 NTV나 NHK계열 방송일까요.(NHK-E 제외).

또한 MXTV, CTC(치바), tvk(카나가와) 등 로고가 없는 곳도 있으니 충분할 것 같습니다.



이러다보니 다음 목표가 생겼습니다.

우리나라 방송의 로고제거제도 뽑아보자.

그러려면 일단 캡쳐카드가 필요할 것 같네요.

일본 처럼 방송 캡쳐 원본을 자유롭게 공유할만한 여건이 국내에는 없기 때문에 말이죠.

또, 대부분의 케이블, 위성방송은 투명도가 0%인 로고라서 제거 자체가 불가능하기도 하구요.

KBS1, KBS2, MBC, SBS, EBS의 녹화소스만 입수되면(캡쳐카드 구매or소스조달) 바로 작업 고고씽.