SSD Nodes Learn 🎉 VPS từ $5.50/tháng
Hướng dẫn Matt ConnorBởi Matt Connor

Cấu hình Jellyfin NVIDIA hardware transcoding với Docker

Cấu hình GPU NVIDIA cho Jellyfin bằng Docker Compose, bật NVENC và NVDEC, rồi dùng nvidia-smi để xác nhận container thật sự đang transcoding.

Những gì bạn sẽ xây dựng

Transcoding bằng phần cứng của Jellyfin trên GPU NVIDIA gồm 4 bước theo một thứ tự cố định. Chỉ bước cuối cùng mới diễn ra bên trong Jellyfin. Container không thể thấy GPU nếu driver trên host chưa được nạp. Jellyfin không thể dùng GPU mà container không thấy. Thực hiện theo thứ tự này để mỗi lỗi đều có một vị trí rõ ràng cần kiểm tra.

  1. Cài driver NVIDIA trên host, sau đó xác nhận bằng nvidia-smi.
  2. Cài NVIDIA Container Toolkit để Docker có thể cấp GPU cho container.
  3. Dành GPU cho service Jellyfin trong docker-compose.yml, sau đó xác nhận container thấy GPU.
  4. Bật NVENC và NVDEC trong phần cài đặt playback của chính Jellyfin, sau đó xác nhận một phiên playback thực tế đang sử dụng chúng.

NVENC (NVIDIA encoder) và NVDEC (NVIDIA decoder) là các khối chức năng cố định trên card. Chúng là các mạch silicon riêng, tách khỏi các shader core dùng để chạy tác vụ CUDA (compute unified device architecture). Đây là lý do chính để thực hiện cấu hình này: một stream ngốn nhiều CPU core khi xử lý bằng software chỉ tiêu tốn một phần nhỏ của một core và một khối phần cứng chuyên dụng trên GPU.

Direct play luôn tốt hơn transcode, vì vậy hãy kiểm tra việc này trước

Trước khi cấu hình bất kỳ nội dung nào, hãy xác định xem có lý do nào khiến bạn phải transcode mà bạn có thể loại bỏ đơn giản hay không. Jellyfin transcode khi client không thể phát file ở định dạng hiện tại. Lý do luôn thuộc một danh sách ngắn: video codec, audio codec, container format, phụ đề dạng hình ảnh hoặc giới hạn bitrate do client yêu cầu.

Mở Dashboard, sau đó vào Playback, rồi theo dõi một session đang hoạt động trong khi phát nội dung. Session có trạng thái Direct playing gửi file nguyên trạng và gần như không tốn CPU. Session có trạng thái Transcoding sẽ hiển thị lý do Jellyfin chọn chế độ này. Loại bỏ lý do đó thì GPU không cần chạy transcode nữa.

Hai thay đổi có thể loại bỏ phần lớn trường hợp transcode. Đặt chất lượng của client app thành Auto hoặc mức tối đa, vì client yêu cầu 4 Mbps sẽ buộc phải encode lại file 20 Mbps, bất kể file dùng codec nào. Sau đó dùng native client app thay vì tab trình duyệt, vì trình duyệt là player bị giới hạn nhiều nhất trong số các lựa chọn của bạn; native app trên cùng TV thường có thể direct play đúng file đó.

Phụ đề dạng hình ảnh là ngoại lệ mà không thiết lập nào trên client có thể khắc phục. PGS từ bản rip Blu-ray và VOBSUB từ bản rip DVD là hình ảnh, nên phải được vẽ trực tiếp lên video. Điều này buộc phải encode lại toàn bộ video stream. Phụ đề dạng text trong SRT được gửi cho client dưới dạng track riêng và không tốn tài nguyên đáng kể. Khi có thể, hãy chuyển các track phụ đề sang text; việc này có giá trị hơn việc mua GPU. Phần còn lại ở phía server được trình bày trong hướng dẫn chạy Jellyfin media server trên VPS.

Hầu hết gói VPS hoàn toàn không có GPU

Các gói VPS tiêu chuẩn không bao gồm GPU. Hãy chạy lệnh này trên server trước khi lên kế hoạch cho bất kỳ việc gì khác.

lspci -nn | grep -Ei "3d|display|vga"

Trên một VPS KVM thông thường, lệnh này hiển thị bộ điều hợp màn hình ảo do hypervisor cung cấp hoặc không hiển thị thông tin hữu ích nào. Thiết bị đó không thể encode video. GPU thật chỉ xuất hiện khi nhà cung cấp passthrough một card vật lý vào instance của bạn hoặc cấp cho bạn một phần của card đó. Các gói này có giá tương ứng. Những workload nào thực sự đáng để trả tiền cho VPS có GPU giải thích những ai nên và không nên chọn loại VPS này.

Nếu không có GPU, hãy ưu tiên direct play và chỉ xem software transcoding là trường hợp hiếm. Một lần software transcode H.264 1080p cần nhiều tài nguyên nhưng vẫn có thể xử lý được trên vài CPU core. Software transcode 4K HDR có tone mapping không thể hoàn tất theo thời gian thực trên một VPS nhỏ. Vì vậy, stream sẽ bị giật trong khi CPU bị tải 100 percent.

Cài NVIDIA driver trên host

Jellyfin 10.11 yêu cầu NVIDIA driver tối thiểu là 520.56.06 trên Linux. Ubuntu có sẵn một helper để tự chọn package phù hợp.

sudo ubuntu-drivers list --gpgpu
sudo ubuntu-drivers install --gpgpu
sudo reboot

--gpgpu chọn biến thể driver cho headless server. Đây là lựa chọn phù hợp cho media server vì máy không có desktop. Lệnh list hiển thị các branch có sẵn cho hệ thống. Bạn có thể pin một branch theo tên, ví dụ sudo ubuntu-drivers install --gpgpu nvidia:570-server. Hãy dùng branch thực sự xuất hiện trong kết quả list, không dùng branch được ghi trong ví dụ này.

Biến thể server không phải lúc nào cũng cài kèm nvidia-smi. Hãy cài package utils tương ứng với branch bạn đã chọn, ví dụ sudo apt install nvidia-utils-570-server. Sau đó kiểm tra driver.

nvidia-smi

Kết quả bình thường sẽ hiển thị một table có driver version và CUDA version ở phần header, tên card của bạn trong danh sách, còn process list thì trống. Có 2 lỗi thường gặp ở bước này. nvidia-smi: command not found có nghĩa là utils package bị thiếu, không phải driver bị thiếu. NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver có nghĩa là kernel module chưa được load. Với bản cài mới, nguyên nhân gần như luôn là bạn chưa reboot hoặc Secure Boot đang từ chối load module chưa được ký. Xác nhận module đã có bằng lsmod | grep nvidia.

Cài đặt NVIDIA Container Toolkit

Driver cho phép host sử dụng GPU. Docker vẫn chưa thể truyền GPU vào container vì container không có device node và thư viện driver. NVIDIA Container Toolkit là thành phần đưa cả hai vào container khi container khởi động. Đây là các lệnh cài đặt chính thức của NVIDIA cho Debian và Ubuntu.

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

Cài package là chưa đủ vì cần cấu hình Docker để nhận biết runtime này.

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

nvidia-ctk runtime configure ghi một mục runtime nvidia vào /etc/docker/daemon.json. Bước restart thường bị bỏ qua. Việc bỏ qua bước này gây ra lỗi phổ biến nhất trong toàn bộ quy trình. Hãy kiểm tra phần kết nối trước khi cấu hình Jellyfin.

sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

Lệnh này sẽ in ra cùng bảng như bảng trên host. Nếu thay vào đó lệnh lỗi với thông báo không thể chọn device driver có GPU capabilities, Docker daemon chưa biết về nvidia runtime. Hãy chạy lại lệnh cấu hình rồi restart daemon.

Cấp GPU cho container Jellyfin trong Docker Compose

Đây là cú pháp Compose hiện đại, tương ứng với ví dụ do Jellyfin cung cấp.

services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    user: 1000:1000
    network_mode: host
    restart: unless-stopped
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=all
    volumes:
      - /srv/jellyfin/config:/config
      - /srv/jellyfin/cache:/cache
      - /srv/media:/media:ro
    runtime: nvidia
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

Khởi động container rồi kiểm tra trực tiếp từ bên trong container.

docker compose up -d
docker compose exec jellyfin nvidia-smi

Nếu lệnh này in ra bảng driver từ bên trong container, GPU đã được pass through đúng cách và mọi vấn đề còn lại đều nằm ở thiết lập Jellyfin.

Bốn dòng trong file này cần được giải thích. capabilities: [gpu] là bắt buộc đối với chính Compose. Nếu bỏ dòng này, Compose sẽ từ chối khởi động service thay vì khởi động service mà không có GPU. NVIDIA_DRIVER_CAPABILITIES=all quan trọng vì toolkit chỉ mount các thư viện video vào container khi yêu cầu capability video. Tài liệu Jellyfin cũng liệt kê biến này là bắt buộc đối với image chính thức. Nếu thiếu biến này, CUDA vẫn hoạt động nhưng NVDEC không hoạt động, và transcode log sẽ báo Cannot load libnvcuvid.so.1. network_mode: host là giá trị được dùng trong ví dụ của Jellyfin, vì client auto-discovery trên UDP port 7359 không hoạt động qua bridge network.

user: 1000:1000 là dòng cuối cùng và không liên quan đến GPU. Dòng này quyết định những file nào Jellyfin có thể đọc trong media mount. Nếu giá trị không khớp, thư viện sẽ trống thay vì báo lỗi quyền. Cách PUID và PGID ánh xạ user của container với các file trên disk giải thích cách đánh số. Đây cũng là cách đánh số bạn đã thiết lập nếu chạy stack Sonarr và Radarr trong Docker Compose bên cạnh container này.

Vì sao hầu hết tutorial vẫn ghi runtime: nvidia

Dạng cũ xuất hiện trong gần như mọi hướng dẫn bạn tìm thấy và không sai. Đó là do lịch sử. Gói nvidia-docker2 ban đầu đăng ký một OCI runtime có tên nvidia, vì vậy cách duy nhất để đưa GPU vào container là dùng --runtime=nvidia cùng với NVIDIA_VISIBLE_DEVICES. Docker 19.03 bổ sung flag --gpus và API device request chính thức. Compose mất nhiều thời gian hơn mới hỗ trợ, và khi đã hỗ trợ, device request được đặt dưới deploy.resources.reservations.devices, một key mà hầu hết mọi người đã quen bỏ qua vì trước đây deploy có nghĩa là Docker Swarm.

Kết quả là hiện nay cả hai dạng đều hoạt động, và ví dụ được Jellyfin công bố dùng cả hai cùng lúc. Giữ runtime: nvidia không tốn gì và giúp file hoạt động trên các phiên bản Compose cũ hơn. Nếu chỉ giữ runtime: nvidia và bỏ block deploy, bạn phải giữ NVIDIA_VISIBLE_DEVICES=all, vì đường dẫn legacy đó đọc biến môi trường để quyết định các device nào cần inject và không có device request để đọc thay thế.

Bật hardware transcoding bằng GPU NVIDIA trong Jellyfin

Cho đến đây, chưa có thiết lập nào yêu cầu Jellyfin sử dụng card. Vào Dashboard, chọn Playback, rồi chọn Transcoding. Đặt Hardware acceleration thành Nvidia NVENC. Chọn Enable hardware encoding. Nếu không, Jellyfin sẽ decode trên GPU rồi encode trên CPU. Đây là trạng thái trung gian dễ gây nhầm lẫn: GPU vẫn có hoạt động nhưng CPU vẫn phải xử lý nặng.

Bật enhanced NVDEC decoder để chuyển giữa đường dẫn NVDEC hiện tại và đường dẫn CUVID cũ. Hãy giữ tùy chọn này ở trạng thái bật. Dolby Vision cần tùy chọn này để sử dụng NVDEC.

Trong Enable hardware decoding for, chỉ chọn những codec mà card của bạn thực sự có thể decode. Đây là thiết lập thường bị cấu hình sai. Nếu chọn AV1 trên card không có bộ giải mã AV1, Jellyfin sẽ không hiển thị lỗi. Jellyfin yêu cầu hardware decode nhưng không nhận được, sau đó chuyển sang decode bằng software. Kết quả là CPU tải cao còn GPU gần như không hoạt động, trông giống hệt như passthrough chưa hoạt động.

Có thêm một ràng buộc áp dụng cho toàn bộ trang này: hardware acceleration chỉ hoạt động với bản build jellyfin-ffmpeg đi kèm. Nếu bạn trỏ đường dẫn FFmpeg đến FFmpeg của hệ thống, hardware acceleration sẽ chỉ hoạt động một phần hoặc không hoạt động.

GPU của bạn có thể decode và encode những codec nào

Đây là các giới hạn mà Jellyfin nêu cho NVENC và NVDEC. Decode và encode là hai khả năng riêng biệt. Một card có thể hỗ trợ khả năng này nhưng không hỗ trợ khả năng kia.

  • H.264 8-bit: mọi NVIDIA GPU có cả NVENC và NVDEC đều decode và encode được codec này.
  • HEVC 8-bit: decode và encode từ Maxwell thế hệ thứ hai (GM206) trở lên.
  • HEVC 10-bit: decode từ Maxwell thế hệ thứ hai trở lên, nhưng chỉ encode từ Pascal trở lên.
  • AV1: decode từ Ampere trở lên, encode từ Ada Lovelace trở lên.

Điểm phân tách giữa HEVC 10-bit là vấn đề thường gặp nhất trong thực tế. Card thuộc thế hệ Maxwell có thể decode file 4K HDR bằng GPU nhưng không thể encode output 10-bit, nên Jellyfin sẽ encode thành H.264 8-bit. Cách này vẫn phát được và cũng là lựa chọn đúng với phần lớn client. Dù dùng card nào, AV1 encode hiếm khi là lựa chọn phù hợp trong 2026, vì khả năng decode AV1 ở phía client vẫn còn hạn chế, còn transcode vốn được dùng để phục vụ một client đã gặp khó khăn khi phát nội dung.

Vì sao tone mapping âm thầm làm GPU quá tải trở lại

Tone mapping từ HDR (high dynamic range) sang SDR (standard dynamic range) là thiết lập làm tiêu hao phần ngân sách GPU của bạn, và nguyên nhân nằm ở kiến trúc. Decode chạy trên NVDEC. Encode chạy trên NVENC. Tone mapping không chạy trên cả hai thành phần này: đây là một CUDA filter thực thi trên các shader core, tức phần đa dụng của GPU dùng để chạy các tác vụ compute. Vì vậy, một stream 4K HDR cần tone mapping sẽ sử dụng decoder và encoder, đồng thời tải thêm các shader.

Jellyfin ghi rõ CUDA tone mapping khả dụng trên mọi NVIDIA GPU có thể decode HEVC 10-bit. Điều đó có nghĩa là tùy chọn này vẫn xuất hiện và hoạt động trên những card không thể duy trì tone mapping ở 4K. Dấu hiệu là stream bắt đầu phát, bị buffer rồi không bao giờ ổn định, trong khi nvidia-smi cho thấy encoder hầu như không bận.

Đây là lý do nên theo dõi riêng tải của shader.

nvidia-smi dmon -s u

Lệnh này in một dòng mỗi giây, với các cột riêng cho sm, enc và dec. enc và dec thấp cùng với chỉ số sm cao cho thấy các block chức năng cố định đang chạy nhàn, còn shader là điểm nghẽn. Khi đó, tone mapping, scaling hoặc subtitle burn-in là nguyên nhân tiêu tốn tài nguyên. CUDA path cũng xử lý Dolby Vision profile 5 bằng zero copy. Điều này quan trọng vì nếu không dùng zero copy, các frame phải được chuyển ra system memory rồi chuyển ngược lại giữa các bước filter, và mỗi frame đều phát sinh chi phí bandwidth cho lượt đi-về đó.

Giới hạn session NVENC dành cho consumer thực sự giới hạn điều gì

ChartNVENC engines and concurrent encode session cap, NVIDIA published support matrix, August 2026
The data behind this chart
[
  {
    "label": "GeForce RTX 5090",
    "nvenc_engines": 3,
    "max_encode_sessions": 12
  },
  {
    "label": "GeForce RTX 4090",
    "nvenc_engines": 2,
    "max_encode_sessions": 12
  },
  {
    "label": "GeForce RTX 4060",
    "nvenc_engines": 1,
    "max_encode_sessions": 12
  }
]

Đó là các số liệu trong ma trận do NVIDIA công bố vào tháng 8 năm 2026, không phải kết quả đo ở đây. Card GeForce bị giới hạn ở 12 session encode đồng thời, bất kể model nào. Giới hạn này nằm trong driver, không nằm trong silicon. NVIDIA đã nhiều lần tăng giới hạn trong những năm qua, vì vậy hãy xem ma trận hiện tại thay vì một bài đăng cũ trên forum. Số engine mới là yếu tố thực sự thay đổi theo từng card: GeForce RTX 50903 engine NVENC, còn GeForce RTX 40601. Nhiều engine hơn nghĩa là throughput encode song song cao hơn, không phải giới hạn session cao hơn.

Giới hạn này đếm các session encode, nên chỉ đếm các stream transcoding. Direct play và remuxing không mở session encode. Các card data center như L4 được liệt kê là không giới hạn trong cùng ma trận. VPS GPU dành cho data center thường là loại card này, nên giới hạn trên chủ yếu ảnh hưởng đến home server.

Khi chạm giới hạn, quá trình transcode sẽ fail và log FFmpeg sẽ chứa OpenEncodeSessionEx failed: out of memory (10). Thông báo có nhắc đến memory, nhưng lỗi từ chối do chạm giới hạn session cũng dùng cùng mã này. Vì vậy, hãy kiểm tra số stream đồng thời trước khi tìm lỗi rò rỉ VRAM. Trên thực tế, hầu hết người dùng gặp giới hạn tone mapping hoặc giới hạn upload bandwidth trước khi đạt đến session thứ 12.

Xác nhận GPU đang transcoding, không chỉ dựa vào cấu hình

Một thiết lập đã lưu không phải là bằng chứng. Phát một file mà bạn biết chắc sẽ buộc phải transcode, sau đó thực hiện 3 bước kiểm tra.

  1. Mở Dashboard, rồi mở Playback. Session đang hoạt động phải hiển thị Transcoding và nêu rõ lý do. Nếu hiển thị Direct playing thì không có gì đang được transcode và bạn đang kiểm tra nhầm file.
  2. Mở Dashboard, rồi mở Logs và mở log FFmpeg.Transcode mới nhất. Hardware transcode sẽ hiển thị -hwaccel cuda-hwaccel_output_format cuda trên command line, cùng với h264_nvenc hoặc hevc_nvenc làm encoder. Nếu thấy libx264 ở đó thì bạn đang transcoding bằng software, bất kể trang cài đặt hiển thị gì.
  3. Chạy nvidia-smi trên host trong khi vẫn phát nội dung. Một process từ /usr/lib/jellyfin-ffmpeg/ffmpeg phải xuất hiện với GPU memory đã được cấp phát, và nvidia-smi dmon -s u phải hiển thị giá trị khác 0 trong các cột enc và dec.

Chạy bước kiểm tra thứ 3 trên host, không chạy bên trong container. nvidia-smi bên trong container thường hiển thị danh sách process trống vì nó không thể thấy process ID bên ngoài namespace của chính nó, trong khi các giá trị utilisation vẫn hiển thị chính xác. Danh sách process trống bên trong container không phải là lỗi.

Khi hệ thống chuyển sang xử lý bằng software mà không báo cho bạn

Jellyfin ưu tiên tiếp tục phát. Khi không có hardware path, nó chuyển sang xử lý bằng software thay vì làm stream thất bại. Vì vậy, dấu hiệu đáng tin cậy là tải CPU và log của FFmpeg, không phải banner lỗi.

Cannot load libnvcuvid.so.1 trong log transcode có nghĩa là thư viện decoder chưa được mount vào container. Đặt NVIDIA_DRIVER_CAPABILITIES=all rồi recreate container, vì thay đổi environment cần docker compose up -d để build lại container. Restart thông thường vẫn giữ các thiết lập cũ.

No capable devices found từ h264_nvenc có nghĩa là FFmpeg đã truy cập được thư viện encoder nhưng không tìm thấy card khả dụng. Kiểm tra lại docker compose exec jellyfin nvidia-smi, vì nguyên nhân thường là device reservation đã bị xóa hoặc container được recreate từ một file cũ.

CPU cao trong khi GPU gần như không hoạt động có nghĩa là phía decode đang âm thầm thất bại. Bỏ chọn các codec mà generation của bạn không thể decode, rồi phát lại cùng file và đọc lại log của FFmpeg để xem -hwaccel cuda có xuất hiện không.

Một transcode khởi động rồi bị stall khi phát 4K HDR trong khi 1080p vẫn hoạt động bình thường là giới hạn của tone mapping, không phải lỗi cài đặt. Xác nhận bằng cột sm trong nvidia-smi dmon -s u, rồi giảm độ phân giải mà client yêu cầu hoặc chỉ phát các file 4K HDR trên những client có thể direct play chúng.

FAQ

Vì sao Jellyfin vẫn dùng CPU sau khi tôi bật NVENC?

Kiểm tra log FFmpeg.Transcode mới nhất trong Dashboard, rồi vào Logs. Nếu log hiển thị libx264, hoàn toàn không có hardware path nào được sử dụng. Nguyên nhân thường là container không nhìn thấy GPU, nên hãy chạy docker compose exec jellyfin nvidia-smi để xác nhận. Nếu log hiển thị h264_nvenc nhưng CPU vẫn bận, phần decode đang chạy bằng software. Điều này xảy ra khi bạn chọn một codec mà card không thể decode, hoặc khi Enable hardware encoding vẫn bị tắt nên chỉ một nửa pipeline chuyển sang GPU.

Tôi còn cần dòng runtime: nvidia trong Docker Compose không?

Không, nếu bạn đã có block deploy.resources.reservations.devices và đang dùng Docker Compose hiện tại. Block này là dạng device request hiện đại và thực hiện cùng chức năng. runtime: nvidia là cách cũ từ thời nvidia-docker2, vẫn hoạt động, và ví dụ được Jellyfin công bố vẫn giữ cả hai. Giữ cả hai không gây vấn đề. Nếu chỉ giữ runtime: nvidia, bạn cũng phải giữ NVIDIA_VISIBLE_DEVICES=all, vì cách này không có device request để đọc và lấy danh sách thiết bị từ environment.

Một NVIDIA GPU có thể transcode đồng thời bao nhiêu stream?

Theo ma trận do NVIDIA công bố, GeForce bị giới hạn ở 12 phiên encode đồng thời tính đến tháng 8 năm 2026, còn các card data center được ghi là không giới hạn. Giới hạn này hiếm khi là yếu tố khiến hệ thống dừng lại. Tone mapping từ HDR sang SDR chạy trên shader cores thay vì NVENC, nên một vài stream 4K HDR sẽ dùng hết shader trước khi số phiên trở thành vấn đề. Hãy đo trường hợp thực tế bằng nvidia-smi dmon -s u và theo dõi cột sm, không phải số phiên.

Tôi có thể dùng hardware transcoding trên VPS không có GPU không?

Không. Encoding cần NVENC block vật lý, còn lspci -nn | grep -Ei "3d|display|vga" trên VPS thông thường chỉ hiển thị một virtual display adapter do hypervisor cung cấp. Cách thực tế trên gói không có GPU là loại bỏ nhu cầu transcode: tăng thiết lập chất lượng của client lên Auto, dùng ứng dụng native client thay vì trình duyệt, và chuyển các subtitle track dạng image sang dạng text để chúng không buộc video phải re-encode.

Vì sao 4K HDR bị giật trong khi transcode 1080p vẫn chạy tốt?

Hai workload sử dụng các phần khác nhau của card. Transcode 1080p SDR chỉ decode và encode, cả hai đều chạy trên hardware chức năng cố định. Stream 4K HDR bổ sung tone mapping, là một CUDA filter chạy trên shader cores, cùng với frame lớn hơn nhiều cần scale. nvidia-smi dmon -s u hiển thị enc và dec thấp bên cạnh sm cao sẽ xác nhận điều này, vì mẫu chỉ số đó cho thấy các fixed-function block đang rảnh và general-purpose cores mới là giới hạn.