Nvidia NVENC
Nvidia NVENCNvidia NVENC(Nvidia Encoder의 줄임말)는 비디오 인코딩을 실행하는 Nvidia 그래픽 카드 기능입니다.CPU에서 GPU의 전용 부품으로 처리 부하가 높은 태스크를 오프로드합니다.이 [1][2]기능은 2012년 3월에 Kepler 기반의 GeForce 600 시리즈와 함께 도입되었습니다.
이 인코더는 vMix, Wirecast, Open Broadcast Software(OBS), Bandicam 등의 라이브 스트리밍 및 녹화 프로그램과 Adobe Premiere Pro 또는 DaVinci Resolve 등의 비디오 편집 애플리케이션에서 지원됩니다.또한 Nvidia의 GeForce Experience [3][4][5]소프트웨어에 포함된 Share 게임 캡처와 함께 작동합니다.
소비자 대상의 GeForce 그래픽 카드는 설치된 카드의 수에 관계없이 공식적으로 비디오 스트림을 3개까지만 동시에 인코딩할 수 있습니다.단, Linux 및 Windows 시스템에서는 드라이버에 비공식 패치를 적용함으로써 이 제한을 회피할 수 있습니다.또, NVIDIA Frame Buffer Capture(NVFBC)도 언락 됩니다.NVFBC는 GPU와 드라이버의 기능을 사용하여 캡처를 [6]고속화하는 고속 데스크톱 캡처 API입니다.프로페셔널카드는 카드 모델과 압축 [1]품질에 따라 카드당3 ~ 무제한 동시 스트림을 지원합니다.
Nvidia 칩에는 비디오 디코딩을 CPU에서 [1]GPU의 전용 부품으로 오프로드하기 위한 온보드 디코더인 NVDEC(Nvidia Decoder의 줄임말)도 탑재되어 있습니다.
버전
NVENC는 첫 번째 케플러 GPU(GK104)[7]에 도입된 이후 여러 하드웨어 리비전을 거쳤습니다.
| GPU 하드웨어 | H.264(AVC) (H.264에서는 NVENC는 항상 B프레임 지원, 최대 해상도 4096x4096 및 최대 8비트 깊이) | H.265(HEVC) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| NVENC 세대 | GPU 코드명 | 칩당 NVENC | 크로마 | 무손실 코딩 | 크로마 | 무손실 코딩 | 결의안 | 색심도 | B 프레임 | ||
| 4:2:0 | 4:4:4 | 4:2:0 | 4:4:4 | ||||||||
| 제1세대 | GK110 | 1 | H.265는 지원되지 않습니다. | ||||||||
| GK107 | |||||||||||
| GK106 | |||||||||||
| GK104 | |||||||||||
| 제2세대 | GM108 | 0 | 사용 가능한 NVENC 인코더가 없습니다. | ||||||||
| GM107 | 1 | H.265는 지원되지 않습니다. | |||||||||
| 제3세대 | GM208 | 1 | |||||||||
| GM206 | Y?[9] N?[8] | Y?[9] N?[8] | 4096 x 4096 | 8비트 | |||||||
| GM204 | 2 | ||||||||||
| GM200 | |||||||||||
| 제4세대 | GP108 | 0 | 사용 가능한 NVENC 인코더가 없습니다. | ||||||||
| GP107 | 1 | 8192 x 8192 | 10비트 | ||||||||
| GP106 | |||||||||||
| GP104-2xx+ | 2 | ||||||||||
| GP104-1xx | 1 | ||||||||||
| GP102 | 2 | ||||||||||
| GP100 | 3 | 4096 x 4096 | |||||||||
| 제5세대 | GV10x | 8192 x 8192 | |||||||||
| TU117 | 1 | ||||||||||
| 제6세대 | TU116 | ||||||||||
| TU106 | 제7세대 | ||||||||||
| TU104 | |||||||||||
| TU102 | |||||||||||
| 제7세대 | GA106 | 1 | 8192 x 8192 | 10비트 | |||||||
| GA104 | |||||||||||
| GA102 | |||||||||||
| GA100[10] | 0 | 사용 가능한 NVENC 인코더가 없습니다. | |||||||||
1세대 케플러 GK1xx
1세대 NVENC는 모든 Kepler 기반 GPU에서 공유되며 H.264 하이 프로파일(YUV420, I/P/B 프레임, CAVLC/CABAC), H.264 SVC Temporal Encode VCE 및 Display Encode Mode(DEM)를 지원합니다.
NVidia의 문서에는 1920×1080 해상도에서 8×의 최대 인코더 처리량이 실시간으로 명시되어 있습니다(여기서 "1×"는 30Hz).실제 throughput은 선택한 사전 설정, 사용자가 제어하는 파라미터 및 설정, GPU/메모리 클럭 주파수에 따라 달라집니다.공개된 8× 정격은 압축 효율성과 인코더 처리량을 희생하는 NVENC 고성능 사전 설정을 통해 달성할 수 있습니다.고품질 사전 설정은 상당히 느리지만 압축 아티팩트가 적습니다.
2세대 Maxwell GM107
1세대 Maxwell 아키텍처와 함께 도입된 2세대 NVENC는 고성능 HP444 프로파일(YUV4:4:4, 예측 무손실 인코딩)에 대한 지원을 추가하고 고성능 사전 설정에서는 약 1080p @ 480Hz에 해당하는 인코더 스루풋을 최대 16배 실시간까지 향상시킵니다.
Maxwell GM108은 NVENC 하드웨어 인코더를 지원하지 않습니다.
3세대 Maxwell GM20x
2세대 Maxwell 아키텍처와 함께 도입된 3세대 NVENC는 비디오 압축 알고리즘인 고효율 비디오 코딩(일명 "High Efficiency Video Coding")을 구현합니다.HEVC, H.265) 및 H.264 인코더의 throughput을 증가시켜 60Hz(2160p60)의 4K 해상도를 커버합니다.단, HEVC 부호화(I 프레임과 P 프레임만)에는 B 프레임을 지원하지 않습니다.NVENC HEVC 코딩 트리 유닛(CU)의 최대 사이즈는 32(HEVC 표준에서는 최대 64를 허용)이며, 최소 CU 사이즈는 8이다.
HEVC 부호화에는 샘플 Adaptive Offset(SAO; 적응 오프셋)도 없습니다.Nvidia Video Codec SDK [11]7 릴리즈에서는 적응형 양자화, 예측 레이트 제어, 적응형 B-프레임(H.264만) 및 적응형 GOP 기능이 추가되었습니다.이러한 기능은 하드웨어 액셀러레이션을 위해 CUDA 코어에 의존합니다.
SDK 7은 Spatial AQ(H.264 및 HEVC)와 Temporal AQ(H.264만)의 두 가지 형태의 적응 양자화를 지원합니다.
Nvidia의 컨슈머 그레이드(GeForce) 카드 및 일부 로우엔드 프로페셔널 쿼드로의 동시 인코딩 작업은 3개로 제한됩니다.하이엔드 쿼드로 카드에는 이 제한이 없습니다.
제4세대 Pascal GP10x
4세대 NVENC는 HEVC Main10 10비트하드웨어 인코딩을 실장하고 있습니다.또, 4K H.264 및 HEVC의 부호화 퍼포먼스는, 구세대의 NVENC에 비해 2배가 됩니다.HEVC 8K, 4:4:4 크로마 서브샘플링, 무손실 부호화 및 샘플 Adaptive Offset(SAO; 적응 오프셋)을 지원합니다.
Nvidia Video Codec SDK 8에는 Pascal 전용 가중치 예측 기능(CUDA 기반)이 추가되었습니다.인코딩 세션이 B 프레임(H.264)으로 설정되어 있는 경우 가중치 예측은 지원되지 않습니다.
HEVC 인코딩에 대한 B-Frame 지원은 없으며 최대 CU 사이즈는 32×32입니다.
NVIDIA GT 1030 및 Mobile Quadro P500은 NVENC [8]인코더를 지원하지 않는 GP108 칩입니다.
노트북 그래픽스에서 NVIDIA MX Graphics는 Maxwell 세대 GM108 또는 Pascal 세대 GP108 [12]칩을 기반으로 하기 때문에 NVENC를 포함하지 않습니다.GeForce MX350은 GP107 칩으로 제조 시 NVENC 인코더가 비활성화되어 있습니다.
제5세대 Volta GV10x/Turing TU117
Volta NVENC는 Pascal의 NVENC와 비슷한 성능을 발휘합니다. [1]
HEVC B 프레임은 지원되지 않습니다.
모바일 그래픽스에서는 다른 GeForce MX 시리즈 그래픽스와 마찬가지로 GeForce MX450은 제조 과정에서 하드웨어 인코더가 영구적으로 비활성화되어 있는 TU117 칩이기 때문에 NVENC를 지원하지 않습니다.
6세대, Turing TU10x/TU116
6세대 NVENC는 30FPS, HEVC B프레임 및 HEVC B프레임으로 HEVC 8K 인코딩을 (각 모드 및 중간[13] 모드 지원으로) 구현하여 HEVC에[14] 대해 최대 25%, H264에 대해 최대 15%의 비트레이트 절감을 제공합니다.그러나 Nvidia GeForce GTX 1650의 초기 출시는 튜링 대신 볼타 NVENC를 사용했기 때문에 이 세대에서 제외되었다.엔비디아는 2020년에 튜링 [15]엔진을 사용하기 위해 GTX 1650 카드의 NVENC 인코더를 업데이트했다.GTX 1650 [16]Super는 TU116을 기반으로 하기 때문에 Turing NVENC 엔진을 사용합니다.원래 GTX 1650에서는 TU117이 사용되고 있지 않습니다.
7세대, 암페어 GA10x
암페어는 본질적으로 [17]튜링과 같은 NVENC 생성 엔진을 가지고 있습니다.유일한 실질적인 차이는 NVDEC가 (필름 입자를 사용하여) AV1 디코딩을 지원받았다는 점입니다.
운영 체제 지원
Nvidia NVENC SIP 코어는 디바이스 드라이버에 의해 지원되어야 합니다.드라이버가 하나 이상의 인터페이스(예: OpenMAX IL)를 NVENC에 제공합니다.NVENC SIP 코어는 오픈소스 VDPAU API와는 달리 독자적인 NVENC API를 통해서만 액세스할 수 있습니다.
Nvidia의 GeForce 드라이버와 함께 제공됩니다.
NVENC는 Windows 및 Linux 운영 [1]체제에서 사용할 수 있습니다.프리 및 오픈 소스 nouveau 디바이스 드라이버는 Nvidia [18]NVENC를 지원하지 않습니다.
응용 프로그램 소프트웨어 지원
- Adobe Premiere Pro는 2020년 5월에[19] 버전 14.2에서 NVENC 지원을 추가했습니다.
- Avidemux는 적어도 2016년부터 H.264 또는 H.265에서[20] NVENC를 지원하고 있습니다.
- 반디컷 주
- Logitech 캡처
- H.264 또는 H.265로[21] 비디오를 내보내는 경우 DaVinci Resolve Studio
- FFmpeg는 [22]2014년부터 NVENC를 지원하며 Nvidia[23] 드라이버에서 지원됩니다.
- HandBrake는 버전 1.2.0(2018년 12월)부터 H.264 및 H.265에[24] 대해 NVENC를 지원하고 있습니다.
- 타임라인에서 비디오를 미리 보거나 H.264 또는 H.265로[25] 비디오를 내보낼 때 HitFilm Express/pro
- 매크로 시스템 BogartSE는 v9.4(2017년 10월) 이후 NVENC 내보내기, v11.3(2019년 [26]10월) 이후 UHD-Disc 인코딩 지원
- 미디어코더
- Open Broadcaster Software(OBS)
- 숏컷
- 스택립
- 비디오 프로세서
- AJA 브릿지 라이브[27]
GPU 스루풋
인코딩[28][citation needed] 스루풋 비교
| 스트림 | H.264 인코딩(1080p30) |
|---|---|
| GM204(Tesla M6) | 18 |
| GM107(Tesla M10) | 28 |
| GM200 (Tesla M40) | 18 |
| GM204(Tesla M60) | 36 |
| GP104(Tesla P4) | 24 |
| TU104(Tesla T4) | 32 |
| P100 | 36 |
| V100 | 36 |
「 」를 참조해 주세요.
- 인텔의 동등한 SIP 코어인 인텔 Quick Sync Video
- 2017년까지 AMD의 동등한 SIP 코어인 Video Coding Engine
- Video Core Next, 비디오 코딩 엔진과 통합 비디오 디코더의 기능을 결합한 AMD의 비디오 코어
- Nvidia PureVideo, 하드웨어 비디오 디코딩
- 모든 Nvidia GPU 목록
- Nvidia NVDEC
레퍼런스
- ^ a b c d "NVIDIA VIDEO CODEC SDK". NVIDIA Developer. Nvidia. Retrieved 2017-11-12.
- ^ "Maxwell's Feature Set: Kepler Refined". AnandTech. 2014-02-18.
- ^ "System Requirements for NVIDIA GeForce Experience GeForce GeForce". www.geforce.com. Retrieved 2016-08-17.
- ^ "Wirecast Tech Specs". telestream.net. Retrieved 2017-12-19.
- ^ "Open Broadcaster Software - Index". obsproject.com. Archived from the original on 2019-03-23. Retrieved 2016-08-17.
- ^ "nvidia-patch". GitHub.
- ^ "S5613 - High-Performance Video Encoding Using NVIDIA GPUs". Nvidia.
- ^ a b c d "Video Encode and Decode GPU Support Matrix". NVIDIA Developer. 2016-11-09. Retrieved 2020-08-22.
- ^ a b c "NVIDIA VIDEO CODEC SDK". NVIDIA Developer. 2016-11-09. Retrieved 2020-08-22.
- ^ "NVIDIA Ampere Architecture In-Depth". NVIDIA Developer Blog. 2020-05-14. Retrieved 2020-08-31.
- ^ http://on-demand.gputechconf.com/gtc/2016/presentation/s6226-abhijit-patait-high-performance-video.pdf[베어 URL PDF]
- ^ "NVIDIA GeForce MX250 i MX230 – dwie "nowe" grafiki do laptopów". Dobre Programy (in Polish). 2019-02-21.
- ^ "B-Frame reference mode flag in ffmpeg nvenc is bugged and doesn't work. · Issue #2374 · obsproject/obs-studio". GitHub. Retrieved 2021-03-24.
- ^ Harrison, John (2021-01-30), johnhe4/nvenc_h265_transparency, retrieved 2021-03-24
- ^ "NVIDIA GeForce GTX 1650 Graphics Card". NVIDIA. Retrieved 2021-03-24.
- ^ Walton, Jarred (2019-11-23). "Nvidia GeForce GTX 1650 Super review". PC Gamer. Retrieved 2021-03-24.
- ^ https://www.nvidia.com/content/dam/en-zz/Solutions/geforce/ampere/pdf/NVIDIA-ampere-GA102-GPU-Architecture-Whitepaper-V1.pdf[베어 URL PDF]
- ^ "Nouveau Feature Matrix". Freedesktop.org.
- ^ Tack, Stanley (2020-05-19). "Cut to the Video: Adobe Premiere Pro Helps Content Creators Work Faster with GPU-Accelerated Exports NVIDIA Blog". The Official NVIDIA Blog. Retrieved 2021-03-24.
- ^ AVIDemux Changelog
- ^ "Blackmagic Forum • View topic - Davinci studio 16, NVENC unavailable". forum.blackmagicdesign.com. Retrieved 2021-03-24.
- ^ "nvenc.c H.264 hardware encoding using nvidia nvenc".
- ^ "QUADRO DESKTOP/QUADRO NOTEBOOK DRIVER RELEASE 375".
- ^ HandBrake 1.2.0 출시
- ^ 소프트웨어가 인코더와 상호 작용하는 방식에 문제가 있다고 말하면서도 동시에 종료한다고 말하는 직원들에 의한 포럼 게시물
- ^ Casablanca Expert의 MacroSystem Arabesk 8 정보
- ^ "BRIDGE LIVE is a broadcast-quality, low-latency turnkey system".
- ^ "NVIDIA vGPU Resources for Design & VIrtualization". NVIDIA. Retrieved 2021-03-24.