이전 포스트: 4부 - 프레임의 기초와 H264에 대해

앞서 우리는 H264코덱과 프레임의 기초에 대해 살펴보았다.
자, 그럼 기초지식은 모두 갖춘 셈이니 본격적으로 인코딩에 들어가보도록 할까?
1부에서부터 따라왔다면 여러분의 PC엔 이미 avisynth가 설치되어 있다.

이 포스트 시리즈에선 megui를 주력 인코더로 사용하고 있는데 가장 좋기 때문이다. 물론 주관적이긴 하지만 나는 megui를 즐겨쓰기 때문에 역시 여기서도 megui기준으로 설명한다.

먼저 megui로 인코딩을 하려면 avisynth 스크립트를 작성해야한다. (avs라고도 부른다)
친절하게도 megui는 avs 스크립트 작성기가 있으니까 tool -> avisynth script creator를 실행해 작성기를 띄운다. 인터페이스가 직관적이니까 따로 설명은 필요없는데, 중요한건 megui는 audio를 자동으로 감지하지 못하기 때문에 edit 탭을 보면 audio=false 라고 되어있을 것이다. 이것을 수동으로 true로 바꿔주어야한다.
만약 자막과 함께 같이 인코딩 하고싶으면 TextSub("파일명") 을 사용하는데
보통 영상파일을 맨위에서 열고 그 밑에서 자막을 여는것이 좋다.
역시 파일의 전체경로포함해줘야 한다.

avisynth에 대해선 나도 잘 모르거니와 megui에서 편집기로 작성해 만드는것밖에 모르니 이정도로 해주고 넘어가도록 한다.
여담이지만 avs를 사용하면 virtualdub에서도 mp4라던지를 열수가 있게된다. 보통은 안열리지만 avs를 거친다면 열수 있게 된다.

megui에 대한 자세한 내용은 ba7man님의 포스트를 참고하면 사용법은 익힐수 있을것이니 사용법을 알고 싶으면 이쪽을 참고해주시라

그럼 이후부턴 megui를 쓸수 있다는 가정하에 진행한다.
만약 영상에서 특정부분을 잘라서 특정부분만을 인코딩 하고 싶다면 tool -> avs cutter로 잘라내면 된다.

앞서 포스팅에서도 썼듯이 인코딩은 rawdata로 인코딩하는것이 좋다고 했으니
video -> rawavc
audio -> m4a
로 enqueue해 인코드한다.
queue analysis pass를 영상인코드전에 실행하면 인코딩에 앞서 영상을 분석하는 단계를 거치게 할수 있다. 화질에 도움이 되는지는 모르겠지만 ㄱ-

이제 encode를 행하자. 끝나고나면 이제 컨테이너에 담는일만 남았는데
megui에서도 muxer를 지원하니 muxer로 스트림을 담아서 파일로 만들면 된다.
역시 queue에 작업목록이 올라올테니 확인하고 수행하면 된다.

본인은 avi, mp4는 megui의 것을 사용하고 mkv는 mkvmerge를 사용해 muxing하는데 단순히 mkvmerge가 정식 mkv muxer니까 사용하는것 뿐이다. gui도 있으니 1부에서 받을수 있다.

반대로 영상파일에서 rawdata를 뽑아낼수도 있는데 1부에서 소개한 yamb로 mp4의 rawdata를 뽑아낼수 있고, mkvextract로 mkv의 rawdata를 뽑아낼수 있다. avi는 모르겠다 ㄱ-
그래서 난 avi컨테이너를 안쓰는 편이다.

여기까지 인코딩과정에 대해 살펴보았다. 물론 부족한것도 있겠지만 아무튼 이정도만으로 충분히 도움이 되리라고 본다.

마스터버젼을 여기까지 만들었으니 이제 UCC에 올려야 하지 않겠는가?
그것은 다음포스트에서 다뤄보도록 하지...

다음 포스트: 6부 - UCC에 업로드

Posted by MOBIUS!
,