This repository contains optimized Plex client profiles for Apple TV 4K / tvOS and modern iOS/iPadOS clients.
The tvOS profile enables:
- Direct Play of H.264, HEVC, and AV1 video up to 3840x2160 at 60 fps
- HEVC HDR/Dolby Vision, HDR10+, HDR10, and HLG passthrough where Plex reports compatible metadata
- AV1 hardware-accelerated decode (tvOS 27, Apple TV 4K 3rd Gen)
- Legacy MPEG-4 Simple Profile support within Apple TV limits
- AAC/HE-AAC, MP3, ALAC, FLAC, AIFF, WAV, AC3 5.1, and EAC3 7.1/Atmos audio support
- HEIF, JPEG, GIF, and TIFF photo direct play
HDMI Quick Media Switching and cinematic aspect-ratio handling are Apple TV display/playback features, not Plex client profile codec rules.
The iOS profile enables:
- Direct Play of H.264 High Profile and HEVC Main 10 video up to 3840x2160 at 60 fps
- AV1 hardware-accelerated decode (iOS 27, iPhone 17/18-class devices)
- MPEG-4 Simple Profile support within Apple legacy limits
- Apple ProRes direct play for supported Pro devices
- AAC/HE-AAC, MP3, ALAC (up to 24-bit/192 kHz), FLAC, Linear PCM, AC3, and EAC3 audio support
- MP4/M4V/MOV/3GP video containers
- MP3/M4A/WAV/AIFF/AU/CAF/FLAC audio containers
- HEIF/HEIC, JPEG, PNG, GIF, and TIFF image direct play
Protected AAC, MV-HEVC spatial video metadata, and Dolby Atmos spatial behavior depend on Apple frameworks, device support, app support, and source DRM. The profile advertises compatible codec/container paths but cannot force DRM playback or device-specific spatial rendering.
This can also resolve issue where Plex reports "Your connection to the server is not fast enough..." on connections which are more than fast enough for the content.
tvOS.xml– Updated Plex profile for Apple TV / tvOS clients.iOS.xml– Updated Plex profile for iPhone / iPad / iOS clients.install.sh– Installer that downloads, validates, backs up, installs, and restarts Plex.
Below are platform-specific instructions to replace your current tvOS profile.
Run this on the Plex server:
curl -fsSL https://raw.githubusercontent.com/GeekStewie/tvOS-Profile-Plex/main/install.sh | sudo bashThe installer downloads the latest tvOS.xml, locates the current Plex tvOS.xml, validates the download, backs up the existing profile, installs the replacement, and restarts Plex Media Server.
To verify the installed tvOS profile:
grep -nE 'hevc|av1|mpeg4|heif|tiff|flac|alac' /usr/lib/plexmediaserver/Resources/Profiles/tvOS.xmlRun this on the Plex server:
curl -fsSL https://raw.githubusercontent.com/GeekStewie/tvOS-Profile-Plex/main/install.sh | sudo env PROFILE_NAME=iOS bashThe installer downloads the latest iOS.xml, locates the current Plex iOS.xml, validates the download, backs up the existing profile, installs the replacement, and restarts Plex Media Server.
To verify the installed iOS profile:
grep -nE 'hevc|av1|mpeg4|prores|heif|tiff|flac|alac|aiff|wav|caf' /usr/lib/plexmediaserver/Resources/Profiles/iOS.xmlIf Plex is installed in a non-standard location, pass the target path explicitly:
curl -fsSL https://raw.githubusercontent.com/GeekStewie/tvOS-Profile-Plex/main/install.sh | sudo env PROFILE_PATH=/path/to/tvOS.xml bashFor iOS in a non-standard location:
curl -fsSL https://raw.githubusercontent.com/GeekStewie/tvOS-Profile-Plex/main/install.sh | sudo env PROFILE_NAME=iOS PROFILE_PATH=/path/to/iOS.xml bash-
Stop Plex Media Server:
sudo systemctl stop plexmediaserver
-
Backup Original File
sudo cp /usr/lib/plexmediaserver/Resources/Profiles/tvOS.xml /usr/lib/plexmediaserver/Resources/Profiles/tvOS.xml.bak
-
Copy New File
sudo cp tvOS.xml /usr/lib/plexmediaserver/Resources/Profiles/tvOS.xml
-
Correct Permissions
sudo chmod 644 /usr/lib/plexmediaserver/Resources/Profiles/tvOS.xml
-
Restart Plex Media Server
sudo systemctl start plexmediaserver