관리 메뉴

PC Geek's

미디어코더(MediaCoder) H264 CUDA 인코딩 옵션 잡아준 것 메모 본문

소프트웨어와 콘텐츠/트랜스코딩

미디어코더(MediaCoder) H264 CUDA 인코딩 옵션 잡아준 것 메모

NVIDIA CUDA 사용(CUDA Encoder)

어째선지 그냥 클릭클릭해선 잘 안 돼서 좀 검색해보고 되는 세팅을 잡아본 것. 사용한 VGA는 케플러 칩셋인 GTX650 이다. 글을 쓰고 생각인데, 하려면 인텔 인코더로 테스트해볼 걸 시간낭비했나 싶다. 전에 해봤을 때 활성화해주는 게 귀찮았던 것 같아 안 했는데..

되는 세팅이라고 했지만, 기본옵션대로 하면 품질이 영 아니다. x264 CPU인코딩이 멀티패스도 되고 다른 모든 옵션을 사용할 수 있다. 검색해 알아 보며 세부 품질을 높여 주어도, 내 실력가지고는 GPU인코딩 품질을 CPU인코딩 품질만큼 높이는 방법은 찾지 못했다. 제약이 많은 건, 기부웨어(donationware)인 이 프로그램이 완전상용 메이저 프로그램처럼 CUDA/NVENC API를 저수준에서 활용하지 않고 NVidia가 제공하는 툴킷을 적당히 이용하기 때문이지 않을까 짐작해본다(이 프로그램은 MEncoder 의 프론트엔드로 동작하는 것 같으니, MEndcoder에 달린 문제라고 하는 게 정확할 지도 모르겠다). 그래픽카드 제작사는 원래 이 기능을 실시간 인코딩용으로 만든 모양이더라고. 그러니까, 게임플레이 녹화라든가, 실시간 게임방송, 원격 게임같은 걸 하는 용도. 그래서 품질보다는 속도위주라는 평이 보인다.

스크린샷과 설명을 올린다.


우선권(Priority)은 윈도우 작업관리자(task manager)에 뜨는 process를 말하는 것이다. Lower로 해두면 마우스커서나 웹페이지 읽을 때 버벅이는 일이 없다.


비디오. CUDA Encoder(그리고 아마도 NVENC)는 비트레이트 파라메터를 쓸 수 없다고 한다. CQP옵션을 줄 수 없고, 다른 옵션도 안 돼서 Variable Bitrate로 하니 됐다. 비디오 품질 선택창의 CRF는 낮을수록 좋은데 10이 제일 낮은 선택값이라 그걸 지정(CRF설명 참고. 검색해보면 알겠지만 이것도 선형으로 결과물이 바뀌는 게 아니고 추천값도 인코더와 상황에 따라 다르다). Format은 H.264, 인코더는 당연히 CUDA Encoder. 체크하면 GPU에 체크된다.

오른쪽 창에서 CUDA세부옵션은 정해준 대로. Dynamic GOP는 해줄 수 있으면 해주는 게 좋다고 하더라. CABAC, Deblocking 도 해주면 좋다고 한다(프랑스어 웹사이트의 이 프로그램 옵션 설명. 구글번역해 나오는 국문으로 짐작해 보든가, 영어번역으로 보자.), Level은 프리셋을 블루레이로 해두고 Auto로 잡은 것이나 동작하는 선택지를 준 것이나 잘 몰라서 그대로. Offload는 Full로.


여기는 조금 찾은 걸 가지고 몇 가지 손대보았다. 체계적으로 정리한 데를 못 봐서 그냥 이런 짓도 해놨다 정도로 메모해둔다.


오디오는 LC-AAC QAAC VBR 100 이다. 21kHz정도에서 커트된다.


끝으로 컨테이너는 AVI.

이런 옵션으로 굴리면 i3-3220 CPU는 다먹고, GTX650은 50~60%사이를 먹는다. 가속은 CPU인코딩의 ~2배  되고 파일 크기도 CPU인코딩보다 작지만, 품질은 확실하게 떨어져서 동작이 많은 데서 전체화면으로 보면 CPU인코딩때 없던 벽돌이 보인다. 저기서 뭘 해야 더 고품질로 나올까.

아직 설정을 잡지 못한 NVENC는 Lossless 옵션이 있는데.. 그건 나중에 보기로 한다.

CPU 인코딩(x264 auto)

음성은 위의 LC-AAC QAAC VBR 100 이고, 영상은 아래와 같다. Constant QP 20, 또는 20 CRF.

CQP모드와 CRF모드를 설명한 글을 몇 가지 봤는데, CRF가 낫다고 한다. "당신이 컴퓨터라면 CQP모드가 낫다고 판단할 수 있다. 하지만 당신이 사람이라면 CRF모드가 나을 것이다" 라고. 고압축에서는 어떨 지 모르겠지만, 어느 품질 이상에서는 일부러 트집잡으려고 보는 게 아니면 잘 모르겠더라. 그런데 용량은, 2기가짜리 파일 한 개를 압축했을 때 CQP모드가 400메가라면 CRF모드는 300메가라는 식이었다. 내가 인코딩한 파일이 아니라면, 둘을 들고 뭐가 낫지하고 갸웃할 것이다. 팟플레이어에서 TAB키를 누르면 비트레이트가 나오니까 수치로는 알겠지만(음성을 포함한 분량이니 딱 저기에 비례한다고는 보지 말 것) 설명에는, "특정 상황"에서는 CQP가 낫고 대부분은 CRF라고. 저용량 파일에서 차이가 있을 지는 잘 모르겠다.

관련글을 좀 찾아 봤는데, 아래 달았다가 양이 너무 많아져 새 글로 나누었다. [링크한다.]

이 글과 같은 분류글목록으로 / 최신글목록 이동
Comments
Viewed Posts
Recent Comments
Recent Posts