monologues/garage 2010. 12. 19. 11:39

megui로 아이폰 3G용 영상 인코딩 _ framerate 문제 (1) _ DGAVCindex

유튜브 고화질 영상을 받아보면 mp4죠. 비디오는 H263/AVC 코덱, 오디오는 aac/m4a입니다.

megui로 mp4를 임포트하면(Tool -> file indexer) 일단 FFMSindexer가 작동해버립니다. 그리곤 error만 뜨더라구요.
본질은 AVC코덱이니깐 DGAVCindexer을 작동시켜야만 하거든요.

DGAVCindexer를 작동시키려면 확장자가 AVC, h263, m2t, 등등이어야합니다. (그림 참조)


그래서 mp4를 뜯어냅니다. raw format으로요. 저는 가벼운 yamb(http://yamb.unite-video.com/)으로 해체시켜요.
그럼 mp4 ->h263화일(비디오)과 aac(오디오)화일 두개로 나뉩니다.

다시금 megui로 돌아와서 DGAVCindex로 임포트해서 적당한 크기와 필터 등등을 정해서 AVS화일로 만들어야겠죠.

이때 발생하는 문제는 DGAVCindex가 h263화일의 프레임rate를 무조건 25/s 로 인식하는 겁니다.
이걸 놓치면 나중에 음성과 영상이 재생시간도 달라지고 싱크도 전혀 안맞습니다.
(이것때문에 얼마나 헛발질을 했던지...--; 그러다 꽁수를 쓰게 된거지만...흑흑)

저는 이때 편법으로 일단 만들어진 *.dga화일을 메모장으로 열어서 맨 밑부분의 FPS를 수정해봤습니다.
끝에서 세번째 줄쯤 있습니다. 

적을 때 아무렇게나 25, 24, 29.97 뭐 이렇게 쓰시면 안되구요. avsynth script 용어의 ratio대로 써주셔야 하더군요. megui의 HELP단추를 누르면 megui wiki로 들어가집니다. 거기 그렇게 적혀있더라구요. http://avisynth.org/mediawiki/FPS

(저 링크의 표와 AssumeFPS를 꼭 잘 기억해두세요.)

하여간 본 영상의 프레임레이트와 동일한 것을 찾아 저 링크의 표대로 고쳐주시면 됩니다. 저는 29,97로 인코딩되어있던 영상이라서 30000 / 1001 이라고 적어주었습니다.

다시 megui의 avisynth script creator로 수정한 dga화일을 불러들입니다. 그 다음은 일사천리로 진행하시면 됩니다.

다른 방법으로는 AssumeFPS라는 내부필터를 스크립트에 추가시키는 방법을 쓰셔도 됩니다. dga를 수정하지 않고 쓰는 방법이죠. 그냥 avs 스크립트에 추가시키면 됩니다. 다음에 FFMSindexer 사용시 framerate 수정법을 포스팅하게 되면 상세히 적겠습니다.

그런데 어쩌다보니 알게 된 방법이긴 해도 dga화일을 직접 수정하는 것이 훨씬 나은 것 같아요. 재인코딩때 보면 시간도 덜 걸리는 듯한 느낌도 들구요. FFMSindex화일도 그렇게 수정할 수 있으면 참 좋을텐데요. 

'monologues > garage' 카테고리의 다른 글

111007 BIFF_JJstar  (0) 2011.11.11
쿠삭  (0) 2011.11.07
Lyrics of Loch Lomond song.  (0) 2010.01.24
오랜만에 묵혀두던 시 하나...  (2) 2009.05.19
torrent에 어제부터 손을 대었습니다.  (0) 2008.06.15