Skip to menu

본문시작



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


Views 2643 Votes 3 Comment 6
?

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
    상세한 답변 감사합니다. 많은 궁금증이 풀렸네요. 추석 잘 보내세요
  • ?
    나무테라1 2020.12.27 15:45

    아주 좋은 정보 입니다.


List of Articles
No. Category Subject Author Date Views Votes
Notice 샤나인코더 통합 검색 기능 개선(샤나인코더 우측 상단에 있는 검색창을 사용해 보세요.) Rina 2021.09.30 7958 2
Notice 자유게시판에서는 자유롭게 글을 작성할 수 있지만 다음과 같은 내용은 삭제돼요 Rina 2020.03.18 8230 3
Notice 일반 [필독] 질문 전에 반드시 읽으세요!!! 3 file JKyle 2019.09.16 19833 6
Notice 일반 [알림] 질문 먹튀하지 마시기 바랍니다 => 본문 변경 금지 20 JKyle 2018.10.12 17189 14
38 정보 aCinema Free Hangul Font 3 file 능소화 2017.04.02 24039 0
37 정보 Movie term quality codec resolution reel group total theorem 6 file 능소화 2017.04.13 21278 1
36 정보 부드러운 움직임의 60 프레임 인코딩 12 JKyle 2018.07.16 14117 0
35 정보 AV1 코덱의 현재 상황 (인코딩 테스트 - FFmpeg 와 rav1e) 3 file JKyle 2018.10.11 12799 0
34 정보 해상도 변경 + 하드웨어 가속 인코딩 시 속도 향상 13 file JKyle 2018.08.23 8641 0
33 정보 여러가지 코덱으로 저화질 인코딩 해 보았습니다 (AV1 포함) 8 마소리스 2018.09.26 6286 0
32 정보 Windows / MS AMD Ryzen Processor 'Windows 10 Power Management Options' Deployment 2 file 능소화 2017.04.12 5149 0
31 정보 Blu-ray (Fonts) Set to True Font. (Confirmation of comment part by capacity relation) 3 consecutive uploads. 2 file 능소화 2017.10.28 4725 0
30 정보 [자막] 색상코드표 입니다. 1 능소화 2017.04.13 4721 0
29 정보 tonemap, zscale 필터를 이용한 HDR->SDR 변환 (FFmpeg CLI) 6 file JKyle 2018.06.26 3056 0
28 정보 GTX1050ti Vs GTX1650 Vs GTX1070 Vs RTX2070super NVENC 인코딩 테스트 2 핀다 2020.08.01 3040 0
27 정보 튜링 아키텍쳐상의 NVENC의 '화질'에 대하여. 5 HS 2019.09.22 3036 0
26 정보 아키텍쳐별 NVENC performance 1 file HS 2018.12.29 2865 1
» 정보 NVENC 설정에서 프리셋 2.0이 주는 편리함 6 file JKyle 2020.09.23 2643 3
24 정보 HEVC(x265) 인코딩 테스트: 샤나인코더, FFmpeg, StaxRip 1 file JKyle 2020.03.15 2642 0
23 정보 HDR to SDR 변환 테스트: 샤나인코더 vs AviSynth+(DGTonemap vs DGHDRtoSDR) 1 file JKyle 2020.04.03 2373 0
22 정보 AV1 하드웨어 인코더가 드디어 나왔네요 1 JKyle 2021.03.19 2144 1
21 정보 동영상 시간단위 분할과 영상자르기 위한 간단 bat 파일 (ffmpeg이용) 1 file 감자틔긤 2020.02.25 1959 0
20 정보 [팁]4500u에서는 HEVC(AMF)가 가장 빠릅니다. 공사팀 2021.08.09 1827 0
19 정보 x265 HEVC 인코딩시 zerolatency 튜닝 사용여부가 상당히 중요하네요 4 file Windows10 2022.01.18 1751 0
Board Pagination Prev 1 2 Next
/ 2