Apple TV 4K failing to play media (bandwidth local LAN)

My Plex client on Apple TV 4K is telling me that it does not have enough bandwidth to play back many of my files. My entire network is gigabit and wired between all components. I’ve verified that my server is negotiating at gigabit speeds as well.

I have attached the logs. They are in verbose mode because the debug mode was not giving me enough details. However, to keep the logs small, I stopped the server, cleared the log, started the server, tested my use case, stopped the server and archived the log. So it is scoped to specifically my issue.

Plex server: Version 1.11.0.4633
Apple TV on latest update and Plex client on latest as of the date of this posting.

Server details
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial

So. By setting the client to 20mbps instead of Maximum, it seems to work. When I go into the server, it says it is playing via Direct Play, which is good. It’s just confusing as to why this would be an issue when set to Maximum.

I find it both remarkable and disappointing that NOBODY, not even PLEX, has responded to your request for help. I am having same problem also, and have been watching this thread for an answer.

I am still having sporadic buffering issues to the point its frequent enough to be unusable a lot. I have even gone so far as to upgrade my home network switches to smart managed switches and setting port bandwidth priorities to the appropriate ports and the Plex client is still not playing smoothly. However, if I use the Firecore Infuse Pro 5x client, I get buttery smooth playback. However, the Firecore client will not allow me to track per use Watched/Un-watched values. They are talking about building in Plex support in the the upcoming months. If they do that and support multi-user, I may not ever go back to the Plex native client on the ATV4K if this issue is not resolved.

Keep in mind that Infuse and Plex client are running on the exact same Apple TV.

@kauffman214 said:
I use the Firecore Infuse Pro 5x client, I get buttery smooth playback.

Can you tell me where to get info/app to set this up? I’d like to try it.

You just need to go to App Store on Apple TV and install Infuse. Search for it. Firecore are the people that make it. It is not free for the Pro version, but it is extremely reliable. Unfortunately, it does not have multiperson management and does some funky things inside Plex when it does discovery - marking things as “on deck” in Plex because of how it handles metadata discovery. I need something that I can track when family members see a show/movie - which infuse can not do. However, if you are looking for solid playback regardless of multi-user, I have no problems with it. I use the DLNA connection from Plex for it to work.

DLNA connection? How do u do that?

@kauffman214 said:
So. By setting the client to 20mbps instead of Maximum, it seems to work. When I go into the server, it says it is playing via Direct Play, which is good. It’s just confusing as to why this would be an issue when set to Maximum.

Are you playing back 1080p content or 4K? Based on what you said about setting the stream down to 20mbps, it sounds like you’re playing 1080p. Just asking, because I’m running into the same issue. 4K doesn’t play at all and I have my AppleTV 4Ks on a wired gigabit network. Seems like 4K won’t run unless it’s Direct Play only (which my Samsung TVs will do, but not AppleTV 4K). And throttling it down to 20mbps is only for 1080p content.

ok, did some further self learning and realized MKV and MP4 are only containers that hold your video, audio and subtitle streams. That being said, it seems that Apple isn’t a big fan of MKVs and prefers the MP4 container.

As others probably prefer, the last thing we want to do is convert our lossless MKV files using tools like Handbrake. I saw different threads discuss ffmpeg as a command line tool which could simply “rewrap” an MKV file into an MP4 without any conversion. This is where I hit my roadblock.

All my UHD MKVs have a TrueHD audio track and apparently ffmpeg isn’t capable of handling that stream. So I’m right back where I started. I have to use my Samsung TV’s native Plex app to play my 4K MKVs. But for movies like Assassin’s Creed (which need subtitles to be enabled), it’s a lost cause. As soon as I select a subtitle (which is important to me) or the TrueHD 7.1 audio channel (which isn’t important for me), the buffering and stuttering begins.

So here’s the million dollar question:

Is it possible to play 4K UHD MKVs using Direct Play with TrueHD 7.1 audio and subtitles? Or at least with just subtitles?

@sharpie00 said:
So here’s the million dollar question:

Is it possible to play 4K UHD MKVs using Direct Play with TrueHD 7.1 audio and subtitles? Or at least with just subtitles?

This comment explains what is required for 4k direct play to the Apple TV. See here: forums.plex.tv/discussion/comment/1561042/#Comment_1561042

I use ffmpeg to convert any mkv files to mp4. I normally just copy the video stream without converting it and convert audio streams to ac3. Subs can be copied over too (only any use if they are in the correct format) I only ever convert the video (using Handbrake) if the original bitrate is above 25 Mb/s as anything over this seems to cause buffering.

@chriskeens said:
I use ffmpeg to convert any mkv files to mp4. I normally just copy the video stream without converting it and convert audio streams to ac3. Subs can be copied over too (only any use if they are in the correct format) I only ever convert the video (using Handbrake) if the original bitrate is above 25 Mb/s as anything over this seems to cause buffering.

I’m not very good with ffmpeg, but did do my due diligence in trying to find the terminal syntax to change the mkv container to mp4. The issue I ran into is all my UHD MKVs have a TrueHD 7.1 audio channel (in addition to the AC3 5.1 channel) and ffmpeg didn’t seem to like it, so that’s where I stopped. I ended up deleting ffmpeg because I don’t think I had the necessary libraries to make this work.

Would you be able to provide me with a step by step on how to change container from MKV to MP4 using ffmpeg? If possible, please include a download link to a .dmg packaged file of ffmpeg as I don’t know how to compile the binary. I’m also on a Mac.

Thanks chriskeens.

It’s funny you say that because my xbox one x in the house is running fine, while my apple tv is buffering quite abit (same 5ghz) connection with a powerful netgear x10 router. I love the apple tv’s, but I thought it was just me.

Apple TV is 100mbit. Many 4k remuxes hit over 100mbit. I have quite a few 4k HDR files that are 150mbit. I’ve been saying for awhile now Roku etc need to move to Gigabit chips. But they wont.

I am thinking of switching from the Roku 4 to an nVidia Shield. People say it handles anything you throw at it. It has like 25x the computing power and a gigabit link. I think I’ll get it when I switch from my VT60 to something OLED 4k this year.

@sharpie00 said:

@chriskeens said:
I use ffmpeg to convert any mkv files to mp4. I normally just copy the video stream without converting it and convert audio streams to ac3. Subs can be copied over too (only any use if they are in the correct format) I only ever convert the video (using Handbrake) if the original bitrate is above 25 Mb/s as anything over this seems to cause buffering.

I’m not very good with ffmpeg, but did do my due diligence in trying to find the terminal syntax to change the mkv container to mp4. The issue I ran into is all my UHD MKVs have a TrueHD 7.1 audio channel (in addition to the AC3 5.1 channel) and ffmpeg didn’t seem to like it, so that’s where I stopped. I ended up deleting ffmpeg because I don’t think I had the necessary libraries to make this work.

Would you be able to provide me with a step by step on how to change container from MKV to MP4 using ffmpeg? If possible, please include a download link to a .dmg packaged file of ffmpeg as I don’t know how to compile the binary. I’m also on a Mac.

Thanks chriskeens.

downloads of ffmpeg are here (under each big green box is a ‘Download as DMG’ option) static FFmpeg binaries for macOS 64-bit

usage of it is pretty simple really. You just need to get your head around the basic commands:
-c … this specifies the codec streams (-c is all -c:v is video -c:a is audio -c:s is subs)
you follow this with what you want to happen to the streams, so…
-c copy … this will copy both video and audio (and possibly subs) without converting anything
-c:v copy would just copy the video stream and you would need to specify the other streams separately
to convert audio to ac3 you would use … -c:a ac3

The following will just copy the streams and put them in an mp4…
ffmpeg -i file.mkv -c copy file.mp4

To copy the video but convert the audio to ac3 would be…
ffmpeg -i file.mkv -c:v copy -c:a ac3 file.mp4

These commands will only copy or convert the first audio stream and so any others will be left out. If you have multiple audio streams or want to use a stream that is not the first you will need to use mapping …
If you have a file with 2 audio streams, whit the 2nd being an ac3 stream that you want to use you can tell ffmpeg to just copy that stream instead (streams begin numbering at 0 so the 2nd stream would be 1)
ffmpeg -i file.mkv -map 0:v:0 -map 0:a:1 -c copy file.mp4
Another way would be to use MKVToolNix to remove any unwanted streams first so that ffmpeg is only dealing with the first stream.

Also, if the video codec is HEVC/x265 then add -tag:v hvc1 to make sure its compatible with the Apple TV

If you have anymore questions just PM me

@chriskeens said:

If you have anymore questions just PM me

Thanks chriskeens. Your explanation was perfect. I was able to successfully convert one of my MKVs into mp4 and here are my findings:

  1. AppleTV 4K still has trouble playing 4K mp4 content. Even through Direct Play (both audio and video), it would give me buffering issues. Everything is connected via gigabit, so I don’t see how bandwidth could be the problem.

  2. Subtitles are also causing additional overhead. I even downloaded .srt files from opensubtitles.org and put them into the MKV container prior to converting to mp4.

For the time being, it looks like I’m going back to square one. Direct Play works great through the Samsung Plex app; I just can’t use subtitles.

Thanks again for all your help.

@sharpie00 said:

@chriskeens said:

If you have anymore questions just PM me

Thanks chriskeens. Your explanation was perfect. I was able to successfully convert one of my MKVs into mp4 and here are my findings:

  1. AppleTV 4K still has trouble playing 4K mp4 content. Even through Direct Play (both audio and video), it would give me buffering issues. Everything is connected via gigabit, so I don’t see how bandwidth could be the problem.

  2. Subtitles are also causing additional overhead. I even downloaded .srt files from opensubtitles.org and put them into the MKV container prior to converting to mp4.

For the time being, it looks like I’m going back to square one. Direct Play works great through the Samsung Plex app; I just can’t use subtitles.

Thanks again for all your help.

If it is still buffering then the video bitrate is probably too high (assuming your network isn’t slowing things down). I cant get anything above 25 Mb/s to play without buffering (using Gigabit Ethernet throughout). Any movies I had that were over 25 Mb/s, I have used Handbrake to encode with a lower bitrate.

As for subtitles… I only use ‘forced’ for foreign audio in English movies. I don’t know too much about how the subs work but whenever I tried with them it caused Plex to transcode. I have since used Handbrake to encode with the ‘forced’ subs hard coded so it then doesn’t actually use a separate subtitle file.

@chriskeens said:
If it is still buffering then the video bitrate is probably too high (assuming your network isn’t slowing things down). I cant get anything above 25 Mb/s to play without buffering (using Gigabit Ethernet throughout). Any movies I had that were over 25 Mb/s, I have used Handbrake to encode with a lower bitrate.

As for subtitles… I only use ‘forced’ for foreign audio in English movies. I don’t know too much about how the subs work but whenever I tried with them it caused Plex to transcode. I have since used Handbrake to encode with the ‘forced’ subs hard coded so it then doesn’t actually use a separate subtitle file.

Excellent point. And that’s where my dilemma is. If I were to compress the video with a lower bitrate using handbrake, I lose my lossless quality I’ve maintained with my entire library. :wink:

I read PGS subs within the disc are just images and not text. So that will always cause transcoding. But SRTs are actually text files that can be edited with Textpad and will allow direct play. This holds true because with subs enabled (after I replaced the PGS with an SRT file), I saw the streams continued with direct play.

But as you said, it’s probably the bitrate of 4K that’s too high. Just out of curiosity, do you know the bitrate of 1080p vs 4K? My 1080p Blu-rays play just fine at original quality with PGS subs enabled.

Thanks again for the insight.

@sharpie00 said:
But as you said, it’s probably the bitrate of 4K that’s too high. Just out of curiosity, do you know the bitrate of 1080p vs 4K? My 1080p Blu-rays play just fine at original quality with PGS subs enabled.

The bitrate will depend on how it was set when encoded. You can check in Plex to find the bitrate of the movie…