PRESTOplay for iOS
Looking to deliver the latest streaming video experiences across iPhone and iPad mobile devices, or Apple TV?
Instead of starting from scratch, give your devs a rapid build environment with our PRESTOplay SDK. Using the newest tech you can quickly launch beautifully bespoke players that audiences will adore.
Our ready-to-use features greatly reduce development time saving you money while getting your brand into the App Store faster.
Valuable video streaming security
DRM-enabled with FairPlay Streaming and Widevine to meet studio approval for online and offline playback.
Need DRM licensing? PRESTOplay seamlessly works with our scalable DRMtoday cloud service.
MPEG-DASH on iOS & iPadOS
We enable digital rights management (DRM) secured MPEG-DASH playback by leveraging Widevine™ and our castLabs know-how.
- Skip preparing HLS and FairPlay Streaming filesets.
- Simplify your streaming assets using only MPEG-DASH across all player platforms.
Superb streaming support
Have a tricky challenge that needs special care? Looking for feature customization to enrich your iOS, iPadOS, or tvOS apps? You get more than just software: our player experts are here to assist you with your playback plans.
Beyond platform APIs
Apple’s AVPlayer and VideoToolbox are great for basic playback but things can get tough when extra features, consumer-reach, or support are desired.
Our SDK expands on Apple’s standard tools through extensive modifications.
An abundance of added features to deliver leading playback experiences.
Stream compatibility and performance improvements to maximize audience reach.
Fast support to investigate workflow issues or squish a sneaky bug with priority.
Packed with powerful features
Our developer-friendly API opens up robust streaming technology to easily create advanced video players.
Development & configuration | PRESTOplay | Base AVPlayer |
---|---|---|
Common player API framework
Our range of PRESTOplay
SDKs feature a common API for consistent playback behavior and simplified maintenance
across different player platforms and
devices. Common settings include: player configuration, ABR algorithm, latency, UI, and
subtitles.
|
||
Unified track model
A common player API that ensures audio/subtitle tracks
and video
quality representations are exposed in the same way,
independent of the content format (MPEG-DASH, Smooth Streaming, HLS). This saves time by
allowing you to build a user interface
once,
independent of the actual streaming format.
|
||
Content filtering
Allows content representation exclusion. This
checks a user device’s resolution capability and ignores ABR renditions
that aren’t supported. For example, if you offer UHD quality but a user’s smartphone only
supports HD, then the player
will automatically exclude the UHD rendition (as long as there’s also an HD rendition
available). The user receives the
best quality available on their device, and you save on bandwidth for unsupported stream
qualities.
|
Advanced filtering |
|
Playlists
Define sequences of VOD and live content to play. We enable instant content transitions with pre-caching of the next
streams, multiple background players, and DRM license pre-fetching. IMA ads are also supported.
|
||
Network resilience: Retry configuration
Automated recovery from connectivity loss with separate configuration for manifests, chunks, and other parameters.
|
||
Customizable UI
We provide simplified user interface tools including easily configurable buttons, subtitles, and thumbnail views.
|
Simplified UI tools |
|
External display restriction
AirPlay & HDMI
Optionally prevent playback on secondary
displays
|
||
Corrupt content fixes
Accounts for non-standard manifest or MP4 files to
ensure
playback. Our low-level API allows us to add fixes to the player in case you have content not
conforming to specifications.
This is useful in case you’re dealing with non-spec conforming content libraries that you can’t
update easily.
|
||
AVPlayer & VideoToolbox simplification
Our API simplifies Apple’s stock AVPlayer and VideoToolbox functions for extra coding efficiency.
|
||
Streaming formats | ||
MPEG-DASH
With DRM & unencrypted
HLS transmuxing not needed for improved battery life, faster stream start times, and faster seeking.
|
||
Smooth Streaming
With DRM & unencrypted
HLS transmuxing not needed for improved battery life, faster stream start times, and faster seeking.
|
||
HLS
With DRM & unencrypted
|
||
CMAF
With DRM & unencrypted
Allows a single content file-set to be used for playback
as either MPEG-DASH or HLS formats as needed. DRM can also be
used with the single file-set on devices/platforms supporting the AES-CBC encryption mode.
|
||
Progressive MP4 | ||
MPEG-TS | ||
Playback | ||
Video on demand (VOD) | ||
Live | ||
Ultra-low latency
Managed latency & sub-second achievable
Our player is capable of <1 second latency behind
the live
edge.
We also enable managed latency by defining a live edge latency goal to synchronize all players instances for similar playback timing. For example: a football game where all users see a goal at the same time by accounting for playback drift. |
||
Offline playback
With VOD downloader &
persistent DRM
sessions
Enable stream downloading for secure local offline
playback.
Manifests can be accessed to transfer content to a user’s
device with the video quality, audio, and subtitle track able to be specified. Content is
downloaded with no
transmuxing
or transcoding to maintain video quality. DRM licenses are also stored securely: both during
download and on
a user’s
device, your content remains protected.
|
MPEG-DASH, HLS, Smooth Streaming, .MP4 |
HLS only |
Chromecast™ | ||
Thumbnails WebVTT, BIF |
||
Trick play
Multi-speed fast forward, rewind, and slow
We support two trickplay modes:
Decoder mode: Speed up playback by downloading and showing all frames. This creates a smooth experience, but isn’t ideal at high speeds due to decoder/bandwidth limitations. You can’t rewind with this mode. Seek mode: Our player continuously seeks, forward or backwards, based on the playback speed. This mode performs better at high speeds (> 6x) since you only need one frame at given time intervals. I-frame tracks are typically used here to reduce segment sizes and allow faster seeking. |
Partial: No rewind, and decoder mode only | |
360 video | ||
Background playback
Using Picture in Picture Examples: Background loading, service integration,
playing content when device screen is off, or playing content when another app has focus.
|
||
Live catchup
Perform automatic catch up whenever the player position falls behind a certain limit. This is useful to closely follow the live edge or to avoid falling behind the live window. Catching up is accomplished by either speeding-up playback or seeking to the live edge.
|
||
Security | ||
Widevine DRM (iOS & iPadOS)
For MPEG-DASH & Smooth Streaming
Supports AES-CTR & AES-CBC encryption modes
|
||
FairPlay Streaming DRM
For HLS
With access to hardware-security
Supports the AES-CBC encryption mode
|
||
Offline DRM and license storage | ||
Digital.ai security layer
Software-based Trusted Execution Environment (TEE) for improved security on devices without hardware-protection. Includes detection for debugging, swizzling, and jailbreaking.
|
||
Multi-key support
For different content representations
|
||
Key rotation | ||
Concurrent stream limiting
Prevent user access to streams by denying licensing and license renewal requests. This
controls how many streams can be accessed simultaneously by a given user, for example, to enable ‘limited
device number’ business models.
|
||
Automatic key renewal
This is useful, for example, in rental use-cases where a license will expire and requires renewal while a user is watching content. Our player renews and installs licenses automatically ahead of time so users experience uninterrupted streams.
|
||
Dual expiry (license window duration)
For example: enable a 1 week license time-frame to watch a 120 minute content title. License expires either after 1 week or after 120 minutes of viewing.
|
||
Built-in DRMtoday compatibility | ||
Audio, video, & subtitles | ||
Multi language | ||
TTML (SMPTE-TT, DFXP, IMSC), SRT, DVB subtitles
With images for IMSC & SMPTE-TT
|
||
WebVTT subtitles | ||
FCC compliance interface & preview UI
The USA FCC requires that players must include the
ability for users to set subtitle parameters such as font, font size,
color, etc. We provide an API to easily configure these settings as well as a user preview.
|
||
Subtitle track sideloading
Sideloading allows you to add additional URLs as
subtitle tracks. This means you can add subtitles without embedding the
track into your manifest. For example, if you receive subtitles for content and they aren’t part
of the manifest, you
can sideload them for use without having to re-create your manifest.
|
||
Audio processing tap
When playing content with VideoToolbox you can define a callback to intercept the audio samples and chain them to your own audio processing queue.
|
||
Video & audio codecs Example: H.264, H.265, VP9, AAC, AC3/EAC3
|
Uses device supported codecs | Uses device supported codecs |
SD/HD/4K, HDR10/Dolby Vision On supported devices
|
||
Advertising | ||
IAB VAST seamless ad insertion via Google IMA | ||
Manual ad scheduling
If you’d like to avoid VMAP, you can use our API to manually set when ads are played within the playback timeline.
|
||
Ad-insertion handling Hide/show player during ads
|
||
Third-party pre-integrations | ||
NPAW Youbora | ||
Broadpeak Video Analytics | ||
Conviva Experience Insights | ||
Nielsen Analytics | ||
Streamroot | ||
Vimond |
We constantly update our SDK, so more updates are on the way!
Explore our other SDKs for Android, Web Apps, React Native, and GStreamer for holistic cross-platform playback.
Ready to start? Let’s get going!
Request a FREE trial to discover how we can help you deliver superior video experiences for your Apple customers.