Skip to menu

본문시작



질문하기 전에 검색하세요(Search before asking a question)


Views 409 Votes 2 Comment 5
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment

7월초에 발표된 엔비디아의 비디오 코덱 SDK 10.0에서 새로 도입된 프리셋들 ― 내부적으로는 "프리셋 2.0"이라고 명명하는 것 같습니다만 ― 이 NVENC 설정을 상당히 간편하게 해주는 이점이 있군요.

 

P1(최대 퍼포먼스) ~ P7 (최대 퀄리티)까지의 이 7개 프리셋들은 x264나 x265의 프리셋들 ― ultrafast ~ placebo ― 의 역할을 그대로 가져온 느낌입니다. 문서에 의하면, 기존에 따로 설정해줘야 했던 고급 기능들(advanced features: B 프레임 수, B 프레임 레퍼런스 모드, lookahead 설정, AQ 설정, weighted prediction 설정 등등)을 거의 전혀 설정할 필요가 없다는군요(built-in).

 

엔비디아 측에서 발표한 프레젠테이션 자료에 의하면 아래와 같습니다.

 

Nvidia_Video-Codec-SDK-10.0_PPT-slide_Presets-2.0_comparison-with-legacy-presets_20200922.jpg

 

그리고 RC(rate control) 쪽도 대폭 손을 보아서 이제는 퀀타이저(Constant QP), CBR, VBR 세 개 정도로만 정리되고 기존의 vbr_hq, cbr_hq, cbr_ld_hq 같은 종류는 추후 지원되지 않을 예정이라고 합니다 (현재는 하위호환성을 위해 유지 중). (잘 아시겠지만, 퀄리티 모드의 RC는 VBR의 변형입니다.)

 

Nvidia_Video-Codec-SDK-10.0_PPT-slide_Presets-2.0-summary_20200922.jpg

 

RC 모드도 따로 명시적으로 옵션으로 사용할 일이 없는 게,

  •  -qp  옵션으로 퀀타이저를 설정하면 퀀타이저 모드(Constant QP)로
  •  -cq  옵션으로 퀄리티를 설정하면 퀄리티 모드(변형된 VBR)로
  •  -b:v  옵션으로 비트레이트를 설정하면 VBR 모드로
  •  -b:v  와 함께  -cbr 1  옵션을 추가해주면 CBR 모드로

작동되는 것을 확인했습니다.

 

결국 실제 적용될 때는 (HEVC의 경우)

-c:v hevc_nvenc -preset p7 -cq 32

이렇게 코덱, 프리셋, 퀄리티(또는 퀀타이저 또는 비트레이트), 세 종류만 옵션으로 주면 된다는 소립니다. (프로파일은 main이 디폴트이므로 생략 가능)

 

그리고 low latency나 lossless가 필요할 경우 -tune 옵션을 추가해주면 됩니다. 예) -tune lossless

 

사용성 면에서 상당히 편리해졌습니다. 샤나인코더의 NVENC 빠른 설정 구성도 굉장히 간편하게 디자인될 수 있겠다는 생각이 들더군요. 현재의 HEVC(x265) 빠른 설정과 비슷하게 구성될 수 있지 않을까 싶습니다.

 

 

아직까지 샤나인코더에서는 NVENC 프리셋 2.0이 지원되지 않습니다(5.1 포함). FFmpeg 라이브러리가 업데이트되고, NVENC 쪽 UI 구성도 업데이트된 다음 버전을 기대해 보겠습니다. (벌써? 131.gif)

그렇게 되면 NVENC 아키텍쳐에 따라 고급 기능들 설정을 다르게 해줘야 했던 NVENC 화질 향상 프리셋 같은 건 더 이상 필요 없게 될 것 같군요.

 

 

참고로 NVENC 프리셋 2.0이 지원되는 FFmpeg 실행파일을 사용해보고 싶은 분들은 FFmpeg 공식 사이트에 소개된 윈도우 용 실행파일 다운로드 사이트들을 이용하시면 됩니다.

 

https://www.gyan.dev/ffmpeg/builds/

https://github.com/BtbN/FFmpeg-Builds/releases (GPL 버전이 기능이 더 많습니다)

 

예를 들어 비디오 스트림이 H.264인 원본을 NVENC로 HEVC 인코딩을 하고 싶을 경우 적용할 수 있는 FFmpeg 명령어 샘플은 아래와 같습니다. (하드웨어 디코딩, p7 프리셋, 퀄리티 32)

 

ffmpeg -hide_banner -vsync 0 -hwaccel_output_format cuda -c:v h264_cuvid -i INPUT -c:v hevc_nvenc -preset p7 -cq 32 -c:a aac -b:a 128k -ac 2 -tag:v hvc1 -y OUTPUT.mp4

 

(대문자는 실제 적용시 수정해야 할 부분)

 

개인적으로는 인코딩 속도와 비트레이트 대비 퀄리티가 고급 기능들을 수동 설정하던 예전에 비해 향상된 인상을 받았습니다.

 

이 글을 추천한 사람
태양 HEVC
TAG •
Facebook Twitter Pinterest Kakao
  • ?
    HEVC 2020.09.26 10:02

    오 반가운 소식이네요.

    NVENC도 드디어 프리셋이랑 퀄리티만 고르면 되는군요.

  • ?
    JKyle 2020.09.26 11:15

    속도도 개선됐습니다.

    제 눈으로 보기에 비슷한 화질을 인코딩하는데 대략 1x 정도(30fps 정도) 빨라지더라구요.

    샤나인코더가 빨리 업데이트되기를 기대하고 있는 중입니다. ㅎㅎ

  • ?
    태양 2020.10.01 16:01

    좋네요. 샤나도 빨리 적용되면 좋겠네요. 근데 n99431이랑 n4.3.1-19 이거는 무슨 차이인가요. 버전이 엄청 많은데 뭘 받아야될 지 모르겠네요

  • ?
    JKyle 2020.10.01 16:25

    "N-99431" 같은 형식은 자주 업데이트되는 일종의 베타 버전, "n4.3.1-19" 같은 형식은 가끔 업데이트되는 일종의 정식 버전으로 보시면 됩니다.
    근데 FFmpeg 경우 정식 버전은 별 의미가 없고 베타 버전을 대개 사용합니다.
    lgpl, gpl은 해당 라이센스를 지키는 툴들의 모음인데 gpl이 범위가 넓습니다.
    그리고 shared는 실행 파일과 라이브러리가 분리된 형태라 잘 사용 안 하고, 추가적으로 vulkan 기능이 포함된 걸 받으시는 게 일반적입니다.
    즉 BtbN 빌드의 경우 위에서 세 번째인,
    ffmpeg-N-99431-g3bf5cc9c58-win64-gpl-vulkan.zip
    파일을 받아서 사용하시면 됩니다.

  • ?
    태양 2020.10.01 17:49
    상세한 답변 감사합니다. 많은 궁금증이 풀렸네요. 추석 잘 보내세요

List of Articles
No. Category Subject Author Date Views Votes
Notice 자유게시판에서는 자유롭게 글을 작성할 수 있지만 다음과 같은 내용은 삭제돼요 Rina 2020.03.18 637 2
Notice 일반 [필독] 질문 전에 반드시 읽으세요!!! 2 file JKyle 2019.09.16 4855 3
Notice 일반 [알림] 질문 먹튀하지 마시기 바랍니다 => 본문 변경 금지 15 JKyle 2018.10.12 5908 9
2326 질문 비트레이트 제한거는 옵션 vbv 1 핥아버지 2020.10.05 85 0
2325 질문 SK BTV usb 플레이어로 재생시킬땐 어떤 세팅으로 인코딩 해야 하나요? 1 file 레드캐딜락 2020.10.03 78 0
2324 질문 영상 잘라내기 하면 하단에 녹색 띠가 생기네요 4 file P군 2020.10.03 92 1
2323 일반 서비스 감사드림니다. 샤나 인코더. 버그가 있는 것 같아요. 좋은 개발되세요~. 2 tt2t2am1118 2020.10.02 281 0
2322 질문 HEVC 인코딩 후 애플 기기에서 사용시 일반과 AMF 여부에 따라 인식 차이에 대한 질문 6 meerinae 2020.10.01 147 0
2321 질문 노멀라이저 관련 1 R_Berserker 2020.10.01 71 0
2320 질문 -map 명령어 쓸 수 있게 해주세요 2 P군 2020.10.01 114 0
2319 질문 GTX 1660 이 NVENC 에서 1060 보다 성능이 오히려 떨어지나요 ?? 2 닐리리만보 2020.10.01 223 0
2318 질문 DVD 원본파일이 p, i, ib가 섞였는데 어떻게 인코딩하나요? 2 file 용용이 2020.09.30 98 0
2317 질문 5.1.0 업데이트 이후 합치기 오류 질문 2 file 루그렛 2020.09.29 270 1
2316 질문 ass자막 인코딩시 자막위치가 달라집니다 2 file phantom011 2020.09.27 162 0
2315 질문 샤나인코더는 오디오 VBR(가변 모드) 인코딩을 지원하지 않나요? 2 Kotori 2020.09.26 256 0
2314 질문 HEVC 인코딩 관하여 질문이 있습니다! 8 TheLazia 2020.09.25 362 0
2313 질문 가변 최대 프레임을 제한하는 방법이 무엇일까요? 4 file CubeMix 2020.09.25 140 0
2312 질문 음질에 관한 간단한 질문 1 ch4n 2020.09.24 165 0
» 정보 NVENC 설정에서 프리셋 2.0이 주는 편리함 5 file JKyle 2020.09.23 409 2
2310 질문 인코딩 관련 질문좀 드리고 싶습니다. 2 코드 2020.09.20 331 0
2309 일반 FFmpeg에서 NVENC 관련 옵션이 몇몇 변경되었습니다 (업데이트) 4 JKyle 2020.09.19 392 0
2308 질문 인코딩시 영상 볼륨이 작습니다ㅜ 2 hyhjhfgj 2020.09.18 799 0
2307 일반 [건의] 인터페이스 관련 1 file katya 2020.09.18 153 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 118 Next
/ 118