이전 포스트: 5부 - avisynth와 먹싱, 인코딩, 추출

앞서서 마스터버젼의 영상을 만들었을 것이다.
아니 안만들었다고 해도 앞의 내용은 짚고 넘어가야 하는 것이다.
우리는 이제 ucc에 올리기 위해 웹용버젼으로 제작할 것이다.

인코딩 방법은 앞서 소개했으니 다 알거라 생각하고 여기서는 해당 UCC용으로 설명하려한다.

우선 UCC에서는 크게 2가지 포멧을 지원한다.
flv, mp4 가 그것이다.
mp4를 bypass하는 곳은 드물지만 일본의 zoome.jp, nicovideo.jp가 있다.
flv를 bypass하는 곳은 nicovideo.jp, migame.tv가 있다.
migame.tv가 아니면 전부 일본서비스인데 각각 사양이 전부 다르다.

일단 mp4가 올라가는 zoome.jp는 영상, 오디오 합쳐서 1500k를 넘지 말아야한다. 물론 코덱은 H264
nicovideo.jp는 프리미엄과 일반이 다른데 역시 H264로 636k가 넘지 말아야한다. (일반) 프리미엄은 800k정도이긴 한데 돈내야 하니까 패스 ㄱ-
일단 nicovideo.jp는 flv, mp4전부 636k만 넘지 않으면 그대로 올라간다.

migame.tv는 flv만 지원하지만 제한없이 올라간다는 강점이 있다. 광고가 신경쓰이지만 현재 국내환경에서는 이곳이 유일하다.
여담이지만 3000k 정도로 만들어두길 권하는데 이유는 그 이상 넘어가면 감상하는데 무리가 생기니까 3000k정도가 웹에선 가장 적당하다.

mp4로 인코딩 하려거든 앞서 megui로 다시 해당사양에 맞춰 다시 인코딩하면 된다.
flv의 경우는 1부에서 설치한 flvenc로 하면 된다.
간단하게 bat에 드래그앤드롭으로 해결할수 있으니까 별도의 설명은 생략한다.


후기
여기까지 모든 과정을 소개를 했다.
물론 부족한점이 많겠지만 일단 이블로그의 대부분의 방문자가 인코딩 관련 정보를 찾는 사람이었고 나 역시 그동안 쌓아온 지식을 정리할겸해서 6부작으로 다루어보았다.
최대한 자세하게 다룬다고 적었지만 아무튼...
도움이 되길 바라며...
Posted by MOBIUS!
,
이전 포스트: 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!
,
이전 포스트: 3부 - 동영상의 기본구조에 대해

앞서 동영상파일의 기본구조에 대해서도 알아봤으니 이제 본격적으로 인코딩을 해보자.
일단 인코딩하기에 앞서 제일 중요한것은 비트레이트이다.
물론 고급옵션을 건드리면 화질향상을 노릴수는 있지만 큰 차이는 별로 없다.
따라서 높은 화질을 요한다면 역시 비트레이트는 높게 잡아주는것이 좋다.

그렇다고 한없이 높게 잡아주는것도 아니다.
보통 800 * 448정도라던지 하는 사이즈라면 3000~4000k 정도라면 충분하며
1280*720정도라면 5000~6000k 정도면 아주 충분히 소장용버젼의 가치가 있는 화질이 나온다.
그 이상은 차이가 별로 없기 때문에 의미는 없다고 보는게 좋다.
물론 이것은 게임영상의 예기이다.
보통 애니메이션이나 필름(영화)영상은 2500k ~ 3000k 정도면 충분히 소장용 화질이 나온다.
실제로 현재 H264코덱으로 릴되고있는 애니나 필름영상도 모두 2500~3000k 정도로 릴되고있다.
물론 1080p정도 사이즈가 되면 5000k정도로 올라가긴 한다.

일단 본인조차도 H264코덱에 대해 깊이 아는것이 아니라서 부족할지도 모르지만 현재 H264로 릴하는 립퍼들 역시 이 코덱에 대해 깊이 알고있는것이 아니라서 화면이 깨진다던지 하는 부분이 나오는 모습을 자주볼수 있다.
그도 그럴것이 현재 H264 코덱은 현재진행형으로 개발단계에 있기 때문이다.
즉 미완성 코덱이란 예기이다.
또한 인코딩옵션이 워낙 많고 방대해서 립퍼들이라도 그것을 전부 다 알고있는 사람은 없지 않을까 싶다.
그만큼 H264코덱이 다루기 어려운 코덱이긴 하지만 화질하나는 정말 끝내주게 좋은 코덱이다.
다만 하드웨어를 많이 가린다는것과 압축률이 워낙세서 디코드하는데 부하가 좀 심한편이라는게 단점이긴 하다.

일단 옵션을 전부 설명하는것은 무리이고 중요한 옵션을 몇개만 다루어보고자 한다.
설명은 megui 기준으로 할것이다.

일단 아래의 설명에 들어가기전에 아래의 포스팅을 짚고 넘어가시라

본인의 x264 옵션설명

<프레임의 기초>
프레임이란 무엇인가하면 그전에 동영상데이터가 어떤 구조로 이루어져 있는지 알아두어야 한다.
먼저 영상데이터는 이미지의 연속으로 이루어져있다.
그림을 한장한장 그려서 연속적으로 넘기는 방식으로 이루어져 있다.
이 상태의 데이터를 무압축데이터라고 부른다.
영상의 압축은 이러한 그림의 한장한장을 어떻게 압축하느냐에 달려있는데
코덱이라는 녀석이 이 데이터를 압축하고 해석하는 능력을 가지고 있다.

먼저 코덱이 어떻게 영상을 압축하는가를 알아보면
일단 코덱에서는 모든 프레임의 픽셀정보가 아니라 중요한 프레임이라고 예상되는 프레임을 자동으로 감지해서 그 프레임의 픽셀정보만 남겨두고 나머지는 전부 날려버린다. 그런 실제 픽셀정보가 담긴 프레임을 키프레임이라고 부른다. 나머지는 전부 예측으로 보여준다. 즉, 실제 픽셀정보에 기반해 보여주는게 아니라 단순한 코덱에서의 예측으로 보여준다는 소리이다. 모든 코덱이 이러한 방식으로 이루어져 있는데, 보통 키프레임은 코덱이 자동으로 잡아주는데 장면과 장면이 바뀌는 지점에서 알아서 삽입을 한다.

이렇게 키프레임과 키프레임 사이의 영상을 어떻게 예측해서 보여줄것인가를 디코딩이라고 부르고, 이러한 키프레임과 키프레임 사이의 예측정보를 어떻게 만들것인가를 인코딩이라고 부른다.

이정도로 프레임의 기초를 마치도록 하고 이제 실제 중요한 옵션에 대해 알아보도록 하자.

<Main 탭>
●General 영역
- Mode: 인코딩모드를 지정한다. quantizer, 2pass, 3pass, quality, ABR 모드가 있고 Turbo 모드에 체크를 하면 인코딩시간이 줄어든다고 한다.
- Bitrate: 비트레이트나 quantizer값등의 모드에 따른 세부수치를 지정하는데 lossless에 체크를하면 무손실압축으로 작동하지만 추천하는바는 아니다 ㄱ-

ABR: 1pass 인코딩이다. 비트레이트를 일정하게 부어준다.
Quantizer: 지정된 값으로 영상을 가변비트율로 비트레이트를 부어준다. 용량이라던지 비트레이트를 알수가 없다는 단점이 치명적이지만 화질하나는 보장한다. 보통 10까지는 무손실급, 15정도는 울트라초고화질, 18정도가 초고화질, 22정도가 고화질에 속한다. 26정도가 웹에서 볼만한 고화질수준 28정도가 웹에서 볼만한 중간급 화질정도이다. 이 값은 소스에따라 전부 틀려진다. 얼마의 값을 부어줄건지는 경험을통해 알게된다고 한다.
Quality: Quantizer와 마찬가지로 가변비트율이다. 차이는 잘 모르겠다 ㄱ-
2pass: 영상을 2번 나누어 인코딩 하는데 첫번째는 대략적인 분석, 두번째에 실인코딩이 들어간다.
3pass: 2pass와 같지만 이녀석은 3번 이상의 인코딩을 여러번 거칠수 있다. 오더는 1,3,2인데 1,3,3,2는 4pass, 1,3,3,3,2는 5pass가 된다. 3을 여러번 늘리는것으로 pass수를 늘릴수 있다. 얼마까지 늘어나는지는 모르겠지만 보통 5pass면거의 화질보정이 멈춘다고한다.

●Deblocking 영역
- strenth / threshold: 정확한 설명은 잘 모르지만 (영어가 된다면 모르겠지만, 전문용어라 영어가 된다고 쳐도 이해하긴 어려울것이다.) -3 ~ 3까지 변하는데 마이너스로 갈수록 샤픈해지고 플러스로 갈수록 스무스하게 되는데 보통 HD립 영상들은 -3, -3으로 세팅한다고 한다. 화질이 깨끗한 원본인 경우 0,0 으로 세팅할것을 권장하고 좀더 자세한 정보를 알고 싶다면 이하의 사이트를 방문해 보길 권한다

종스비님의 x264 deblocking 값에 따른 화질차이
오호라님의x264 Deblocking 값에 따른 화질 비교

●Misc영역
- fourCC: Hex로 열면 맨 앞에 나오는 4글자를 말한다. 이 값에 의해 디코딩할 코덱을 찾아 연결해 재생하는데 쓰이는데 보통은 아무거나 주어도 상관없지만 Vegas7 정도의 편집기에서 열려거든 avc1으로 세트하지 않으면 안됀다. 또한 플래시의 기술을 사용해 제작된 UCC들도 avc1 이라고 넣는것이 좋다. -> avc1 이 본래 H264의 표준 fourCC이다.

<RC and ME 탭>
●ME 영역
모션감지라고 해서 그것과 관련된 세팅이다. 본래 코덱에서는 데이터를 압축할때 키프레임 단위로 압축을 하고 예측을 해서 보여주는데, 보다 자세한 내용은 위의 본인의 x264 옵션설명과 프레임의 기초부분을 참고해서 보시고, ME라는 것은 이런 예측정보에서 움직임을 잠지해 내는 것을 말한다.
- Chroma ME: 모션감지능력을 보다 효과적으로 행한다. 화질에 현격한 영향을 주므로 체크한다.
- MERange: 모션을 감지할 최대영역이다. 값이 클수록 화질이 올라가지만 반대로 인코딩시간도 올라간다. 일단 고화질애니메이션의 경우는 32로 세팅한다. 게임영상도 마찬가지로 32로 세팅.
- Scene Change Sensitivity: 장면변화의 예민한 정도를 나타낸다. 값이 높을수록 과도한 장면변화가 있는 부분에서 보다 키프레임을 많이 삽입해 퀄리티를 높인다. 초고화질정도의 영상이라면 80정도로 세팅한다. 기본값인 40으로 놓는 립퍼도 있다.
- MEAlgorithm: 모션감지 알고리즘을 선택한다. 고화질의 경우는 Multi hex정도를 넣는다
- Subpixel Refinement: 모션감지에 있어서 영상에 파티션을 어떻게 줄것인가를 결정하는 옵션이다. 6정도가 좋고 7로 주면 아주 쩌는 화질이 나온다.

●Misc 영역
- Keyframe Interval: 키프레임을 주는 최대간격을 말한다. 값이 적을수록 키프레임이 많이 들어가지만 용량이 상승
- Min GOP Size: 키프레임의 최소간격을 말한다. Max의 10분의 1을 세트하는것이 보통이다. 이 값은 fps값과 같은 값을 세트하면 되지만 뭐 상관없다.

●Quant Options 영역
- CABAC: Context Adaptive Binary Arithmetic Coding을 사용한다. 보통 CABAC를 사용하면 디코딩에 부하가 많이걸리지만 압축률 역시 좋아져 용량도 절약한다. 하지만 끄면 디코드의 부하가 적어지는 대신 압축률이 낮아져 용량역시 늘어난다. 보통 켜는 편이다.
- No Dct Decimation / No Fast P-Skip: 화질과 퀄리티에 영향을 많이 준다. 둘다 켜도록 뭐하는진 나도 모른다 ㄱ-

<Advanced 탭>
●Quantizer Matrices: 화질에 역시 가장 중요한 역할을 차지하는 녀석이다. 보통은 기본으로 쓰는데 1부 포스트에서 올린 Matrix를 받은경우에는 여기에 그것을 세트하면 된다. 화질보정과 관계가 있다.


여기까지 중요한 옵션을 살펴봤는데 나머진 나도 모르거나 까먹은 부분이다 ㄱ-;
신경 쓰인다면 1부 포스트에서 올린 x264 profile부분을 참고해도 좋다.

좀더 자세한 정보를 보고싶거든 아래의 블로그를 방문해 보시라

http://blog.naver.com/PostView.nhn?blogId=jongsbee&logNo=20054878124&categoryNo=0&viewdate=&cpage=1&postListTopCurrentPage=1

물론 H264는 더 자세하게 알고싶거든 doom9.org 를 방문할것을 권하지만 이쪽은 영어권 사이트이다. H264에 대해 더 깊이있게 알려거든 영어는 필수로 알아야한다. 국내에선 깊이있는 정보는 얻을수 없다는것을 명심해라. 물론 일본어도 알면 좋은데 일본의 립퍼들의 정보도 상당한 도움이 된다.

오디오 인코딩은 간단하니까 넘어간다. 역시 megui에서 인코딩하면 된다.
소장용이라면 320, 448, 640k로 세팅하고 웹공개용은 192k정도면 충분한 고화질이다.
니코비디오 같은곳은 128k정도 추천.

일단 코덱에 대해 살펴봤는데 아직 본격적인 인코딩을 들어가기엔 이르다.
다음포스트에선 avisynth에 대해 살펴보고 실제 인코딩과 먹싱등에 대해 알아보도록 한다.

다음 포스트: 5부 - avisynth와 먹싱, 인코딩, 추출

Posted by MOBIUS!
,
이전 포스트: 2부 - 캡쳐 및 편집

캡쳐 및 편집을 마쳐 Huffyuv영상 - 무압축음성의 AVI를 만들어 놓았다면
여러분은 이제 마스터버젼의 소장용 영상을 만들어야한다.
마스터버젼의 영상은 무엇으로 하든 자유이다.
본인이 좋다고 생각되는 포멧으로 만들면 된다.
물론 마스터버젼을 만들지 않아도 상관은 없다.
그런데 여러 경험상 이전에 만들어두었던 영상을 나중에 반드시 또 쓰고싶은 경우가 생기는데 화질을 끌어올리고 싶다면 소장용 마스터버젼을 만들어두는것을 권장한다.
뭐 건너뛰어도 상관은 없다.
일단 오늘은 그것은 차치하고 동영상의 기본구조에 대해 살펴보고자 한다.

여기서는 본인의 취향을 기준으로 진행하도록 한다.
나는 H264코덱을 굉장히 좋아하기 때문에 H264 - AAC 코덱으로 인코딩해 mp4에다가 담아 마스터버젼을 완성한다. 하지만 언제나 이것을 고집하는것은 아니고 XBOX360콘솔의 경우 디지털출력을 AC3로 하기 때문에 이경우는 AC3사운드를 사용해 mp4가 아니라 mkv에다가 담아넣는다. 그도 그럴것이 mp4는 ac3를 담을수 없기 때문이다.

아마 인코딩에대해 처음인 사람은 담는다느니 mkv니 mp4라느니 하는것에 대해 물음표만 띄울텐데 이제 인코딩하기 전에 사전지식을 알아보도록 한다.

먼저 동영상파일의 구조에 대해 간략하게 살펴보도록 한다.

동영상파일은 크게 두부분으로 나뉘어져 있다.
첫번째는 RAWDATA,  두번째는 CONTAINER인데
어떤 인코딩툴이 전부 마찬가지이듯이 모든 영상은 안에 RAWVIDEO, RAWAUDIO를 담고있다. 이 RAWDATA들은 인코더가 만든 데이터들인데 코덱에 따라 데이터의 형식이 전부 다르다. 만약 H264로 인코딩했다면 RAW데이터는 avc 형태로 만들어지고 h264 혹은 264라는 형식의 확장자를 갖게된다. 확장자는 그냥 단순한 이름일뿐 모두 avc형태이다. AAC로 인코딩했다면 역시 aac라는 확장명을 가지는데 이것역시 확장명도 단순한 이름에 지나지 않는다.

이러한 rawdata들을 스트림이라고 부른다.
영상스트림, 음성스트림이라고 부르고 rawvideo, rawaudio라고도 부르기도 한다.
이 녀석들은 코덱으로 인코딩한 데이터의 원시데이터이다.
즉 영상을 mp4로 만들었는데 mkv로 바꾸고싶다
그럴경우엔 이 rawdata를 추출해서 단순히 mkv컨테이터에 담기만 하면 땡인것이다.
avi로 바꾸고싶은 경우는? 역시 rawdata를 추출해서 avi컨테이너에 담으면 땡이다.
보통 이런 지식을 모른다면 무식하게 또 재인코딩을 할것이다.
그럴 필요가 없는것이 우린 이미 인코더에서 rawdata를 손에 넣었기 때문에 컨테이너만 바꿔주면 땡이라는 것을 알수 있기 때문이다.

그러면 이제 컨테이너가 무엇인지 감이 잡힐 것이다.
컨테이너는 이러한 rawdata들을 담는 그릇과 같은 역활이다.
여기에는 비디오데이터, 오디오데이터가 들어가며 mkv같은 컨테이너의 경우는 chapter, subtitle, cover-image 등이 들어가기도 한다.
또한 컨테이너는 담겨진 비디오와 오디오데이터의 간략한 메타정보나 인코딩사양등의 정보를 기록해 보존해두는 역할도 한다.
아마 본적이 있을것이다. 동영상파일에 마우스커서를 가져다대면 비디오의 제목이라던지 인코더, 비트레이트, 코덱 뭐 이런 정보가 뜨는 모습을...
아니 KMP로 열면 파일정보에 이러저러 정보가 뜨는 모습을 보았을 것이다.
이것은 muxer라고 불리는 종류의 소프트웨어가 컨테이너에 비디오와 오디오를 담아 파일로 만들면서 파일에 기록해둔 메타정보이다.

그러면 이제 대충 인코딩할때 어떻게 해야하는지 감이 잡히는가?
바로 rawaudio 와 rawvideo 를 먼저 인코딩해서 muxer로 컨테이너에 담으면 된다.
물론 인코딩할때 rawdata로 만들어 달라는 옵션을 달아야한다.
megui의 경우는 x264에 RAWAVC, xvid에 RAWASP 로 인코딩하는 옵션이 달려있다.
물론 mp4box, mencoder, x264 등의 많이 알려진 H264 인코딩 소프트웨어들도 모두 이러한 기능을 지원하고 있다. 다만 이러한 소프트웨어들은 전부 커멘드라인 방식이라는 점이 치명적이긴 하지만 bat 배치파일로 만들어서 쓰면 상당히 유용하게 쓸수도 있다.
이건 나중에 살펴보도록 하고

이렇게 동영상파일의 구조에 대해 살펴보았다.
아마 많은 립퍼들도 그렇게 할거라 생각하지만 나 역시 인코딩할때 mp4, mkv로 바로 만들지 않고 rawdata로 인코딩한다.
인코더에서 rawdata로 인코딩해 비디오스트림, 오디오스트림을 만들어서 확보해둔 후에 muxer로 붙여쓰면 되기 때문이다.
avi컨테이너에 x264코덱으로 만든 영상들은 모두 이렇게 만들어지는 영상들이다.

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

Posted by MOBIUS!
,
이전 포스트: 1부 - 준비

1부에서는 몬스터X를 이용한 캡쳐의 준비를 마쳤다면 이제 본격적으로 캡쳐에 들어간다.
캡쳐는 1부에서 설치한 MxCapture를 사용한다. 캡쳐시 듀얼디스플레이로 출력할것을 권했는데 이유는 간단하다. 딜레이를 줄이기 위해서이다. 애니나 영화등은 상관없지만 액션성이 강한, 타이밍이 중요한 게임이라면 예기가 다르다. 순간의 찰나의 시간차에도 생사가 오가는 그런 게임은 이런 딜레이가 치명타가 되기 때문이다. MxCapture는 캡쳐시에 디스크에 기록하는 과정에서 시간차가 발생하기 때문에 듀얼로 구성해 한쪽은 HDTV나 모니터를 통해 컴포넌트 출력으로 연결해 디스플레이하고 다른한쪽은 캡쳐보드쪽에 디스플레이하는데 1부에서 이 과정은 마쳤으리라 생각하니 넘어간다. (힌트를 주자면 DVD분배기)

먼저 출력세팅일텐데 TV방송이라면 자동으로 잡히겠지만 XBOX360같은 게임은 콘솔기기에서 세팅을 해주어야한다. 콘솔이라면 1080p까지 될텐데 아쉽게도 몬스터X는 1080i까지 되므로 1080p는 세트하지 말고, 권장세트는 720p를 추천한다. 그도 그럴것이 1080i 라고해도 인터레이스방식은 가로줄이 어쩔수없이 생기기 때문에 추천하는바가 아니다.

오디오세트는 취향에 따라 세트하면 되는데 SPDIF광출력으로 연결한 경우라면 SPDIF로, 스테레오로 연결한 경우라면 아날로그(アナログ)로 설정한다. 혹시 출력이 5.1ch이라면 설정에서

이것을 잊지 말도록 한다.
아마 소스가 아날로그5.1ch이 아니라 디지털5.1ch이라면 소리가 안나거나 찢어지는 소리가 날텐데 그것은 스피커에서 디지털소스를 디코드할수 없기 때문이니까 어쩔수 없다. 어차피 extbsgui로 변환하면 제대로 들리니까 걱정할 필요는 없지만 그래도 신경쓰인다면 리시버를 장만하던지 디코더를 장만하던지해라. 그것도 안됀다면 포기하고 스테레오(아날로그)로 설정하도록... 어차피 소장용이 아닌이상 웹에 올릴거라면 현재의 UCC포털의 기술로는 5.1ch은 재생할수 없다 -> 전부 스테레오로 다운믹스해 디코드한다. (원본에 영향을 미치는것은 아니다.)

여기서 알아두어야 할점은 오디오 출력이 AC3인지 AAC인지 어떤지 여부를 알아두는게 좋다. AC3 -> AAC, 혹은 AAC -> AC3로 가면서 음질열화라던지가 있을수 있으니까 본래의 출력에 맞춰주는것이 보존용으로써는 가장 좋기 때문이다. 이것은 인코딩시에 자세히 알아보도록 하고

이제 프리뷰를 눌러서 출력을 해본다. 화면이 약간 흐리거나 그런 느낌이 날텐데 오버레이세팅을 통해 색보정을 해줘야 한다. MxCapture에 오버레이 컨트롤러가 있으니 그것을 사용해 색보정을 자신의 취향에 맞게 설정해준다.

설정해준후에 일단 간단하게 시험인코딩을 해본다. 제대로 캡쳐가 되는지 어떤지를 확인하는 것인데, 이 테스트를 제대로 하지 않고 넘어간 경우 캡쳐가 끝나서 확인하는데 제대로 캡쳐가 안됀경우가 수시로 종종 발생하기 때문에 반드시 거치고 넘어가야한다.

캡쳐시에 fps는 어디까지 되는지는 모르겠으나 59.94는 무난히 캡쳐가 가능했었다. 아마 적어도 사양이 램이 2기가~4기가, CPU가 듀얼코어이상, 하드디스크가 7200rpm 그래픽카드가 ATI정도는 되어야 무난할것이다. 권장은 4기가램, 쿼드코어, 하드디스크가 7200~12000rpm, ATI그래픽카드 정도이긴 하지만....

캡쳐는 AVI 포멧에 Huffyuv로 세트했으니 그렇게 될것이다.
무손실 압축이라곤 하지만 거의 뭐 무압축이나 다름없다 ㄱ-
거의 습관적으로 캡쳐후에 바로 인코딩을 거치는데 MAD무비같은것을 만든다면 인코딩없이 이상태에서 곧바로 편집작업에 들어가는것이 좋다. 왜냐면 H264같은것은 베가스7 같은 편집툴에서 디코드하는데 엄청난 부하가 걸리는데다가 XVID, DIVX같은것은 화질을 생각하면 캡쳐원본에서 곧바로 편집하는것이 화질을 기대할수 있고 시간적으로도 인코딩과정없이 곧바로 들어가기 때문에 시간도 절약할수 있기 때문이다.
다만 베가스7은 제대로된 5.1ch 의 편집이 안돼기 때문에 이경우에는 splitter로 일일이 잘라서 편집해주던가 아니면 다른 제대로 편집이 가능한 어플리케이션을 이용해야한다. 이부분은 본인도 고민중이다. 이 경우에는 오디오는 따로 편집해서 컨테이너에 먹스해야할것이다.(각각 따로작업하란 예기)

편집에서는 되도록이면 huffyuv를 사용할것을 권한다. 이편이 가장 화질을 보전할수 있기 때문이다.

미리 말해두지만 편집할때는 용량에는 자비심을 가지면 안됀다. 개인적으로는 약 500GB정도의 여유공간을 남겨두고 작업하는것을 권한다. 거의 뭐 무압축이나 다름없다보니 의외로 용량이 많이 들어간다. 넉넉한게 이득. (약 1.5TB정도 구축해두는것을 권장)

다음 포스트: 3부 - 동영상의 기본구조에 대해

Posted by MOBIUS!
,


순위 개수 키워드명
1 22 몬스터x
2 9 h264
3 6 몬스터X
3 6 megui
4 5 x264
5 4 mkv avi
5 4 X264
5 4 mkv 인코더
6 3 고화질인코딩
7 2 h264 인코더

내 블로그 방문 검색어순위이다.
1위는 부동의 몬스터x
그 뒤를이어 h264와 megui가 추격하고있지만
1위를 넘보기엔 글른듯...
내가 몬스터x 관련 글을 쓴것이 캡쳐보드 Monster-X 게임영상 인코딩
이 포스팅인데 좀 보니까 대충대충 쓴티가 팍 난다 ㄱ-;
사실 인코딩에관해 포스팅 하나에 전부 담는다는것은 좀 무리가 있지 않나 싶다.
조금씩 차근차근 길게 주제를 가지고 다뤄봐야 할 문제같다.
Posted by MOBIUS!
,
전에 한번 몬스터X를 사용한 캡쳐법을 다룬적이 있는데 다시 보아도 좀 뭔가 날림인듯 ㄱ-
이번엔 자세하게 제대로 다뤄보려한다.

<준비물>
몬스터X, 젠더, DVD분배기, 컴포넌트 케이블, 콘솔, 모니터
캡쳐소프트 (MxCapture), extBsGui, avisynth, megui, flvenc, mkvmergeGUI, mkvextractGUI, yamb

뭐 준비물은 이정도려나? (아주 기본적인 구성)
먼저 나는 디스플레이를 듀얼로 구성해 캡쳐를 한다.
왜냐하면 캡쳐소프트인 MxCapture는 하드디스크에 기록하는 과정에서 약간 딜레이가 발생하는데, 타이밍이 중요한 게임에서는 굉장히 치명적이다. 따라서 분배기로 한쪽을 컴포넌트를 입력받을수 있는 모니터에 연결해 그것을 보면서 캡쳐한다. 물론 HDTV가 있다면 그쪽에 연결해도 상관 없다.

PS3 혹은 XBOX360의 게임캡쳐는 일단 세팅을 720p로 선택해야 한다. 왜냐면 몬스터X가 1080p를 인식하지 못하기 때문이다. -> 아쉬움
PS2 혹은 PSP의 경우는 각각 480i (PS2), 480p (PSP)인데 PS2쪽은 게임쪽에서 프로그레시브출력을 하지 않는이상 전부 480i로 출력한다. 따라서 가로줄이 어쩔수 없이 생기게 되어있다. 아무리 캡쳐보드라도 소스가 인터레이스라면 가로줄은 무조건 생기게 되어있는 것이다.

※끝에 붙는 문자가 i 이면 인터레이스방식, p 이면 프로그레시브방식 이란 뜻이다.


설치를 했으면 이제 인코딩도구를 설치한다.
먼저 extBsGui를 설치한다.


이제 megui를 설치한다. 이놈이 x264 인코딩소프트이다.


이제 yamb를 설치할 차례이다.


이제 mkv관련 소프트를 설치한다.


이제 남은것은 단 하나. flvenc이다.



이것으로 일단 준비물의 모든 준비과정을 마쳤다.
이제 남은것은 캡쳐와 인코딩



개인적으로 만들어 쓰는 프로필인데 써도 그만 안써도 그만이다.
쓸 사람은 쓰도록 하고, Matrix는 커스텀Matrix파일이다. 역시 쓸사람은 쓰도록...

여기까지 대충 설치과정을 달려왔다. 뭔가 좀 복잡하고 어려워보이고 설치할게 이리도 많은지 하는 생각이 들겠지만 전부다 도움이 될만한 것들이다. 앞으로의 포스팅에도 저 많은것들이 사용될테니 되도록이면 megui, flvenc, mkvmerge, mkvextract, extbsgui, yamb 정도는 설치하는게 좋다. (결국 전부 다란 소리 ㄱ-)

다음 포스트: 2부 - 캡쳐 및 편집

Posted by MOBIUS!
,
하루종일 오늘 삽질하다가 결국 알아낸 megui로 avi 작성법이다.

먼저 필요한것은 .264 rawavc 파일을 만들어야 한다.
이렇게 하려면 우선 영상인코딩의 과정에 대해 알아둘 필요가 있는데
이 포스팅은 megui로 기본적인 mp4, mkv를 인코딩 할줄 안다는 가정하에 진행하겠다.

일단 앞서 설명했듯이 mp4, mkv를 avi로 작성하려면 .264 rawavc 파일이 필요하다고 했다.
이렇게 하려면 autoencode를 해서는 안됀다.

먼저 aac파일을 만들어야 한다. m4a로 만드는것이 좋다. 작성한다. (encode를 눌러 워크스페이스에 올려놓는다)
이제 영상을 만들어야 하는데 파일포멧을 mp4, mkv가 아닌 rawavc로 선택한후 encode를 눌러 워크스페이스에 올려놓는다. (autoencode가 아니다)

이제 워크스페이스에 m4a, rawavc를 작성하기위한 잡이 올라와있을것이다.
시작을 누른다. 만약 3pass로 지정하였다면 도중에 경고창이 뜨면서 파일이 존재한다고 알려올것인데 상관없이 YES를 누른다. megui 버그라고 한다.

이렇게 m4a, rawavc가 올라왔다면 이것을 가지고 다시 tool -> muxer -> avc2avi muxer를 기동해서
각각 비디오와 오디오 input에 선택한다.
이제 이것을 가지고 muxing을 하면 avi파일로 작성이 되어지는 것이다.

이후 다시 tool -> muxer -> mp4 muxer를 기동하면 이것을 mp4로 만들수도 있다.
이렇게하면 하나의 영상파일을 2가지. 즉 avi, mp4로 각각 따로 만들 필요가 있을때
인코딩을 한번만 하고 먹싱을 각각 따로 할수있기 때문에 시간이 2배로 절약된다는 장점이 있다.
굳이 두가지로 하지 않더라도 한가지 mp4로만 한다고 했을때도 마찬가지이다.
어차피 실제 동영상데이터인 .264 파일만 있으면 avi, mkv, mp4 어느컨테이너로도 먹싱이 가능하기 때문에 편리한것이다.

이렇게 만든 avi 파일을 virtualdub에서 불러온후 xvid 코덱등으로 다시 인코딩하면 vegas에서도 편집할수 있게 되는 것이다.
왜 한번 더 인코딩을 하냐면 차후 이 영상을 편집해야 할 경우가 생길때 vegas에서 인식을 못하기 때문이다. 이럴경우 virtualdub에서 일반적으로 보편적으로 쓰이는 xvid, divx 코덱으로 재인코딩 하면 되는것이다.
경우에 따라선 무압축으로 저장해야 하는 경우도 있다.
이때 비트레이트를 원본 비트레이트보다 같거나 높게, pass는 되도록 2pass, 3pass로 하면 원본화질을 거의 그대로 보존한채로 변환할수 있다.

이것으로 megui는 mp4, mkv, avi를 작성할수있는 최강의 인코더가 되지 않을까?
오늘 특정 해괴한 동영상파일을 가지고 별짓을 다 해봤는데 megui밖에 되는게 없는것을 보고
얼마나 허탈했는지.....
Posted by MOBIUS!
,