DS216+II -> Plex -> Roku Ultra = Bad

Server Version#: 1.20.3.3483
Player Version#:

So I have a DS216+II NAS running Plex Media Server in a Docker container. Movie streaming works great via Plex Player on a desktop. It also works well running via Plex Player on my Sony Bravia TV with a Google Android OS. CPU runs in the 20% to 30% range. Hardware acceleration is enabled. When I try to run it through my Roku Ultra Plex Player (v6.6 Build 12), CPU pegs out at 100% and playback is intermittent with frequent buffering events. Log files attached. What am I missing?

(File removed)

That log file doesn’t show much except for a few lines that claim the server is failing to load some CUDA drivers. Are you positive you actually got hw accelerated encoding to work inside your container?

If I may ask… why the extra layer of complexity/abstraction? Have you considered simply running that Plex Media Server natively on your Synology?

For a more extensive look at your logs, please go to Settings > [Server Name] > General and check Enable Plex Media Server debug logging (but keep Enable Plex Media Server verbose logging disabled!!). Then try to play that video again on the Roku, wait a moment, then download your server logs.

Okay, enabled debugging log and am attaching the log file. Roku IP is 192.168.1.114. Playback starts at 07:43:15.509. Looking at the dashboard, when I stream to the Bravia TV, it uses Direct Stream, when I stream to the Roku its transcoding 1080P (H.264) -> 1080P (H.264). The Plex App on the Roku has Direct Stream enabled. As to why I went the container route:

  • Not impacted by any other software installed or running on the NAS
  • Version will almost always be more up to date than Synology Package version
  • Can easily migrate installation to another server or OS
  • Should use less CPU and RAM than the pkg version, though I have not verified that yet with a pkg install

The open questions I have are:

  • Is is the server using the HW acceleration, and if not, why?
  • Why the Roku is not using the Direct Stream option?

(File removed) !

Roku|378x372

Here’s what the logs say:

  1. The movie has an EAC3 audio stream that’s not supported on the client
  2. The expected max. bitrate for a direct stream is roughly 23.5 Mbps
  3. There’s a bitrate limit of 12 Mbps
    Here’s where you can check for that limit
    • Server side
      1. Settings > [Server Name] > Remote Access > Internet upload speed
        or your actual internet upload bandwidth
      2. Settings > [Server Name] > Remote Access > Limit remote stream bitrate (advanced setting)
    • Client side
      1. Settings > Video > Remote Quality
      2. manually selected playback quality
  4. Plex cannot load the encoder/driver for hw-accelerated encoding
    • This could be about how you’ve mounted your drives into the docker container… the respective drive needs to be executable
    • Worst case, this is about hw-acceleration not properly setup inside the docker container – according to Plex it’s not officially supported but apparently some users were able to get it to work

Yep, I think my issue is with how this particular file was encoded. I am running through my library of movies and TV shows (*.mkv) and they are showing as either Direct Stream or Direct Play on playback. I can run multiple streams and CPU stays well within tolerance. Figures I’d start with the one file that was problematic. So that solves my playback issue but to your point not the HW acceleration question. The mounted folders show rwxr-xr-x for the admin account and user group. Not sure if I should make that root for both which my grafana/telegraf/influxdb folders are. Need to dig into that. I’ll also try a 4K file to see if there is any difference in performance. My library is all 1080p.

FYI: No limit set on upload speed or Remoter Stream Bitrate

Doing over your files will not overcome that 12 Mbps bottleneck

Pushed the Remote and Local quality settings on the Roku Plex client app up from 12Mbps 4K to 20Mbps 4K which is the max it will go. Doesn’t fix anything for that one file but gives me a little more throughput if needed. All my gear is hardwired so no limits there.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.