네 곳의 제조사. 네 개의 고정 기능 실리콘 블록. 하는 일은 하나입니다. 픽셀 한 프레임을 5밀리초 안에 몇 킬로바이트짜리 H.265 또는 AV1로 바꾸는 일을 초당 60번, 한 프레임도 빠뜨리지 않고 해내는 것. NVIDIA, AMD, Intel, Apple이 저지연 스트리밍에서 실제로 어떻게 비교되는지, 그리고 Remio가 실행 시점에 알맞은 것을 어떻게 고르는지 살펴봅니다.
원격 데스크톱에서 하드웨어 인코더가 중요한 이유
빠른 CPU 코어에서 libx264로 1080p 프레임 하나를 인코딩해 봅시다. 최신 Apple M 시리즈나 Ryzen 7000에서는 ultrafast 프리셋으로 대략 8~12밀리초가 걸리고, 화질을 지키려는 설정이라면 더 걸립니다. 허용 가능해 보이지만 예산을 떠올려 보세요. 60 FPS에서 프레임당 16.6밀리초입니다. 여기에 캡처, 패킷화, 페이서 대기열, 네트워크 송출, 디코딩, 렌더링이 더해집니다. CPU 인코딩은 속도를 늦추는 데 그치지 않고 지연 시간 예산 전체를 먹어 치우며, 1080p60을 넘으면 프레임을 놓칩니다.
하드웨어 인코더는 같은 일을 고정 기능 실리콘에 맡겨 이 문제를 해결합니다. NVIDIA는 이 블록을 NVENC라고 부르고, AMD는 AMF(정확히는 AMF가 구동하는 VCN 엔진), Intel은 QuickSync(iGPU 안의 미디어 엔진), Apple은 VideoToolbox(API 이름이며 실리콘은 M 시리즈와 A 시리즈 칩의 미디어 엔진)라고 부릅니다. 넷 모두 이유는 하나입니다. 소프트웨어 인코딩으로는 요즘의 화면, GPU, 사용자가 기대하는 지연 시간과 프레임 속도 목표를 맞출 수 없기 때문입니다.
Remio에서는 인코더에서 아낀 1밀리초가 페이서, 네트워크, 렌더러에서 사용자에게 돌아가는 1밀리초입니다. 우리가 공개한 지연 시간 예산은 LAN에서 처리 시간 약 8ms(나머지는 디스플레이 자체의 60Hz 주사 주기)를 목표로 하며, 인코딩 시간은 가장 큰 변수입니다. 인코더의 선택과 그 설정이 이후의 모든 것을 좌우합니다.
네 제조사 한눈에 보기
각각을 깊이 살펴보기 전에, 우리가 실제로 무엇을 비교하는지 이해해 두면 도움이 됩니다. 이들은 서로 바꿔 쓸 수 있는 라이브러리가 아니라 다이 위의 물리적 블록이며, 각자 고유한 명령어 구조, 드라이버 스택, 특이점, 다년간의 로드맵을 가지고 있습니다. 지원하는 코덱, 만들어 내는 화질, 달성하는 지연 시간, 소비 전력, 그리고 어떤 플랫폼에 존재하는지가 모두 다릅니다.
- NVENC는 2012년(Kepler) 이후의 모든 NVIDIA GeForce, Quadro, RTX에 탑재됩니다. 세대는 아키텍처 계열에 묶여 있어 Kepler가 1세대, Ada Lovelace가 8세대입니다. Hopper 데이터센터 제품은 주기가 다릅니다.
- AMF는 이전의 VCE를 대체한 AMD의 VCN(Video Core Next) 엔진을 제공합니다. 모든 Vega, RDNA, RDNA2, RDNA3 GPU와 최신 APU에서 쓸 수 있습니다.
- QuickSync는 2011년 Sandy Bridge 이후 Intel iGPU에 탑재되어 지구상에서 가장 널리 보급된 하드웨어 인코더입니다. Arc 외장 GPU도 같은 아키텍처를 키운 것입니다.
- VideoToolbox는 Apple의 API이며, 그 아래의 실리콘은 모든 Apple 실리콘 Mac, A6 이후의 모든 iPhone, 모든 iPad에 내장된 미디어 엔진입니다. M 시리즈 칩은 모델에 따라 엔진이 하나 또는 두 개입니다.
NVENC — NVIDIA의 여덟 세대에 걸친 개선
NVENC는 대부분의 스트리밍 소프트웨어가 기준으로 삼는 인코더입니다. NVIDIA에 마케팅 예산이 있는 탓도 있고, 실리콘이 10년 동안 정말로 훌륭했던 탓도 있습니다. 이 블록은 여덟 세대를 거쳤습니다.
- 1~3세대(Kepler~Maxwell, 2012~2014) — H.264만 지원하며 스트리밍에는 쓸 만했지만 화질은 libx264에 분명히 못 미쳤습니다.
- 4세대(Pascal, GTX 10 시리즈) — H.265 인코딩 추가. 같은 비트레이트에서 NVENC 화질이 libx264 fast 프리셋을 따라잡고 어쩌면 앞선 세대입니다.
- 6세대(Turing, RTX 20 시리즈, GTX 16 시리즈) — 흔히 말하는 ‘Turing NVENC’의 도약. 낮은 비트레이트에서의 화질이 크게 좋아져 스트리머들이 라이브 용도에서 CPU 인코딩이 의미 있게 낫다고 우기지 않게 됐습니다.
- 7세대(Ampere, RTX 30 시리즈) — 개선이 이어졌으며 와트당 화질은 Turing과 대체로 비슷합니다.
- 8세대(Ada Lovelace, RTX 40 시리즈) — NVIDIA 최초로 하드웨어 AV1 인코딩을 갖췄고, 상위 모델에는 인코더 엔진이 둘 있습니다. Ada NVENC는 CPU 부담이 극히 적으면서 libaom-av1 medium 프리셋에 견줄 화질의 AV1을 낼 수 있습니다.
저지연 용도에서 NVENC는 관련된 세 가지 비트레이트 제어 모드를 제공합니다. low-latency 튜닝과 p1 프리셋(가장 빠름)을 쓴 CBR이 표준 구성입니다. 출력 속도가 일정하고, 룩어헤드는 한 프레임이며, B-프레임이 없습니다. Remio는 Windows에서 hevc_nvenc를 쓸 때 정확히 이 구성을 씁니다. Ada Lovelace에서 1080p60 H.265의 인코딩 시간은 꾸준히 1~3ms입니다.
오래된 함정이 하나 있습니다. 소비자용 NVENC는 오랫동안 NVIDIA 드라이버가 동시 인코딩 세션 3개로 제한했습니다. 이 제한은 2023년에 8개로 풀렸고 사실상 사라졌습니다. 이를 경고하는 오래된 포럼 글을 읽고 있다면, 그 경고는 더 이상 해당하지 않습니다.
AMF — 마침내 따라잡은 AMD의 도전자
AMD의 AMF(Advanced Media Framework)는 API이고, 그 밑의 엔진은 두 가지 아키텍처를 거쳤습니다. 이전의 VCE(Video Coding Engine)는 2012년 GCN 시대 카드부터 탑재되었고 인코더 비교에서 늘 약점이었습니다. 같은 비트레이트에서 NVENC보다 눈에 띄게 화질이 낮았고, 특히 움직임이 많은 콘텐츠에서 그랬습니다. AMD도 알았고, 스트리밍 커뮤니티도 알았고, 벤치마크도 이를 확인했습니다.
그 이야기는 Vega에서 도입되어 이후 모든 세대에서 다듬어진 VCN(Video Core Next)으로 바뀌었습니다.
- VCN 1.0~2.0(Vega, RDNA1) — H.264와 H.265 지원, 화질이 마침내 NVENC Pascal/Turing에 간발의 차로 근접했습니다.
- VCN 3.0(RDNA2, RX 6000 시리즈) — 특히 낮은 비트레이트에서 화질이 크게 좋아졌습니다. 게임 스트리밍에 자신 있게 추천할 수 있는 첫 AMD 세대입니다.
- VCN 4.0(RDNA3, RX 7000 시리즈) — NVIDIA Ada와 나란히 AV1 인코딩을 추가했습니다. 상위 모델은 병렬 세션을 위한 인코더가 둘입니다. AV1 화질은 외부 벤치마크에서 NVIDIA의 AV1에 견줄 만합니다.
저지연 스트리밍을 위해 AMF는 ultralowlatency 사용 프리셋, speed 품질 프리셋, cbr 비트레이트 제어 모드를 제공합니다. Remio는 hevc_amf에서 세 가지를 모두 쓰며, 스트리밍 아키텍처 문서에 적힌 것과 같은 프리셋 조합입니다. RDNA3에서 1080p60 H.265의 인코딩 시간은 보통 2~4ms, RDNA2는 약 3~5ms입니다. 이전 VCN 1.x 시대 카드는 5~7ms에 가까워 여전히 예산 안이지만 키프레임 급증에 대한 여유가 적습니다.
5년 동안 AMD의 인코더는 웃음거리였습니다. RDNA2가 그것을 고쳤고, RDNA3는 AV1에서 경쟁력을 갖췄습니다. 스트리밍 인코더의 양강 구도는 이제 삼강 구도가 되었고, 모두에게 좋은 일입니다.
QuickSync — 조용한 보급의 챔피언
QuickSync는 이미 거의 확실히 가지고 있는 인코더입니다. 2011년 Sandy Bridge 이후 그래픽이 내장된 모든 Intel CPU에 들어 있습니다. 10년이 넘는 노트북, NUC, 사무용 데스크톱이 외장 GPU가 있어야 한다고 생각한 사용자 때문에 하드웨어 영상 인코딩을 놀리고 있었습니다. 그럴 필요가 없었습니다.
아키텍처는 Intel iGPU 계보와 보조를 맞춰 발전했습니다.
- Sandy Bridge~Skylake(2011~2015) — H.264만 지원, 화질은 그저 그렇지만 노트북 기준으로 지연 시간과 전력은 최상급이었습니다.
- Kaby Lake~Coffee Lake(2016~2018) — H.265, 10비트, 4K 인코딩이 추가되었습니다.
- Ice Lake 이후(2019+) — Gen11/Gen12 Xe iGPU에서 화질이 크게 향상되었습니다. 많은 벤치마크가 Gen12 QuickSync를 NVENC Turing의 몇 퍼센트 이내로 평가합니다.
- Arc 외장(2022+) — Intel 최초의 외장 GPU 라인업. 같은 Xe-HPG 아키텍처를 키운 것으로 AV1 인코딩을 지원합니다. Arc는 소비자용 GPU 중 하드웨어 AV1을 가장 먼저 출시해 NVIDIA Ada와 AMD RDNA3보다 앞섰고, 화질도 놀랄 만큼 훌륭합니다. Intel Arc A380은 달러당 AV1 처리량으로는 여전히 터무니없이 싼 선택입니다.
열 특성은 QuickSync의 조용한 초능력입니다. 이미 SoC에 있는 iGPU 안에 있으므로 이를 쓰는 데 드는 추가 비용은 인코딩 블록뿐입니다. 외장 GPU를 깨울 필요도, GDDR6 메모리 컨트롤러를 가동할 필요도 없습니다. ThinkPad나 NUC에서 QuickSync는 시스템 전체 전력의 대략 4분의 1로 NVENC에 견줄 화질을 냅니다. Remio의 Windows 호스트에서 QuickSync는 NVENC와 AMF 다음의 세 번째 선택지입니다. 더 나빠서가 아니라 외장 GPU가 있는 사용자는 보통 iGPU를 다른 작업에 비워 두고 싶어 하기 때문입니다.
VideoToolbox — Apple 실리콘의 통합 미디어 엔진
Apple은 NVIDIA처럼 하드웨어 인코더에 브랜드 이름을 붙여 마케팅하지 않습니다. API는 VideoToolbox이고 실리콘은 미디어 엔진으로, 모든 M 시리즈 Mac과 A6 이후의 모든 iPhone/iPad SoC 안에 있는 Apple이 설계한 블록입니다.
미디어 엔진의 개수는 모델에 따라 다릅니다.
- M1, M2, M3 — 미디어 엔진 하나.
- M1 Pro/Max, M2 Pro/Max, M3 Pro/Max — 미디어 엔진 두 개.
- M1 Ultra, M2 Ultra — 미디어 엔진 네 개(결합된 다이당 두 개).
- M3 Max (16코어 CPU) — 미디어 엔진 두 개.
- M4 계열 — H.265 처리량이 개선된 새 미디어 엔진.
각 미디어 엔진은 H.264, H.265, ProRes의 인코딩과 디코딩을 하드웨어로 처리합니다. ProRes 인코딩은 영상 편집자에게 핵심 기능이며 다른 소비자용 칩에는 없지만, 스트리밍에서 중요한 것은 효율적인 H.265 main10 인코딩과 놀랄 만큼 낮은 인코딩 지연 시간입니다.
눈에 띄는 공백이 하나 있습니다. 출시된 어떤 Apple 실리콘에도 AV1 인코딩이 없다는 점입니다. M 시리즈 칩은 M3부터 AV1을 디코딩하지만 인코딩은 못 합니다. Mac 에서 스트리밍할 때는 당분간 H.265가 현실적인 기본값입니다.
Apple이 진짜로 이기는 부분은 전력 효율입니다. M2 Pro에서 4K60 H.265를 30Mbps로 인코딩할 때 미디어 엔진 전체가 쓰는 전력은 대략 3~5와트입니다. RTX 4070에서 같은 NVENC 작업은 시스템 전체 전력으로 35와트에 가까우며, 그 대부분은 인코더 블록이 아니라 외장 GPU의 유휴 전력입니다. 클라이언트를 기다리며 24시간 켜 두는 Mac mini 호스트라면 ‘전기료에 거의 티가 안 난다’와 ‘확실히 티가 난다’의 차이입니다.
나란히 비교
네 엔진을 같은 기준으로 놓았습니다. 지연 시간 수치는 1080p60 H.265 초저지연 프리셋, B-프레임 비활성화, 단일 프레임 VBV, 즉 Remio 구성입니다. 화질은 8Mbps CBR에서의 지각적 대략 순위이며 절대 차이는 작습니다.
| 항목 | NVENC (Ada) | AMF (RDNA3) | QuickSync (Arc / Gen12+) | VideoToolbox (M3+) |
|---|---|---|---|---|
| H.264 | 예 | 예 | 예 | 예 |
| H.265 (HEVC) | 예 | 예 | 예 | 예(main10) |
| AV1 인코딩 | 예 | 예 | 예 | 아니요 |
| ProRes 인코딩 | 아니요 | 아니요 | 아니요 | 예 |
| 최대 해상도 | 8K H.265 | 8K H.265 | 8K(Arc), 4K(iGPU) | 8K H.265 |
| 1080p H.265 최대 FPS | ~480 | ~360 | ~360 | 약 600(M3 Max) |
| 인코딩 시간, 1080p60 H.265 | 1~3ms | 2~4ms | 2~4ms | 2~3ms |
| 소비 전력, 4K60 H.265 | 시스템 약 35W | 시스템 약 30W | 시스템 약 8W(iGPU) | 약 5W |
| 8Mbps CBR 화질 순위 | 공동 1위 | 공동 2위 | 공동 2위 | 공동 1위 |
| 플랫폼 | Windows, Linux | Windows, Linux | Windows, Linux, macOS(Intel Mac) | macOS, iOS, iPadOS, tvOS |
| 동시 세션 | 무제한 | 무제한 | 무제한 | 무제한 |
솔직한 요약: 원격 데스크톱 스트리밍이 실제로 쓰는 설정(CBR, 저지연, B-프레임 없음)에서는 네 가지 모두 넉넉하게 충분히 좋습니다. 차별점은 AV1 지원(NVIDIA / AMD / Intel, Apple은 아님), 전력 효율(Apple, 그다음 Intel iGPU, 그다음 나머지), 플랫폼 가용성(Windows 호스트에서 VideoToolbox를, Mac에서 NVENC를 고를 수는 없습니다)입니다.
Remio가 실행 시점에 고르는 것
Remio는 시작할 때 호스트의 기능을 확인하고 결정적인 우선순위로 인코더를 고릅니다. Windows 호스트와 Mac 호스트는 같은 선택 로직을 따릅니다.
Windows 호스트:
- NVENC(
hevc_nvenc/h264_nvenc) — NVIDIA GPU가 있고 드라이버가 응답하면 가장 먼저 선택합니다. 가장 넓은 하드웨어 세대에서 일관되게 지연이 낮은 인코더이기 때문입니다. - AMF(
hevc_amf/h264_amf) — VCN이 있는 AMD 외장 GPU 또는 APU가 있으면 두 번째로 선택합니다.usage=ultralowlatency,quality=speed,rc=cbr로 설정합니다. - QuickSync(
hevc_qsv/h264_qsv) — Intel iGPU가 있으면 세 번째로 선택합니다. 우리 파이프라인에서는 기능적으로 동등하며, 외장 GPU가 있으면 iGPU를 비워 두는 쪽을 선호합니다. - libx264 CPU 대체 — 응답하는 하드웨어 인코더가 하나도 없을 때만 선택합니다. 지연 시간 예산 안에 머물도록 720p60 또는 1080p30으로 제한합니다.
Apple 호스트: VideoToolbox가 유일한 선택지이고, 우리가 원하는 유일한 선택지이기도 합니다. 지원되는 모든 Mac(macOS 15+)의 미디어 엔진은 H.265 main10을 기본으로 처리합니다. 대체 경로가 필요 없습니다.
코덱 선호는 하드웨어 H.265가 먼저이고 H.264가 범용 대체이며, 모든 플랫폼에서 처음부터 끝까지 그렇습니다. Remio는 현재 AV1을 쓰지 않습니다(호스트 인코딩, 클라이언트 디코딩, 코덱 협상이 파이프라인에 없습니다). 기술적으로 AV1이 가능한 하드웨어에서도 H.265를 고수하는데, LAN에서 병목은 비트레이트가 아니라 인코딩 지연 시간이기 때문입니다.
화질과 지연 시간의 절충
모든 하드웨어 인코더는 같은 몇 가지 조절 항목을 제공하며, 모든 항목이 같은 방향으로 화질과 지연 시간을 맞바꿉니다. Remio의 구성은 지연 시간 다이얼의 가장 공격적인 끝에 있습니다. 원격 데스크톱은 정의상 실시간 애플리케이션이라, 20ms보다 오래된 프레임은 이상적인 것보다 살짝 흐린 프레임보다 나쁘기 때문입니다.
- CBR vs VBR. 가변 비트레이트는 도움이 되는 곳에 비트를 써서 같은 평균 속도에서 더 나은 화질을 냅니다. 하지만 VBR은 프레임 크기도 예측할 수 없고, 그래서 페이서 대기열도, 지연 시간도 예측할 수 없습니다. Remio는 어디서나 CBR을 씁니다. 화질 손해는 작고 지연 시간의 일관성은 큽니다.
- B-프레임. B-프레임은 과거와 미래 프레임을 모두 참조하므로 디코더는 B-프레임을 디코딩하기 전에 미래 프레임이 도착하기를 기다려야 합니다. 주문형 영상에는 괜찮지만 실시간에는 치명적입니다. Remio는 모든 플랫폼의 모든 코덱에서 B-프레임을 끕니다.
- GOP / 키프레임 간격. GOP가 길수록(키프레임 사이의 프레임이 많을수록) 압축이 잘됩니다. GOP가 짧을수록 패킷 손실에서 빨리 회복합니다. Remio는 사실상 무한한 GOP를 쓰고, 디코더가 손실을 보고하면 호스트에 새 키프레임을 요청합니다. 잃어버린 패킷은 제시간에 도착할 수 있다면 즉시 다시 보내고, 그럴 수 없다면 건너뛰고 기다리는 대신 새 프레임을 요청합니다. 이는 최신 프레임만 렌더링하는 우리의 스트리밍 철학과 일치합니다.
- 룩어헤드. NVENC, AMF, QuickSync는 모두 적응형 양자화를 위한 다중 프레임 룩어헤드를 지원합니다. 룩어헤드 한 프레임마다 한 프레임만큼 지연이 더해집니다. Remio는 룩어헤드를 0 또는 1프레임으로 쓰며, 모든 인코더의 가장 낮은 설정입니다.
- VBV 버퍼. Video Buffering Verifier 창은 인코더가 목표 속도로 돌아오기 전에 비트를 얼마나 ‘앞당겨 빌릴’ 수 있는지입니다. VBV가 클수록 화질이 부드럽고, 작을수록 속도 제어가 촘촘하고 지연 시간이 낮습니다. Remio는 허용되는 가장 작은 값인 VBV 1프레임, 즉 비트레이트를 프레임 속도로 나눈 값을 씁니다.
이 패턴은 네 제조사 모두에서 같습니다. 실시간 저지연은 제약이 있는 최적화입니다. 오프라인 인코딩에서 룩어헤드와 B-프레임이 사 주는 몇 퍼센트의 화질을 포기하고, 실시간 상호작용이 요구하는 예측 가능한 지연 시간을 얻습니다. Remio, Parsec, NVIDIA GeForce NOW, Xbox Cloud Gaming 등 출시된 모든 스트리밍 제품이 같은 방향으로 같은 절충을 합니다.
사용자가 실제로 신경 써야 할 것
끝으로 건너뛰었다면: 요즘 GPU의 하드웨어 인코더라면 무엇이든 원격 데스크톱에는 충분합니다.
실시간 설정에서의 차이는 어떤 합리적인 벤치마크의 잡음보다도 작습니다. Pascal GTX 1060 사용자도 RTX 4090 사용자와 같은 Remio 경험을 얻습니다. 둘 다 처리 지연 약 8ms로 120 FPS 파이프라인을 가득 채우고(나머지는 디스플레이 자체의 60Hz 주사 주기), LAN 비트레이트에서는 출력이 구별되지 않습니다.
예외는 얼마나 자주 문제가 되는지 순서대로 다음과 같습니다.
- AV1을 지원하는 하드웨어는 대체로 느린 네트워크에서 도움이 됩니다. 호텔 Wi-Fi나 모바일 핫스팟에서 Ada / RDNA3 / Arc 호스트에 M3+ 또는 RTX 40 시리즈 클라이언트를 쓰면 이를 지원하는 도구에서 같은 화질로 약 25퍼센트 더 여유가 생깁니다. LAN에서는 아무 차이가 없습니다. Remio는 아직 AV1을 쓰지 않고 처음부터 끝까지 H.265가 전체 파이프라인이므로, 오늘 이것은 제조사의 이점이지 Remio의 이점이 아닙니다.
- Apple 실리콘 Mac은 놀랄 만큼 훌륭한 호스트입니다. 미디어 엔진의 낮은 지연 시간, 훌륭한 H.265, 3~5W의 소비 전력 덕분에 Mac mini나 Studio는 살 수 있는 상시 가동 스트리밍 소스 중 최고입니다. AV1 인코딩이 없는 것이 유일한 공백이고 LAN에서는 상관없습니다.
- Intel Arc A380은 AV1용으로는 말도 안 되게 싼 선택입니다. 약 120달러로 400달러 미만의 다른 어떤 것도 이기는 인코더 블록을 살 수 있습니다.
- libx264 CPU 대체는 실제로 동작합니다. 하드웨어 인코더가 없는 오래된 노트북이나 iGPU 없는 서버에서도 Remio는 동작합니다. 다만 4K 60은 안 되고, CPU 코어 하나를 태우지 않고는 안 됩니다.
이런 극단적인 경우를 빼면 정답은 가장 단순한 것입니다. 어차피 살 GPU를 쓰세요. 요즘 모든 제조사는 같은 기능, 같은 저지연 프리셋, 같은 화질 범위로 수렴했습니다. Remio가 실행 시점에 알맞은 것을 고르므로 신경 쓸 필요가 없습니다. 원격 데스크톱 세션을 연 목적에 집중하세요. 코드를 짜고, 영상을 편집하고, 서버를 고치고, 카페에서 수정 사항을 푸시하는 일에.
그것이 고정 기능 실리콘의 핵심입니다. 그냥 동작하고, 곧 신경 쓰지 않게 됩니다.