PRESTOplay for Android
Need to deliver rich streaming video apps for Android™ or Android TV™ platforms that’ll blow your audience away?
We offer a powerful software development kit (SDK) for creating high-end player experiences that consumers expect.
Our PRESTOplay SDK lets you rapidly construct sleek players. Built for devs, by devs, we give you the building blocks to massively reduce development costs and speed up your time to market.
OTT streaming
Reach a multitude of phones, tablets, STBs, and smart TVs by quickly deploying apps across Android, Android TV, Amazon Fire TV, and Huawei EMUI/HarmonyOS devices.
PayTV broadcasting
Take advantage of a low-cost PayTV monetization opportunity by extending your content and multicast DVB/IPTV systems to reach Android TV STB audiences.
Serious security: DRM & CAS
Premium content needs studio-recognized protection. Luckily, security is one of our specialties!
Built-in Widevine, PlayReady, and WisePlay DRM support for secure online and offline playback.
Works with Widevine CAS for SoC vendors and STB OEMs to easily integrate at low cost.
Hardware-security support to give your audience HD, UHD, and HDR quality excitement.
Cure your player pain points with superior support
Have a workflow challenge that requires special care? Need feature customization to enrich your app? Want to enable a certain device?
You get more than just software: our player experts are here to help achieve your vision.
Over and above open source
Ordinary open-source players are great for basic playback but things can get tricky when extra features, consumer-reach, or support are desired.
We’ve built on ExoPlayer as a solid starting point with deep modifications.
An abundance of added features and performance enhancements.
Greatly improved device and stream compatibility for audience reach.
Fast support to investigate workflow issues or squish a sneaky bug.
Full of fantastic features
Our friendly API opens up the latest streaming technology with everything you need to build beautifully bespoke video players.
Our SDK supports Android 4.1+ (API level 16+)
Development & configuration | PRESTOplay for Android | Base Exoplayer |
---|---|---|
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, UI, ABR algorithm, latency, 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. Our SDK 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.
|
||
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.
|
Partial: Pre-caching only | |
Network resilience
Network retry & CDN rotation
Network retry: Automated recovery from connectivity loss with
separate configuration for manifests, chunks, and other parameters.
CDN rotation: Allow multiple CDN sources to be defined for a single playback session. If the player gets a connectivity error from a CDN, it will quickly switch to the next source in the background to avoid buffering or disruption. These fallbacks can be defined either in the manifest or at the application level. |
Partial: No CDN rotation | |
External display restriction Optionally prevent playback on secondary displays |
HDMI, Miracast |
|
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.
|
||
Customizable UI
We provide simplified user interface tools including easily configurable buttons, subtitles, and thumbnail views.
|
Simplified UI tools |
|
Device-specific codec fixes
Allows a stream to work where it otherwise would not due to a device-specific issue. For example: A fix may be needed to
account for a specific device you’re targeting which didn’t implement a decoder in a standard way. Our player support
team can help you with this even down to per-device models.
|
Extra device support available |
|
ExoPlayer core simplification
Our API simplifies ExoPlayer functions for extra coding efficiency. We also continually maintain our API to
ensure compatibility with ExoPlayer updates.
|
||
Streaming formats | ||
MPEG-DASH With DRM & unencrypted |
||
Smooth Streaming With DRM & unencrypted |
||
HLS
With DRM & unencrypted
We enable protected HLS content using Google’s Widevine DRM system (where HLS content uses the fMP4 container format).
|
||
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 | OTT & multicast |
OTT |
Playback | ||
Video on demand (VOD) | ||
Live | ||
Ultra-low latency
Managed latency and 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.
|
||
360 video | ||
HLS live event Seek back in live streams |
||
Chromecast™ | ||
Thumbnails | ||
Texture views Example: 3D animated transitions
|
||
nPVR/nDVR for live streams
Record real-time broadcasts for on-demand replay |
Not HLS |
|
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 | |
Tunneling
We’ve improved tunneled playback performance including better seeking stability, better frame display detection, and the ability to decode without audio.
|
Improved performance |
|
Background playback
Examples: Background loading, service integration, playing content when device screen is off, or playing content when another app has focus.
|
||
Fast channel changing
Lets users switch streams as fast as broadcast TV. Avoid buffer delay by pre-caching neighboring content including
pre-fetching licenses for a quick user experience.
|
||
Security | ||
Widevine™ DRM
Level 1 hardware-secured where supported
Supports AES-CTR & AES-CBC (Android 7.1+) encryption modes
|
||
PlayReady® DRM (on supported devices)
SL3000 hardware-secured where supported
Supports AES-CTR & AES-CBC (on devices with PlayReady 4+) encryption modes
|
||
WisePlay DRM (on supported devices)
Hardware-secured where supported
Supports AES-CTR & AES-CBC encryption modes
|
||
Widevine CAS For Android TV |
||
Offline DRM and license storage | ||
Arxan security layer
Software-based Trusted Execution Environment (TEE) for improved security on devices without hardware-protection.
|
||
Widevine/PlayReady to WisePlay conversion
Content libraries previously packaged for use with Widevine or PlayReady can also be used with WisePlay giving your media extra reach. Our player can dynamically generate a WisePlay PSSH box on the client side based on existing content data, so Widevine or PlayReady encrypted media can be automatically used on-the-fly.
|
||
Migrate Smooth Streaming to MPEG-DASH
Extend the reach of your encrypted Smooth Streaming libraries. Content
previously packaged specifically for PlayReady
can be used with Widevine instead.
We allow PlayReady-protected Smooth Streaming content to playback on-the-fly across Widevine DRM platforms. No server-side changes needed as everything is handled client-side including: PSSH box conversion, video decoder initialization, and dynamic fragment conversion. |
||
Multi-key support
For different content representations
|
With license pre-fetching |
Partial: Without license pre-fetching |
Key rotation | ||
Automatic Widevine 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.
|
||
Built-in DRMtoday compatibility | ||
Audio, video, & subtitles | ||
Multi language | ||
WebVTT, TTML (SMPTE-TT, DFXP, IMSC), SRT subtitles | ||
Subtitle images IMSC & SMPTE-TT |
||
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.
|
Partial | |
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 pass-through
Allows you to ‘pass-through’ audio track data to external connected devices. For example, if you deploy to an Android TV
STB, the box itself may not support a desired audio codec (for example Dolby 5.1), but if the connected TV does support
it then our SDK allows you to ‘pass’ the track to the TV to leverage its decoder.
|
||
Audio gain
Allows you to control the audio volume independent of the device’s system volume. This feature is mainly used to mute an
audio track without interfering with a user’s volume settings (for example during ad playback).
|
||
60fps
We support multithreaded rendering where operations are offloaded to different threads for added efficiency. We also provide decoder buffer management enhancements. This improves performance by reducing stuttering and dropped frames, particularly with high framerate content or on low-end devices.
|
With multithreading & improved render balancing |
|
Video & audio codecs Example: H.264, H.265, VP9, AAC, AC3/EAC3 |
Uses device supported codecs | Uses device supported codecs |
SD/HD/4K/8K+, HDR10/HDR10+/Dolby Vision On supported devices |
||
Advertising | ||
IAB VAST ad insertion via Google IMA With multi-period support for MPEG-DASH |
||
IMA Dynamic Ad Insertion (DAI) | ||
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
|
||
Server-side ad insertion (SSAI) |
We constantly update our SDK, so more updates are on the way!
Ready for a test drive?
Request a FREE trial to discover how we can help you deliver leading Android experiences for your customers.