A file can sit in your library, play in the Plex app, and still look wrong on the television. Colors go gray and flat. A slow pan turns into a slideshow. The audio drifts half a second behind the mouth. Captions you know are in the file never show up.
The fastest way out of that is to stop guessing about the file and read what it actually contains. Plex already knows. Open the item in Plex Web, choose Get Info, and click the XML link at the bottom of that window. Save the page, then email it to support@bunnyearstv.com with a sentence about what you saw and which device you saw it on.
That one file tells me the container, video codec and profile, color information, audio codecs and channel counts, subtitle streams, bitrate, and frame rate for the exact item that misbehaved. Without it, I am reading a description of a problem. With it, I am reading the problem.
I built Bunny Ears TV, the Plex channel app for Apple TV, iPhone, and iPad. This is how I actually debug playback reports, so the steps below are the ones I would ask you to follow anyway.
Why a Supported Plex File Can Still Play Badly
"Supported" is a shorter word than what it describes. Plex's own media formats guide puts it plainly: your content is much more than its file extension. A single video carries a container, a video codec, an encoding profile and level, a bit depth, color primaries and transfer characteristics, a frame rate, one or more audio tracks with their own codecs and channel layouts, and sometimes several subtitle streams in different formats.
Playback is a negotiation between all of that, the app, the display, and the network route. Change any one participant and the answer changes. That is why the same music video can look correct on your iPad and washed out on the living room television, or why one episode in a season judders while the other nine are fine.
So the useful question is rarely "does Plex support MKV." It is "what is inside this specific file, and which part of it did the current setup refuse to handle."
Start With the Symptom
Before you send anything, note which row you are in. It changes what I look for first.
| What you see | Where the answer usually lives |
|---|---|
| Washed out, gray, or overly dark picture | Color and HDR metadata, tone mapping, display settings |
| Neon or oversaturated picture | Color primaries or transfer tags that do not match the encode |
| Judder on pans, periodic hitching | Frame rate mismatch, variable frame rate source, interlaced content |
| Constant stutter on one title only | Bitrate, codec profile, or a struggling transcode |
| Stutter that starts after 30 minutes | Apple TV heat, network congestion, or server load |
| No audio at all | Audio codec or channel layout the current output cannot take |
| Audio out of sync | Container timestamps, variable frame rate, or audio delay in the file |
| One video far louder than the next | Source loudness differences between encodes |
| Captions missing entirely | Subtitle stream format, or captions embedded in the video stream |
| Captions appear in Plex but not elsewhere | Burn-in behavior and subtitle compatibility |
None of those rows are a diagnosis. They are a starting point, and the XML narrows it fast.
Colors Look Washed Out, Gray, or Too Dark
This is the most common report I get, and it is almost always about HDR.
An HDR file carries metadata describing how its brightness and color should be interpreted. When that file reaches a display path that cannot show HDR, something has to convert it. Plex can perform HDR to SDR tone mapping on the server during a transcode, and the result varies with the server, the settings, and the source. When no tone mapping happens and HDR data is shown as if it were standard range, the picture reads as gray and lifeless.
The reverse also happens. A file tagged as HDR that was never actually graded for HDR can look strange on a capable television, because the display is being told to treat ordinary content as high dynamic range.
In the XML, I look at the video stream for the color primaries, the transfer characteristics, the color range, the bit depth, and the presence of Dolby Vision or HDR10 information. Those five values usually explain the picture.
On your side, three checks are worth doing before you write to me:
- Play the same file on an iPhone or iPad. If it looks correct there and wrong on Apple TV, the file is probably fine and the display path is the variable.
- In Bunny Ears TV, open Settings > Playback > Video & Display > High Dynamic Range and try the opposite of your current choice. On locks the output, Match Content follows the source, Off forces SDR.
- Confirm your Apple TV's own Match Content settings. Apple documents the behavior, including the brief blank screen while formats change, in its Match Content guide.
The best Plex settings for Apple TV 4K post covers those controls in more depth. If the color is still wrong after all three, that is exactly when the XML earns its keep.
The Picture Stutters, Judders, or Drops Frames
Stutter has more causes than color, so the pattern matters more than the symptom.
Judder on camera pans, otherwise smooth. This usually means the video's frame rate does not divide evenly into the display's refresh rate. A 23.976 fps film shown at 60 Hz has to repeat frames unevenly. The XML gives me the exact frame rate, which is often something less tidy than the number people expect.
Hitching every few seconds on one title. Look at bitrate and codec profile. A very high bitrate 4K file over marginal Wi-Fi behaves differently from the same title on Ethernet. A high profile or level encode can also push a client harder than a routine one.
Combing lines or a shimmer on horizontal edges. That points to interlaced source material, which needs deinterlacing somewhere. Older concert footage and broadcast recordings are frequent offenders.
Playback that begins fine and degrades after half an hour. That is rarely the file. Apple TV can throttle when it gets warm during long 4K HDR sessions, and a Plex server transcoding several streams at once will run out of headroom eventually. Check the Plex Dashboard while it is happening and note whether the session says Direct Play, Direct Stream, or Transcode.
That Dashboard reading is genuinely useful to include in your email. A file that stutters while Direct Playing is a different investigation from one that stutters while the server is converting it in real time.
Audio Is Missing, Late, or Too Quiet
Audio problems split into three groups, and they need different evidence.
No sound. The audio codec or channel layout is not surviving the trip. A 7.1 TrueHD or DTS-HD track has a very different path than a stereo AAC track, and receivers, soundbars, and HDMI ARC setups all have opinions. If a file offers more than one audio track, switch to a stereo or AC-3 track as a test. If sound returns, the format was the issue and the XML will show exactly which one you were on.
Out of sync. When the drift is constant from the first second, it usually comes from the file: a container with an audio delay baked in, or timestamps that do not line up. When the drift grows over the course of a program, variable frame rate video is a strong suspect, and the XML will often reveal a frame rate that reads as an average rather than a fixed value. When it only happens over Bluetooth or a wireless speaker, the file is likely innocent.
Volume that jumps between programs. This is the one nobody expects to be a file problem, and it usually is. A 1985 video ripped from tape and a 2023 release mastered loud will not sit at the same level, and neither will a movie with a wide dynamic range next to a compressed television episode. There is no metadata fix for a quiet master. Knowing that the two files genuinely differ at least stops you from hunting for a setting that does not exist.
Closed Captions and Subtitles Do Not Appear
Two different things get called captions, and confusing them wastes a lot of time.
Subtitle streams are separate tracks, either inside the container or sitting beside the video as a sidecar file. SRT is the widely compatible text format. PGS and VOBSUB are image based, which means a client that cannot render them needs the server to burn them into the picture, and burning requires a full video transcode. Plex covers this in its subtitle troubleshooting guide.
Embedded closed captions live inside the video stream itself, in the EIA-608 and EIA-708 formats used by North American broadcast. They are not a separate track in the usual sense. Support for them varies by player, and a file that shows captions in one app and nothing in another is often carrying this kind.
The XML settles which one you have in a few seconds, because every subtitle stream is listed with its codec and language. If there is no subtitle stream at all, the captions you remember may be burned into the picture of a different copy of that title.
Two quick checks before you write:
- If sidecar subtitles are not being picked up at all, confirm the subtitle file sits in the same folder as the video with a matching filename. Plex relies on that convention.
- If captions work in some apps and not others, note which apps, and include that in the email. That comparison is a real data point.
Music Video Channels Expose These Problems First
If you run a Plex music video channel, you meet all of this sooner than anyone else, and it is worth explaining why.
A movie library is fairly uniform. A music video collection is not. A single hour on Music Video Mixtapes, channel 19 in Bunny Ears TV, might play a 4:3 SDR clip captured from television in 1988, a widescreen PAL video at 25 fps, a 1080p H.264 rip, and a 4K HDR release from last year. Each of those has different color tagging, a different frame rate, a different audio master, and a different loudness.
A movie app makes one playback decision and then leaves the display alone for two hours. A music video channel makes a new decision every three minutes. Every mismatch that a movie library hides behind long runtimes gets repeated twenty times an hour.
That is why the same person can watch films on Plex for a year without complaint, build an MTV-style Plex channel from a music video playlist, and suddenly find four playback issues in one evening. The channel did not create them. It just stopped letting them hide.
The practical approach for a Plex music video playlist is the same one a real station used: normalize what you can, and accept the rest. Lock the refresh rate to whatever matches most of the collection rather than letting the display renegotiate between every video. Lock HDR rather than matching each source. Then, when a specific video still misbehaves, send me the XML for that video rather than for the channel.
The Plex music video channel setup guide covers the programming side, including artist spacing and Song IDs. This article is the playback side of the same channel.
How to Get the Media Info XML From Plex
This is the part that makes everything above actionable. Plex documents it in Investigate Media Information and Formats, and the steps take about a minute.
Do this from the Plex Web App on a computer. The Apple TV app cannot produce the XML.
1. Open the item's details page
Sign in to Plex Web and browse to the specific item that had the problem. Not the show, not the album, and not the channel. The individual episode, movie, or music video.
2. Open Get Info
Use the Get Info action in the top action bar. You can also reach it from the ... context menu on a poster in your library.
3. Read the window before you send it
The Media Info window shows the path and filename at the top, then Media and Part sections with general information, and Video on the right with details about the video stream. Scroll down for Audio and Subtitle streams, and for additional parts if the item has more than one.
Take fifteen seconds here. You may spot the answer yourself, especially if a title you assumed was 1080p turns out to be a 480p copy, or if the subtitle stream you were looking for is not listed.
4. Click the XML link
At the bottom of the Media Info window is an XML link. Click it. A new browser page opens with the full XML for that item.
If the page looks blank, the browser is likely rendering the XML rather than displaying it. Right-click and choose View Source. In Safari, first enable the Develop menu under Settings > Advanced, then use the source view.
5. Save the page
Save that page to your computer, or select all of the text and paste it into the email. Either works. The file is plain text and small.
Plex also notes that the information shown in Plex Web is the actual information the server is using, so it is the authoritative version for anything Plex related. The separate MediaInfo application can be useful for inspecting files before they are added to a library, but it analyzes media differently and the two do not always agree.
What to Send to support@bunnyearstv.com
Send it to support@bunnyearstv.com. The XML alone is helpful. The XML with four lines of context is much better. Include:
- The XML for the specific item, saved or pasted.
- What you saw and when. "Gray, flat picture for the whole video" is more useful than "looks bad." If it happened at a particular moment, say so.
- The device and app version. Apple TV 4K, iPhone, or iPad, plus the Bunny Ears TV version.
- Where else you tried it. If the same file plays correctly in the official Plex app or on a different device, that tells me a great deal.
- The channel, if relevant. Channel 19, a custom channel, a Radio station, or ordinary playback.
- The Plex Dashboard reading if you were able to check it: Direct Play, Direct Stream, or Transcode.
One item per email keeps things clear. If five titles are affected, pick the one that fails most reliably and start there. A pattern found in one file usually explains the other four.
What the XML Can and Cannot Tell Me
I would rather be straight about the limits than have you send a file and wonder why nothing changed.
The XML reliably tells me what the file is. It shows codecs, profiles, frame rates, color data, audio layouts, subtitle streams, and bitrates, which is enough to explain most format-related failures and to say whether a symptom is a file problem, a settings problem, or a Bunny Ears TV problem.
It does not tell me what your network was doing, how warm the Apple TV was, how loaded the server was at that moment, or what your television did with the signal after it left the app. It also cannot fix a file. If a video was encoded with wrong color tags or transferred from a tape with the audio drifting, the honest answer is that the source needs to be replaced or re-encoded, and I will tell you that rather than send you on a settings hunt.
When the cause turns out to be something in my app, the XML is what lets me reproduce it. That is the outcome I am hoping for every time one arrives.
Common Questions
Where is the XML link in Plex?
At the bottom of the Media Info window, which you open with Get Info on a library item's details page in the Plex Web App. The mobile and Apple TV apps do not offer it.
Why does my Plex video look washed out on Apple TV?
Most often an HDR file is reaching a display path that is showing it as standard range without tone mapping, or a file is tagged HDR without having been graded for it. Test the same file on an iPhone or iPad, then try the opposite High Dynamic Range setting in Bunny Ears TV.
Why does Plex stutter on some files but not others?
Because stutter is usually about a specific mismatch: frame rate against refresh rate, bitrate against network, or a codec profile against the client. A file that stutters while Direct Playing and one that stutters during a transcode have different causes, which is why the Dashboard reading is worth capturing.
My subtitles show in the Plex app but not in Bunny Ears TV. Why?
Check the subtitle format in the XML first. Text formats such as SRT are the most portable. Image-based formats such as PGS and VOBSUB often need to be burned into the picture, and clients handle that differently. Embedded EIA-608 and EIA-708 captions inside the video stream are a separate case again.
Do I need the XML for every problem?
No. If every file on every device has the same issue, it is a settings or network question and the XML will not add much. Send it when one title, one channel, or one group of files behaves differently from the rest.
Can Bunny Ears TV fix a bad file?
No, and neither can Plex. The app plays what the server delivers. What the XML can do is tell you quickly whether you are troubleshooting an app, a setting, or a copy of a video that needs replacing.
A television station engineer never guessed at a bad feed. They looked at what was actually coming down the line. The Get Info window is the closest thing your Plex server has to that, and it is two clicks away.
