Xem video tóm tắt: Synology chạy Plex, Jellyfin 4K: chọn CPU, GPU nào
Transcoding là gì, sao lại là nỗi đau của dân xem phim qua NAS
Bạn ném cả thư viện phim 4K HEVC lên Synology, mở Plex hay Jellyfin lên xem thì mượt — cho đến hôm mở trên con Smart TV đời 2018 ở phòng ngủ, hoặc cố xem từ quán cà phê qua mạng 4G yếu. Màn hình xoay vòng vòng, phim load mãi không ra hình. Đó là lúc NAS phải "transcode": giải mã file gốc rồi mã hoá lại thành định dạng/độ phân giải/bitrate mà thiết bị đang xem hiểu được, theo thời gian thực.
Ngược lại với transcode là Direct Play — NAS chỉ đẩy nguyên file gốc qua, gần như không tốn CPU/GPU gì cả. Phân biệt được hai cái này là hiểu luôn 80% lý do tại sao có người bảo "NAS yếu vẫn chạy Plex ngon", người khác lại kêu "mua Plus cho chắc mà vẫn giật".
Plex/Jellyfin trên Synology làm được ba việc chính liên quan đến chuyện này:
- Chuyển file không tương thích (4K HEVC, HDR) thành thứ TV cũ/điện thoại/trình duyệt hiểu được.
- Hạ bitrate thời gian thực khi băng thông mạng ngoài yếu, để xem qua 4G/Internet khách sạn không bị giật.
- Phát cùng lúc cho nhiều người ở nhiều định dạng khác nhau — nhà có 3 TV đời khác nhau cùng mở phim một lúc.
Ba case thực tế hay gặp:
- Phòng khách có Apple TV hoặc Nvidia Shield: hai thiết bị này tự giải mã HEVC 4K, nên Plex/Jellyfin chạy Direct Play — NAS gần như rảnh tay, model nào cũng chạy ổn, kể cả loại không có GPU.
- Mở Plex trên điện thoại qua mạng ngoài yếu: app tự hạ 4K xuống 1080p để đỡ giật — đây mới là transcode thật, cần GPU tích hợp mới mượt.
- Vài người xem cùng lúc từ TV đời cũ không hiểu HEVC: cần 2-3 luồng transcode chạy song song, chỉ NAS có GPU hỗ trợ (Quick Sync) mới kéo nổi mà CPU không gào lên 100%.
So với Plex, Jellyfin là bản mã nguồn mở, miễn phí hoàn toàn — không cần trả phí để mở hardware transcoding như Plex Pass. Đổi lại giao diện và app di động chưa mượt bằng, và Synology cũng không có gói cài sẵn trong Package Center.

Vì sao "mua Plus đời mới nhất" lại là cái bẫy
Đây là chỗ dễ sai nhất, và nói thật, khá nhiều người đã sai. Logic thông thường: Plus series đắt hơn, CPU nhiều nhân hơn, chắc transcode cũng ngon hơn Value series rẻ tiền. Sai hoàn toàn với dòng Plus mới dùng CPU AMD.
DS923+ dùng AMD Ryzen Embedded R1600 (2 core/4 thread, 2.6GHz boost 3.1GHz), DS925+ dùng Ryzen Embedded V1500B (4 core/8 thread, 2.2GHz) — cả hai đều không có iGPU. Không iGPU nghĩa là không Intel Quick Sync, nghĩa là mọi tác vụ transcode đều chạy bằng sức CPU thuần (software transcode). DS1522+ cũng nằm trong nhóm CPU AMD không Quick Sync này.
Trong khi đó DS423+ dùng Celeron J4125 (4 core, burst ~2.7GHz) — nghe yếu hơn trên giấy — nhưng có iGPU Intel UHD Graphics 600, bật được Quick Sync. Kết quả thực tế: DS423+ transcode 4K mượt hơn DS923+/DS925+ nhiều, dù chip "yếu hơn" trên thông số core/clock. Lý do đơn giản: một luồng 4K HEVC→1080p là bài toán nặng mà CPU phổ thông không sinh ra để làm, chạy bằng CPU thuần thường kéo tải lên full và buffer liên tục.
Nói cách khác: với Plex/Jellyfin, câu hỏi không phải "CPU mạnh cỡ nào" mà là "CPU có Quick Sync không". Hai thứ hoàn toàn khác nhau.
Giới hạn cần biết ngay cả khi có Quick Sync: trên DS423+/DS224+, đường hardware transcode chỉ xuất ra SDR H.264. Nguồn HDR (phổ biến với phim 4K Blu-ray rip) vẫn phải tone-map bằng CPU — Celeron vốn không mạnh, nên với nguồn HDR vẫn có thể giật nếu chạy nhiều luồng cùng lúc. Quick Sync gỡ phần giải mã/mã hoá nặng nhất, không phải cây đũa thần cho mọi loại file.
Yêu cầu trước khi bắt đầu
- NAS có CPU Intel kèm iGPU (DS423+, DS224+ hoặc tương đương) nếu muốn hardware transcode thật.
- DSM 7.2.1 hoặc mới hơn.
- Muốn dùng Plex hardware acceleration: cần tài khoản Plex Pass (trả phí) — không có Pass thì tick vào ô "Use hardware acceleration" cũng không chạy.
- Muốn cài Jellyfin: cần package Container Manager (cài qua Package Center), vì Synology không có gói Jellyfin chính thức.

Cài Plex Media Server — chỉ cần Package Center
Đây là nhánh dễ. Plex có gói chính thức, Synology tự lo cập nhật, không đụng tới Docker hay dòng lệnh gì cả.
- Mở Package Center trên DSM, tìm "Plex Media Server", bấm Install.
- Mở app, đăng nhập/tạo tài khoản Plex, khai báo thư viện phim trỏ vào thư mục chứa phim (ví dụ
/volume1/video). - Vào Settings (biểu tượng bánh răng, cần đăng nhập quyền admin) → mục Transcoder.
- Tick "Use hardware acceleration when available". Nếu không tick được, hoặc tick xong vẫn chạy software transcode, 99% là do chưa có Plex Pass.
- Save. Xong — không cần khởi động lại gì cả.
Cài Jellyfin — qua Container Manager Project, vẫn là click chuột
Jellyfin không có trong Package Center, cũng không có trong SynoCommunity cho DSM mới, nên đường duy nhất là Docker. May là Container Manager có mục Project: dán sẵn file cấu hình rồi bấm chạy, không phải ngồi SSH gõ lệnh dài dòng.
- Cài Container Manager từ Package Center nếu chưa có.
- Mở Container Manager → tab Project → Create.
- Đặt tên project (ví dụ
jellyfin), chọn đường dẫn lưu, chọn nguồn là "Create docker-compose.yml", dán nội dung sau:
services:
jellyfin:
image: linuxserver/jellyfin
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Ho_Chi_Minh
volumes:
- /volume1/docker/jellyfin/config:/config
- /volume1/video:/data/movies
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card0:/dev/dri/card0
ports:
- 8096:8096
restart: unless-stoppedPUID/PGID là ID user trên NAS, SSH vào gõ id là ra ngay. Chưa biết số này cũng chẳng sao, ai lần đầu cũng phải tra một lần. Sửa đường dẫn /volume1/video thành đúng thư mục phim của bạn, rồi bấm Next → Done để build và chạy container.
Vào http://ip-nas:8096 để chạy wizard thiết lập lần đầu của Jellyfin (tạo tài khoản admin, khai thư viện).
Mở quyền GPU cho container — bước duy nhất cần SSH
DSM chặn mặc định không cho tiến trình non-root (container Jellyfin chạy dưới quyền user thường) chạm vào /dev/dri — thiết bị đại diện cho GPU. Synology không có nút GUI tương ứng cho việc này, nên buộc phải chạy một lệnh. Nhưng chỉ một lần cấu hình qua Task Scheduler, không phải ngồi SSH thường trực.
- Control Panel → Task Scheduler → Create → Triggered Task → User-defined script.
- Event chọn Boot-up, User chọn root.
- Tab Task Settings, ô script gõ:
chmod 777 /dev/dri/* - Save, rồi chạy thử task ngay một lần (chuột phải → Run) để áp dụng mà không cần khởi động lại NAS.
Lý do phải đặt thành Boot-up task: quyền này bị DSM reset lại mỗi khi NAS khởi động lại. Set một lần bằng tay rồi tắt NAS là mất, container lại không chạm được GPU — và bạn lại ngồi hỏi Google vì sao hôm qua chạy ngon hôm nay giật. chmod 777 mở quyền ghi thiết bị GPU cho mọi user trên máy — với NAS gia đình dùng riêng thì chấp nhận được, nhưng nếu NAS của bạn có nhiều người dùng chia sẻ, đây là nới quyền hệ thống, nên biết là mình đang đánh đổi gì.
Cuối cùng vào Jellyfin: Dashboard → Playback → Transcoding , chọn Hardware acceleration là "Intel QuickSync (QSV)", điền QSV device path /dev/dri/renderD128, Save.

Kiểm tra transcode có chạy bằng GPU thật không
Mở một file 4K trên thiết bị không hỗ trợ Direct Play (hoặc ép chất lượng thấp hơn trong app), rồi:
- Plex: vào Settings → Status → Now Playing (hoặc Dashboard trên web), thấy chữ "(hw)" cạnh dòng transcode là đang dùng GPU; chỉ thấy "Transcode" không có "(hw)" là đang chạy software.
- Jellyfin: Dashboard → Activity, hoặc xem log container trong Container Manager, tìm dòng có "qsv"/"vaapi" là đã chạm GPU.
Lỗi hay gặp
- Mua DS923+/DS925+ rồi tick "hardware acceleration" không có gì xảy ra — không phải lỗi, chip AMD không có iGPU nên không có đường hardware, mọi transcode mặc định chạy CPU.
- Jellyfin cài xong, Transcoding chọn QSV nhưng vẫn full CPU — thường do quên mount
/dev/dri/renderD128và/dev/dri/card0trong phầndevicescủa compose, hoặc quyền/dev/dribị DSM reset sau lần reboot gần nhất vì job Task Scheduler chưa set đúng Boot-up. - Tưởng Quick Sync xử lý mọi loại 4K mượt tuyệt đối — DS423+/DS224+ chỉ xuất SDR H.264 qua đường hardware; nguồn HDR vẫn tone-map bằng CPU yếu, nhiều luồng cùng lúc vẫn có thể giật.
- Nhầm tên đời máy khi tra cứu online — lineup Synology hiện tại không có "DS924+", dễ nhầm với DS923+ (CPU AMD) hoặc "DS924" không dấu cộng (CPU ARM Realtek, cũng không transcode được). Tên gần giống nhau kiểu này là bẫy kinh điển, chốt đúng tên model + CPU trên trang sản phẩm chính thức trước khi mua theo nhu cầu transcode.
Vậy nên mua model nào
Ưu tiên số một là transcode 4K mượt (nhà có TV cũ, hay xem ngoài mạng yếu): chọn DS423+ hoặc DS224+, rẻ hơn mà làm đúng việc. Ưu tiên là NAS đa dụng — chạy nhiều Docker, VM, backup nặng — và ở nhà toàn Apple TV/Shield tự Direct Play được, thì DS923+/DS925+ vẫn hợp lý, chỉ cần chấp nhận transcode CPU khi thật sự cần (hiếm khi xảy ra nếu client tốt). Đừng mua Plus đời AMD chỉ vì nghĩ "mạnh hơn nên transcode tốt hơn" — đó chính là cái bẫy ở đầu bài.
| Model | CPU | GPU tích hợp | Transcode phần cứng |
|---|---|---|---|
| DS423+ | Celeron J4125 | ✓ UHD 600 | ✓ |
| DS923+ | Ryzen R1600 | ✗ | ✗ |
| DS925+ | Ryzen V1500B | ✗ | ✗ |
| DS1522+ | Ryzen AMD | ✗ | ✗ |
Tùy chọn nâng cao (không bắt buộc)
Có patch cộng đồng ép Quick Sync hoạt động trên vài model Intel bị Synology khoá phần mềm (như DS225+/DS425+). Thủ thuật này dễ gãy sau mỗi lần DSM cập nhật, và đòi hỏi quen dòng lệnh để tự vá lại — không phải thứ nên mạo hiểm trên NAS lưu dữ liệu quan trọng.
Muốn mở Plex/Jellyfin ra ngoài Internet an toàn hơn thì dùng reverse proxy kèm HTTPS, nhưng việc này tách hẳn khỏi luồng cài transcode. Đa số người dùng chỉ cần xem từ xa, QuickConnect hoặc VPN/Tailscale là đủ.
Bảo mật và bảo trì
Hardware acceleration trong Plex chỉ bật được nếu có Plex Pass — không trả phí thì tick ô đó cũng vô nghĩa. Đừng mở cổng Plex/Jellyfin thẳng ra router để truy cập ngoài, ưu tiên QuickConnect hoặc VPN. Và nhớ job Task Scheduler chmod 777 /dev/dri/* ở trên — nó chạy mỗi lần boot, nên nếu NAS của bạn dùng chung nhiều tài khoản, cân nhắc kỹ trước khi áp dụng, vì về bản chất đang mở quyền ghi thiết bị GPU cho mọi user trên máy.



No comments yet