NVENC가 가능한 엔비디아 그래픽 카드를 이용해서 하드웨어 인코딩을 하면 경우에 따라 수백 배까지 속도가 획기적으로 향상됩니다. 대신 화질은 동일한 비트레이트의 소프트웨어 인코딩 동영상에 비해 떨어지는 것이 사실이죠.
이 프리셋은 NVENC의 속도를 어느 정도 희생하는 대신 화질을 향상시키고자 하는 목표로 만들어진 것입니다. 그렇게 하기 위해 샤나에서 제공하는 기본 rate control 옵션인 '-shanarcmode'를 없애고 보다 상세하게 rate control을 할 수 있도록 인코딩 설정 옵션과 설정값을 추가했습니다.
이 프리셋은 NVENC에서 지원하는 H264, HEVC 두 가지 코덱 중 HEVC 코덱에 관한 것입니다.
NVENC(HEVC) Slow VBR 1800k HE-AAC 44.1 64k.xml
이 프리셋의 오디오 설정은 편의상 44.1 kHz 샘플링 레이트에 64 kbps의 비트레이트를 가지는 스테레오 HE-AAC 코덱의 오디오로 인코딩되도록 설정했습니다.
몇몇 중요한 옵션과 설정값에 대한 설명은 아래와 같습니다. (필터 매개변수에 대한 설명은 생략)
=============================================================================
-f mp4
-c:v hevc_nvenc -profile:v main -level auto
-preset slow
// hevc_nvenc의 프리셋은 slow(hq 2 passes), medium(hq 1 pass), fast(hp 1 pass),
// hp(high performance), hq(high quality), bd(blueray disk),
// ll(low latency), llhq(low latency hq), llhp(low latency hp)
// 등이 있는데 slow가 가장 높은 퀄리티
-b:v 1800k
// 비디오 비트레이트 1800 kbps. 원본과 원하는 화질에 따라 높이거나 줄일 것
-rc vbr_hq
// rate control을 varible bitrate high quality 모드로.
// 이외에 constqp(constant quantization parameter), vbr(variable bitrate), cbr(constant bitrate),
// cbr_ld_hq(constant bitrate low delay high quality), cbr_hq(constant bitrate high quality)
// 등의 모드가 있음.
-rc-lookahead 20
// rate control을 위해 미리 가져올 frame 수를 20으로 설정
// 정수값으로, 기본값은 0. 시스템 최대 정수까지 설정 가능
// 10에서 20 사이의 값을 추천
-spatial_aq 1
// 프레임 내(spatial=intra-frame)의 비트레이트 배분을 위해 aq(adaptive quantization)를 true로 설정
// 기본값은 0으로 false.
-aq-strength 10
// 퀀타이저 값의 변동(aq) 정도(variation strength)를 10으로 설정
// 1~15의 정수값, 기본값은 8
// 값이 클수록 변동 정도가 크며 덜 복잡한 부분에 대해 좀더 비트를 할당 (psnr 값은 하락)
-weighted_pred 1
// weighted prediction을 true로 설정. (기본값은 false로 정수 0)
// 일부 동영상의 경우 인코딩 에러가 날 수 있음. 그때는 이 옵션을 지울 것.
-c:a libfdk_aac -b:a 64k -ac 2 -fdkprofile he // 오디오 설정에 관한 부분
-tag:v hvc1 // Apple TV, QuickTime과 호환하는 코덱 ID 설정
-sn -map_metadata -1 -map_chapters -1 -metadata creation_time=now
// 자막 없음, 메타데이터 복사 안 함, 챕터 정보 없음, 인코딩 시간을 파일 생성 시간으로
-metadata:s:v:0 language=kor
// 비디오의 언어를 한국어로. 영어는 eng, 일본어는 jpn, 중국어는 chi
-metadata:s:a:0 language=kor
// 오디오의 언어를 한국어로
=============================================================================
<주의 사항>
1.
설정값을 변경하기 위해 [빠른 설정] 창을 이용해서 [설정 적용]을 한 후 최종 확인을 위해 F8을 눌러 [매개 변수] 창을 열어보면 ' -shanarcmode const' 또는 ' -shanarcmode variable'과 같이 샤나에서 지정한 rate control 모드가 들어가 있는 것을 볼 수 있습니다. 커스텀 설정한 rate control을 적용하기 위해서는 ' -shanarcmode const' 또는 ' -shanarcmode variable' 부분을 지워야 합니다.
2.
일부 동영상(key frame 간격이 매우 좁은 동영상 등)의 경우 인코딩 에러가 날 수 있는데, 그때는 ' -weighted_pred 1' 옵션을 지우십시오.