How does Direct play really work?



today I have tried to get my movies (mp4 - H264) to play in direct play mode on my ATV4.
It does work but it is buffering because my wireless network is to slow. I can see on my media server that the network traffic is rising above 20mbit/s when playing movies. The strange thing is that the movie has a bitrate of 5036 kbit/s so why is plex media server outputting over 20mbit/s to my ATV4?

If i set transcode to 1920x1280 (8Mbps) on my ATV4 everything works fine.

Tried sam things on my iPhone7 and the result is exactly the same.

Just curious on how direct play really works/functions!?


5036 kbit/s is the average of the movie and not the max, right? If this is the case, you have your answer.


^^ Correct. The bitrate reported for a video is the average. There can be peaks that go well over this value. Plex will analyze your file and identify these peaks. Prior to this analysis, PMS assumes a value of x2 so your 5000 kbps will be treated as 10 Mbps. When you set the quality to 8 Mbps, this triggers the video to get transcoded. PMS will smooth out the peaks so you don’t get these spikes in your video.


Ok. I understand that. But, when I rent movies on ATV4 in the Moives app it always works!
We rent a lot of movies to my kids and they never buffer. And the movies I try to stream should be equal in quality to them. But I will do a test and use Handbrake to encode the movies in different quality to see what happens. I will also try “old” dvd rips to see the bandwidth usage.
I still think it is a little strange that a kids movie in 1080p movie (3.2GB) would top over 25-30mbit/s that often - if that would be the case then the file would need to be a lot bigger.


What I can read from Apple, it recommends 8MBit/s for 1080 content and when watching that same type of content it peaks over 25MBit/s using direct play from plex server. I think that is a bit strange!? Any one who can explain why it is like that?


Hi, back again after more investigating on my movies… @MovieFan.Plex thanx for your answer. Can you explain further so I understand why my set up doesn’t work?

I have used VLC to run the movie locally to find out what bitrate that is actually using…

And from what I can understande the video bitrate is at max rate at 12000-13000 kb/s (12-13mb/s) often much lower. So why when I try to using direct play on atv4 with the same file is my bandwidth of 25mb/s not enough?

It’s tricky, tricky, tricky tricky =)


When you are direct playing a file, PMS is not streaming the file live. It send as much of the file as the ATV can buffer so the transfer rate can be much higher than the video itself. However, this shouldn’t be constant. As the buffer gets full, PMS will pause the transfer until the ATV is ready to receive more. If you are seeing high transfer rates, that’s actually a good thing.

The buffering you are seeing might not be related. There are other things that can cause buffering. If you can recreate the problem, then provide me the log from the ATV, the log from your PMS, and the XML for the movie you tried to play, I can investigate what is going on.


Hi, ok interesting!
Here are my logs.
You should be able to find my ATV4 log under my username FRODY75.
I watched about 4min into the movie and it buffered several times.
Please get back to me if you need more info.


I don’t have access to the ATV logs. Those go straight to the devs.

Looking at your PMS logs, I do see the problem. Something in interfering with the connection between your server and the ATV. The file is direct playing so PMS is just sending the file as is. It is happily going along at about 16 Mbps, then it hits a glitch and it slows down to 1-2 Mbps or less. Unfortunately I can’t tell if the glitch is Plex related or network related.


Ok, strange!
I did the same thing (same movie) but used my iphone so that you can read the logs from my iphone - maybe then you can se why it is buffering…


Did another test…
I tried streaming the same movie using VLC on my computer from the network share…
It worked and if I checked network traffic on my plex server it NEVER went above 16Mbps.
As I said before when watching a the same movie in plex on ATV4 or iPhone I can see that the network traffic is above 30Mbps.
This is really strange.


I’m not sure what’s going on but looking at your logs, the app is reporting that it is not getting enough data from the server. This could be the server end, the client end, or your network.

If it’s a PMS issue, there are a few updates that you are behind, so maybe there is already a fix. I would suggest installing the latest Beta version and see if that helps.


More tests…
So I searched some more in the forums and found out that users having m4vgear are experiencing the same problems I have. So I used handbrake to recode the same movie once again. Now I could see some difference. When looking at the “position marker” you can see that the m4vgear doesn’t build upp a “buffer” like the handbrake does.
Any idea why this is?


I don’t think the issue is that it’s not creating a buffer, my guess is that the app is having trouble with the file itself so while playing, it is pausing your entire device and it is too busy recovering from the error to continue transferring the file. It just isn’t able to retrieve the data from the server due to the error. Can you use m4vgear and create a shorter sample, 1-2 minutes and see if that file gives issues? If it does share that sample with me. If the sample doesn’t exhibit the problem, we’ll need the original file to test.