AVPlayer
AVPlayer is Apple's native media playback class, part of the AVFoundation framework, used to play audio and video in iOS, iPadOS, macOS and tvOS apps. AVPlayer plays HLS streams natively, including low-latency HLS and FairPlay DRM. Developers combine it with AVPlayerViewController or custom views to add controls, picture-in-picture and AirPlay.
Why it matters
On iPhone, iPad and Apple TV, AVPlayer is the standard way to play video, and it supports HLS and FairPlay DRM natively. Building on it gives apps system features like picture-in-picture and AirPlay with little extra work, which matters for any business with an Apple audience.
How it works
- The app creates an AVPlayerItem from a video address, such as an HLS playlist.
- An AVPlayer object loads the item and handles buffering and quality switching.
- A view layer or AVPlayerViewController shows the video with standard Apple controls.
- The app observes playback state and errors to update the interface and log analytics.
Does AVPlayer support DASH?
No, AVPlayer does not play MPEG-DASH natively. It is built around HLS, which Apple created. Services that use DASH elsewhere usually publish HLS for Apple devices, often from the same CMAF segments. Third-party players can add DASH on iOS, but most apps stick with HLS and AVPlayer.
AVPlayer vs AVPlayerViewController: what is the difference?
AVPlayer is the playback engine, while AVPlayerViewController is Apple's ready-made screen with controls. Using AVPlayerViewController gives standard controls, picture-in-picture and AirPlay with little code. Using AVPlayer with a custom view gives full design control but means building controls and those features yourself.
Where it's used
OTT services, online learning apps and fitness apps on iPhone, iPad and Apple TV use AVPlayer to stream HLS with FairPlay DRM, picture-in-picture and AirPlay.


