Remote Views Keep Getting Stuck Buffering

Server Version#: 1.20.1.3252

On some videos, I get the message

This server is not powerful enough to convert video.

On other videos, it technically works, but the stream keeps getting stuck. I set the client to stream at maximum quality, but that didn’t work either. I talked to a few people on the Discord server, but we could get it worked :frowning:

I’m running the Plex Server within a FreeNAS jail. How can I resolve this issue so at least 2 people can watch a video at the same time? I checked, according to the official Plex docs, an i5 4670K should be enough for 2 1080p 10Mbps streams.

https://support.plex.tv/articles/201774043-what-kind-of-cpu-do-i-need-for-my-server/#:~:text=The%20Guideline,being%20transcoded%20to%2010Mbps%201080p)

Is it just not possible to use FreeNAS? If that’s the case, what are my options for being able to have FreeNAS on one machine for storage, and using something else for the Plex Server while still reading the data from the FreeNAS? The main goal here is to allow at least 2 remote streams of the content.

I’d really appreciate help figuring this one out :slight_smile:

Thanks in advance :smiley:

P.S. Internet speed of people helping me test this is 50Mbps or higher

Plex Media Server Logs_2020-09-15_14-44-45.zip (2.9 MB)

I looked at your logs and it shows you are steaming hevc video. Our stremaing guide you linked to above states:

  • 4K SDR (40Mbps, 8-bit HEVC) file: 12000 PassMark score (being transcoded to 10Mbps 1080p)

Your CPU is going to have issues trying to transcode those. If you want to check we have a guide, https://support.plex.tv/articles/201575036-why-is-my-video-stream-buffering/, with instructions on how to check the “speed” of the transcodes. You need a speed of at least 1 to ensure proper playback. Anything less and you’ll get buffering.

Thank you for responding so quickly!

Shouldn’t the hardware transcoding solve this issue? That’s why I paid for the Pass subscription.

Also, most videos are 1080p and H.264. So how can I solve this issue?

Thanks again!

Side note: What is a good way of testing the servers transcoding without asking for other people to access it? Is using my laptop with a VPN enough?

Here is the latest log. I see most of them are above 1.0, but some are below
Plex Media Server.log (8.8 MB)

Hardware-Accelerated Streaming on Linux requires:

  • 64-bit Ubuntu (16.04 or later) or 64-bit Fedora (26 or later) distributions. (Other distributions may be capable, but are not officially supported.)

Sep 16, 2020 12:06:44.372 [0x810226d00] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Generic error in an external library

There appears to be some issue and your system isn’t supported. I don’t know FreeNAS so I can’t provide specifics.

You can do that yourself. No need to have others. Just use any client you have and set the video quality lower than the source. That will force a transcode.

Your “This is a TEST for Jon” file has a source of ~80 Mbps. The speed guidelines are for a file 10in/10out. One test shows 80in/10 out and a speed of about 1 to 1.5. So your server is just barely able to keep up. In another test the output became 20 Mbps and the speed dropped below 1. Your CPU is not going to handle transcoding these files well. The bitrates of your test file is just too high.

I would suggest looking into getting the hardware transcoder working. Running on FreeNAS is outside my knowledge but I’d suggest searching the forums. I know this question has come up and others have gotten it to work. Here’s one regarding an issue due to permissions. HW Transcode not working 1.19.1

Hw transcode of 1080p files with an i5 4th gen on FreeNAS 11.3 / TrueNAS Core 12.0 is expected to work. It does require configuration of the system for that. There’s a thread on the ixsystems forums about it, and a GitHub page with instructions.

A friend and I couldn’t find any information about this setup process. I’m sorry to be a burden, but do you have a link to this guide so I can follow it?

I saw the link to a previous thread of yours above, but don’t see any information about solving the issue :frowning:

I’m blown away!

That was an extremely detailed, thought out response to my question. Thank you for taking the time to make it idiot proof for me XD

You can do that yourself. No need to have others. Just use any client you have and set the video quality lower than the source. That will force a transcode.

I was told on your Discord, that accessing plex (app.plex.tv) while on the same network as the server will cause it to just use the local network and not test out anything. Was that incorrect?

Your “This is a TEST for Jon” file has a source of ~80 Mbps. The speed guidelines are for a file 10in/10out. One test shows 80in/10 out and a speed of about 1 to 1.5. So your server is just barely able to keep up. In another test the output became 20 Mbps and the speed dropped below 1. Your CPU is not going to handle transcoding these files well. The bitrates of your test file is just too high.

So let me clarify what the goal of this server is. Maybe with be being less of an idiot and providing more info, you’d be able to help more effectively.

I set up a NAS with cloud storage capabilities (similar to Dropbox or Google Drive). The original goal was to just have a place for me and family to store out files, video, and pictures. A friend told me about plex, and I thought it would be very cool to be able to share my videos with friends. My friends and I record a lot of gameplay videos of us playing, and want to share it. A 2 minute file, can be as large as 1GB. My hope was that by using Plex, we wouldn’t need to constantly upload and download videos. I could upload a video to the NAS, and my friends or family could watch the video via Plex. It seem the large bitrates are a problem for the machine to transcode if I understand you correctly. What would you recommend I do?

This should mean that if they client has the bandwidth, they should be able to watch videos at original quality without any issues right? So how come original quality isn’t an option sometimes?

Again, thank you so so so much for all of your help!!!

The guide is here: https://github.com/kern2011/Freenas-Quicksync

The thread discussing it is here: https://www.ixsystems.com/community/threads/activating-plex-hardware-acceleration.75391/page-13

That is true. When using Plex Web, either the local one or the hosted one, it can access your server locally. So it won’t use your internet bandwidth, but that has nothing to do with transcoding. Transcoding means that PMS will convert your video on the fly to a format that is compatible with the client trying to play the file. It is possible to play a file without transcoding locally or remotely depending on the client and other settings. It is also possible to play a file with transcoding locally or remotely, again depending on the client and it’s settings. If you want to test transcoding, you can do that yourself. If you want to test your internet connection, then you can’t do that locally. Well, you can, but it’s not straight forward. The easiest way to test your internet connection is to use the Plex for mobile app and go through your data plan. instead of WiFi.

Yup. The higher the bitrate, the more data your computer has to churn through to convert the video. There’s 4 options for this.

1 - hardware transcoding, but that doesn’t seem to be working for you
2 - convert your videos ahead of time to something lower
3 - use a client that can support the codec of the video files so it won’t need transcoding
4 - get a faster computer

So it won’t use your internet bandwidth, but that has nothing to do with transcoding.

I see! That makes more sense, and I understand things better now, thank you!

1 - hardware transcoding, but that doesn’t seem to be working for you

I’m going to try the guide above for getting QuickSync working as that would solve my transcoding issue.

If that doesn’t work, here are the questions I have for you:

2 - convert your videos ahead of time to something lower

You suggested I convert the videos ahead of time. Is this something I’d need to do using software like handbrake before uploading, or is this something that Plex can do? I saw that Plex has an option for optimizing video, but is this what I need? I tried doing that earlier, but feel like I didn’t manage to use it correctly as it didn’t change the outcome.

3 - use a client that can support the codec of the video files so it won’t need transcoding

Sorry for my ignorance, but could you elaborate on this option more? I only have a few friends and family that would use this setup, so helping each of them, one by one with setting up the settings is something I can easily do.

4 - get a faster computer

So… What started this adventure was a friend of mine giving me an old server he didn’t want (more accurately, his wife didn’t want in the house lol). It is a Dell PowerEdge T610 with dual Xeon CPUs and 40GB or RAM. I can’t seem to get it working (doesn’t recognize the HDD, but that’s not your problem). If I could get it working, would that be a better option?

Again, thank you for all the help and effort. Let me know if you guys have a donation option somewhere. I can’t donate a lot (about $10 maybe) but I want to show my appreciation for your support!

How can I test to see if hardware encoding is working?

Enable “use hardware acceleration when available” in Transcoder, play a file that will require a transcode, watch the dashboard and click to see details: If it’s using hardware, it’ll show (hw) for the transcode entry.

See the github instructions on how to make sure /dev/dri is visible on FreeBSD and in the jail. That plus plex being part of the video group are required for hw transcode on FreeNAS/TrueNAS/FreeBSD.

Either will do. With Plex’s option, it keeps the original and places the new as an “optimized version”. Newer Plex clients can automatically request the “optimized version” so it should playback without transcoding in most cases. Keep in mind that with Plex, there are very few options you can set. If you like controlling the output, you’ll need to do it outside of Plex, with something like Handbrake.

The client, or Plex app, you use has different capabilities. For example, Plex Web which runs on a web browser supports very few video formats (codecs). Plex for Windows/Mac is the opposite and supports most formats and won’t need transcoding. Of course there are always exceptions.

Your original post and your logs show you have an i5-4670k. I don’t believe that is a Xeon chip. If it is, that could explain why hardware transcoding doesn’t work. Many Xeon chips do not include Quick Sync capabilities.

We don’t, but you could buy some Plex gear. Plex Store

Thanks! I’ll give it a shot

Either will do. With Plex’s option, it keeps the original and places the new as an “optimized version”. Newer Plex clients can automatically request the “optimized version” so it should playback without transcoding in most cases. Keep in mind that with Plex, there are very few options you can set. If you like controlling the output, you’ll need to do it outside of Plex, with something like Handbrake.

Using the web client, how do I tell my machine to play the optimized version? Also, if it keeps both version, I assume that means it uses up more storage, correct?

he client, or Plex app, you use has different capabilities. For example, Plex Web which runs on a web browser supports very few video formats (codecs). Plex for Windows/Mac is the opposite and supports most formats and won’t need transcoding. Of course there are always exceptions.

This could be why my phone is able to play videos without issues? Cause the Android App has a wider support for codecs so it doesn’t transcode?

he client, or Plex app, you use has different capabilities. For example, Plex Web which runs on a web browser supports very few video formats (codecs). Plex for Windows/Mac is the opposite and supports most formats and won’t need transcoding. Of course there are always exceptions.

I think I confused you sorry. Yes, I’m currently using an i5 4Gen CPU. I was saying that I might have access to a Dell PowerEdge and was asking if you believe that will be the better hardware you were talking about.

If I use that Dell server for FreeNAS. I reformat this i5 machine with Ubuntu and install Plex on it. Is it possible to have Plex still use the storage on the NAS even though they would be separate machines? The actual Plex Server, and where the video data lives being separate that is

We don’t, but you could buy some Plex gear. Plex Store

Well, I’ll take a look at your Merch :smiley:

P.S. - I just tried to use the optimize feature in Plex. I took a 30Mbps 1080p video and it got it down to 12Mbps still at 1080p. The optimized video played without issues and buffered really fast, but when I tested the original file transcoded to 10Mbps on the fly, it also managed to keep up… What’s the deal? Why did the transcoding work this time?

Just as a general note: It is always preferable not to transcode on the fly at all, and the Optimize feature is great for that. Hw transcode is a fun feature, but not universally reliable enough for every-file use … at least not in my testing.

Yes.

Yes.

As I said, the Xeon may not have quick sync so it wouldn’t do hardware transcoding either. Youd have to check that specific cpu to see how it compares in cpu power to your current setup.

Yup. You can use network drives to store your media. Just don’t store your Plex appdata on it. I run Plex of a Windows computer and have my media on a WD NAS.

This is 30 → 10. In your previous test that file was 80 → 10. Keep in mind that the source matters too, not just the output.

The way I want to use this, on-the-fly transcoding seems to be the only option as transcoding a 24GB file to watch it could be a lot wait.

That being said, this is making me, rethink the way I would use to Plex Server. Also, most of the people using the system would have 100Mbps or more, so they wouldn’t need to transcode, even the larger files.

I understand this system a lot more now, and can see its limitations (not in a bad way, just in a realistic way). I didn’t understand what Plex was doing behind the scenes so my expectations were un-realistic sadly.

Thanks for all the info. I’m still gonna see about attempting HW transcoding just to have, but if that doesn’t work, I probably don’t need the Plex Pass huh?

You have taught me a lot! Thank you so so much for baring with me and explaining everything to me like I’m 5… Hopefully this info can allow me to help others on the Discord server too.

If I understand the situation correctly, the issue here is the server running out of processing power to transcode the video in real time. If someone were to watch the video in the original quality, that wouldn’t require the machine to transcode allowing the stream to work (given a sufficient internet speed?). Does that also mean I could have multiple people streaming at the same time?

Could you explain what this means?

This is 30 → 10. In your previous test that file was 80 → 10. Keep in mind that the source matters too, not just the output.

Does that mean that the larger the difference between that original bitrate and the target bitrate, the harder the encoding needs to work? I felt like transcoding to 720p at 4Mbps usually works even if the original file is 80Mbps

Transcoding is a 2 step process. 1 - read the original and decode the video. 2 - encode the video into something new. Both of these take processing power. So having a large source file will affect the overall transcoding ability. For example, decoding and encoding hevc takes about 4x the processing power compared to h264. So transcoding hevc to h264 could be a slow decode while the encode part is fast.