NVENC 화질 향상 프리셋 ver. 2 - 퀄리티 모드 ⇦ 5.2 버전 이상에서는 사용하지 말 것

by JKyle posted Sep 21, 2020
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

이 프리셋은 파스칼, 튜링 아키텍쳐 NVENC의 속도를 어느 정도 희생하는 대신 화질을 향상시키고자 하는 목표로 만들어진 것입니다.

그렇게 하기 위해 샤나에서 제공하는 기본 rate control 옵션인 '-shanarcmode'를 없애고 보다 상세하게 rate control을 할 수 있도록 인코딩 설정 옵션과 설정값을 추가했습니다.

 

옵션값을 변경할 때는 반드시 F8을 눌러 매개변수 창을 열어서 작업하시기 바랍니다.

H264의 경우 파스칼, 튜링 모두 동일하게 설정할 수 있지만(둘 다 B 프레임/Temporal AQ 지원), HEVC의 경우 파스칼은 B 프레임과 Temporal AQ를 지원하지 않아 해당 옵션을 제거했습니다.

 

자신의 그래픽 카드 NVENC 아키텍쳐가 파스칼인지 튜링인지 잘 모르는 분들은 이 문서에서 마지막 열 "HEVC B Frame support"가 No면 파스칼, Yes면 튜링이라고 보시면 됩니다. (GTX 1650 Super 이상 모델은 튜링)

 

프리셋 파일 다운로드:

H264(NVENC) Slow CQ HE-AAC.xml

HEVC(NVENC, Turing) Slow CQ HE-AAC.xml

HEVC(NVENC, Pascal) Slow CQ HE-AAC.xml

 

 

■ 인코딩 옵션 설정 (H264)

=============================================================================

 

 -f mp4

 -c:v h264_nvenc -profile:v high -level auto -preset slow -rc vbr_hq -cq 31

    // cq(constant quality) 값 범위는 0(자동)~51(최저), 적당한 값으로 변경해서 적용할 것

    // -cq 31 대신 -b:v 3000k 와 같이 비트레이트 옵션을 주면 가변 비트레이트 인코딩이 됨

 

 -bf 4 -b_ref_mode middle

    // NVENC에서 H264 코덱에 지원 가능한 최대 B 프레임의 갯수는 4

    // 최대 B 프레임의 갯수를 4로, B 프레임 레퍼런스 모드를 middle로 설정함. 적용시 변경하거나 삭제

 

 -rc-lookahead 32

    // rate control을 위해 미리 가져올 frame 수를 32로 설정

    // 최소값은 B 프레임 수 + 1이어야 함

    // 엔비디아 권장값은 10~20

    // 적용시 변경하거나 삭제

 

 -spatial-aq 1 -temporal-aq 1 -aq-strength 10

    // Spatial AQ, Temporal AQ 모두 적용

    // Spatial AQ의 퀀타이저 값의 변동 정도(variation strength)를 10으로 설정. 1~15의 정수값, 기본값은 8

    // Temporal AQ는 디테일이 많고 움직임이 적은 부분에 더 많은 비트레이트를 할당

    // Temporal AQ를 활성화했을 경우 평균적으로 B 프레임보다 I/P 프레임에 비트레이트를 더 많이 할당하게 되어 프레임 간 비트레이트 변동이 더 커짐

    // 적용시 변경하거나 삭제

 

 -c:a libfdk_aac -b:a 64k -ac 2 -fdkprofile he

 -sn -map_metadata -1 -map_chapters -1 -metadata creation_time=now

 -metadata:s:v:0 language=kor

 -metadata:s:a:0 language=kor

 

=============================================================================

 

 

■ 인코딩 옵션 설정 (HEVC, Turing)

=============================================================================

 

 -f mp4

 -c:v hevc_nvenc -profile:v main -level auto -preset slow -rc vbr_hq -cq 34

    // cq(constant quality) 값 범위는 0(자동)~51(최저), 적당한 값으로 변경해서 적용할 것

    // -cq 34 대신 -b:v 3000k 와 같이 비트레이트 옵션을 주면 가변 비트레이트 인코딩이 됨

 -bf 5 -b_ref_mode middle

    // Turing NVENC에서 HEVC 코덱에 지원 가능한 최대 B 프레임의 갯수는 5

 -rc-lookahead 32

 -spatial-aq 1 -temporal-aq 1 -aq-strength 12

 

 -c:a libfdk_aac -b:a 64k -ac 2 -fdkprofile he

 -tag:v hvc1

 -sn -map_metadata -1 -map_chapters -1 -metadata creation_time=now

 -metadata:s:v:0 language=kor

 -metadata:s:a:0 language=kor

 

=============================================================================

 

 

■ 인코딩 옵션 설정 (HEVC, Pascal)

=============================================================================

 

 -f mp4

 -c:v hevc_nvenc -profile:v main -level auto -preset slow -rc vbr_hq -cq 34

    // cq(constant quality) 값 범위는 0(자동)~51(최저), 적당한 값으로 변경해서 적용할 것

    // -cq 34 대신 -b:v 3000k 와 같이 비트레이트 옵션을 주면 가변 비트레이트 인코딩이 됨

 -rc-lookahead 32 -spatial-aq 1 -aq-strength 12 -weighted_pred 1

    // 일부 동영상의 경우 인코딩 에러가 나거나 인코딩 속도가 너무 느리다면 -weighted_pred 1 삭제

 

 -c:a libfdk_aac -b:a 64k -ac 2 -fdkprofile he

 -tag:v hvc1

 -sn -map_metadata -1 -map_chapters -1 -metadata creation_time=now

 -metadata:s:v:0 language=kor

 -metadata:s:a:0 language=kor

 

=============================================================================

 

□ 기타

  • 튜링 사용자 분들은 -refs 4 옵션을 추가하여 다중 참조 프레임을 활성화하셔도 좋을 듯합니다. (값은 적절히 설정)
  • 비디오 (소프트웨어) 필터를 사용하지 않을 경우 ― 영상 사이즈 변경, 디인터레이스, 화면 반전이나 회전, 영상에 자막 입히기 등 필터 매개변수에 -vf 옵션과 함께 필터 설정이 들어가지 않은 경우 ― 하드웨어 디코딩을 활성화하여 인코딩 속도를 높이시기 바랍니다.

Shana_5.1.0.0_hardware-decoding_cuda_20200920.jpg

 


 

■ 샤나인코더 5.2 버전 이상에서는 사용하지 마시기 바랍니다

  • 새로운 ffmpeg 라이브러리(NVENC 비디오 코덱 SDK 11 적용)가 적용됨에 따라 이 프리셋은 필요 없게 됐으니 더 이상 사용하지 마시기 바랍니다.
  • 빠른 설정에서 HEVC(NVENC)나 H264(NVENC)를 적절하게 적용하기 바랍니다. (팁게의 해당 게시물 참고)

 

이 글을 추천한 사람
II
TAG •