Server Version#: 1.23.3.4707
Player Version#: 4.57.4
I recently (and magically) got a Nvidia GeForce RTX 3060 GPU for my plex machine. I was really excited about the prospect of using the GPU to do transcoding and eliminating the prebuffering pauses. I installed the card, and reworked my plex docker instance to take advantage of it. I can see now (hw)
in the transcoding section and I can see a plex process show up when using nvidia-smi
to view the workload of the GPU.
To my dismay, I have a a bluray rip that is encoded in HVEC, the resolution is 2160p and when I try to use plex to stream it the transcoder seems to choke, hard. I found this article and monitored the verbose log during the attempted stream. The speed values were very close to zero, see below. However, when I look at nvidia-smi
during this time, the GPU seems to be idling.
What gives?
Verbose logs during streaming, showing speed of 0.0 to 0.4 – much less than 1:
Jun 23, 2021 10:42:22.228 [0x7fda25094b38] Debug — Completed: [127.0.0.1:34764] 206 PUT /video/:/transcode/session/<session key1>/<session key2>/progress?progress=0.0&size=-22&remaining=-1&vdec_packets=69&vdec_hw_ok=56&speed=0.0&vdec_hw_status=1 (14 live) 1ms 355 bytes (pipelined: 65) (range: bytes=0-)
Jun 23, 2021 10:42:22.812 [0x7fda2497ab38] Debug — Request: [127.0.0.1:34764 (Loopback)] PUT /video/:/transcode/session/<session key1>/<session key2>/progress?progress=0.0&size=-22&remaining=-1&vdec_packets=72&vdec_hw_ok=59&speed=0.4&vdec_hw_status=1 (14 live) Signed-in Token (<email_address>) (range: bytes=0-) / Accept => */* / Connection => keep-alive / Host => 127.0.0.1:32400 / Icy-MetaData => 1 / Range => bytes=0- / User-Agent => Lavf/58.27.104 / X-Plex-Http-Pipeline => infinite / X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
Jun 23, 2021 10:42:22.812 [0x7fda25094b38] Debug — Completed: [127.0.0.1:34764] 206 PUT /video/:/transcode/session/<session key1>/<session key2>/progress?progress=0.0&size=-22&remaining=-1&vdec_packets=72&vdec_hw_ok=59&speed=0.4&vdec_hw_status=1 (14 live) 0ms 355 bytes (pipelined: 66) (range: bytes=0-)
Jun 23, 2021 10:42:23.399 [0x7fda26a7ab38] Debug — Request: [127.0.0.1:34764 (Loopback)] PUT /video/:/transcode/session/<session key1>/<session key2>/progress?progress=0.0&size=-22&remaining=-1&vdec_packets=75&vdec_hw_ok=62&speed=0.0&vdec_hw_status=1 (14 live) Signed-in Token (<email_address>) (range: bytes=0-) / Accept => */* / Connection => keep-alive / Host => 127.0.0.1:32400 / Icy-MetaData => 1 / Range => bytes=0- / User-Agent => Lavf/58.27.104 / X-Plex-Http-Pipeline => infinite / X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
Jun 23, 2021 10:42:23.400 [0x7fda25094b38] Debug — Completed: [127.0.0.1:34764] 206 PUT /video/:/transcode/session/<session key1>/<session key2>/progress?progress=0.0&size=-22&remaining=-1&vdec_packets=75&vdec_hw_ok=62&speed=0.0&vdec_hw_status=1 (14 live) 0ms 355 bytes (pipelined: 67) (range: bytes=0-)
Jun 23, 2021 10:42:24.030 [0x7fda1ab63b38] Debug — Request: [127.0.0.1:34764 (Loopback)] PUT /video/:/transcode/session/<session key1>/<session key2>/progress?progress=0.0&size=-22&remaining=-1&vdec_packets=78&vdec_hw_ok=65&speed=0.4&vdec_hw_status=1 (14 live) Signed-in Token (<email_address>) (range: bytes=0-) / Accept => */* / Connection => keep-alive / Host => 127.0.0.1:32400 / Icy-MetaData => 1 / Range => bytes=0- / User-Agent => Lavf/58.27.104 / X-Plex-Http-Pipeline => infinite / X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
Jun 23, 2021 10:42:24.030 [0x7fda25094b38] Debug — Completed: [127.0.0.1:34764] 206 PUT /video/:/transcode/session/<session key1>/<session key2>/progress?progress=0.0&size=-22&remaining=-1&vdec_packets=78&vdec_hw_ok=65&speed=0.4&vdec_hw_status=1 (14 live) 0ms 355 bytes (pipelined: 68) (range: bytes=0-)
Jun 23, 2021 10:42:24.634 [0x7fda2497ab38] Debug — Request: [127.0.0.1:34764 (Loopback)] PUT /video/:/transcode/session/<session key1>/<session key2>/progress?progress=0.0&size=-22&remaining=-1&vdec_packets=81&vdec_hw_ok=68&speed=0.0&vdec_hw_status=1 (14 live) Signed-in Token (<email_address>) (range: bytes=0-) / Accept => */* / Connection => keep-alive / Host => 127.0.0.1:32400 / Icy-MetaData => 1 / Range => bytes=0- / User-Agent => Lavf/58.27.104 / X-Plex-Http-Pipeline => infinite / X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
nvidia-smi output during attempted streaming, showing 6% GPU utilization:
$ nvidia-smi
Wed Jun 23 10:42:51 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 465.27 Driver Version: 465.27 CUDA Version: 11.3 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:03:00.0 On | N/A |
| 34% 51C P2 41W / 170W | 3285MiB / 12051MiB | 6% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 2118 G /usr/lib/xorg/Xorg 32MiB |
| 0 N/A N/A 5996 G /usr/bin/gnome-shell 7MiB |
| 0 N/A N/A 337497 C ffmpeg 263MiB |
| 0 N/A N/A 337504 C ffmpeg 263MiB |
| 0 N/A N/A 337509 C ffmpeg 263MiB |
| 0 N/A N/A 337520 C ffmpeg 263MiB |
| 0 N/A N/A 337528 C ffmpeg 263MiB |
| 0 N/A N/A 337538 C ffmpeg 263MiB |
| 0 N/A N/A 337546 C ffmpeg 263MiB |
| 0 N/A N/A 417914 C ...diaserver/Plex Transcoder 1398MiB |
+-----------------------------------------------------------------------------+
$