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 creating apps across Android, Android TV, and Amazon Fire TV.
Hybrid Android TV playback
Deploying PayTV broadcast or multicast service? Our player tech enables hybrid OTT and DVB/IPTV streaming through a single STB app saving you on development and maintenance.
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
You get more than just software – our player experts are here to help achieve your vision!
- Deep technical assistance when you need it
- Solve tricky content, device, and playback challenges with our low-level know-how
- Custom development to enrich your app
- Flexible roadmap
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 for leading playback experiences.
Greatly improved device and stream compatibility to maximize audience reach.
Fast support to investigate workflow issues or squish a sneaky bug with priority.
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.
|
||
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.
|
||
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.
|
||
Streaming formats & protocols | ||
MPEG-DASH | ||
Smooth Streaming | ||
HLS
We enable protected HLS content using Google’s Widevine DRM system (where HLS content uses the fMP4 container format).
|
||
CMAF
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.
|
||
DVB broadcast (DVB-C, DVB-S, DVB-T)
Including a highly configurable DVB-stack
Our DVB stack can adapt to operator-specific networks via simple configuration rather than complicated code customization, reducing the need for firmware updates. Our XML-based structure also allows table configurations to be easily remotely updated.
|
||
IPTV multicast | ||
MPEG-TS | OTT & IPTV & DVB |
OTT |
Progressive MP4 | ||
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.
|
||
Fast channel changing
Including zapping between OTT, IPTV, & DVB
Lets users switch streams as fast as broadcast TV. Avoid buffer delay by pre-caching neighboring content including
pre-fetching licenses for a quick low-latency user experience.
|
||
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.
|
||
Thumbnails WebVTT, BIF |
||
nPVR/nDVR playback
Play recorded live streams on-demand, switch from live to VOD, or switch into a live mode where you can catch up from the beginning of the content.
|
Not HLS |
|
Hybrid nPVR
IPTV/DVB to OTT
Switch seamlessly from multicast or broadcast to an OTT stream with frame-accuracy. This is useful for pausing live IPTV or DVB streams and continuing to watch as VOD.
|
||
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
Examples: Background loading, service integration, playing content when device screen is off, or playing content when another app has focus.
|
||
HDCP state handling & recovery
Handles HDMI/HDCP status changes to ensure smooth playback.
|
||
Tunneling
We’ve improved tunneled playback performance including better seeking stability, better frame display detection, and the ability to decode without audio.
|
Improved performance |
|
MediaSession support
Including media2 library integration
|
||
Audio focus | ||
Texture views Example: 3D animated transitions
|
||
Chromecast™ | ||
Security | ||
Widevine™ DRM
Level 1 hardware-secured where supported
Supports AES-CTR & AES-CBC (Android 7.1+) encryption modes
|
||
Widevine CAS For Android TV |
||
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
|
||
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.
|
||
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 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.
|
||
DRM fallback
If multiple DRM system options are available, our player prioritizes them based on security level and selects the best one. In case a DRM-related issue occurs, the player can fall back to other options as a backup for secure playback to continue. For example: If a device reports that Widevine is supported but an issue occurs when trying to open a session, our player can fall back to the next available DRM option.
|
||
Convert PSSH between PlayReady & Widevine
Extend the reach of your existing encrypted library if it’s been packaged for a single DRM system only.
Content previously packaged as Smooth Streaming with PlayReady-only signaling can also be used on Widevine DRM platforms. Likewise, content packaged as MPEG-DASH with Widevine-only signaling can also be used on PlayReady DRM platforms.
We allow on-the-fly content playback with no server-side changes needed as everything is handled client-side including: PSSH box conversion, video decoder initialization, and dynamic fragment conversion. |
||
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.
|
||
Offline DRM & license storage | ||
Multi-key support
For different content representations. Includes license pre-fetching.
|
||
Key rotation | ||
Built-in DRMtoday compatibility | ||
Audio, video, & subtitles | ||
Multi language | ||
WebVTT, TTML (SMPTE-TT, DFXP, IMSC), SRT, DVB subtitles
With images for IMSC & SMPTE-TT |
No IMSC image support |
|
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.
|
||
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 |
|
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).
|
||
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 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
|
||
IMA Dynamic Ad Insertion (DAI) | ||
Server-side ad insertion (SSAI) with leading vendors With impression quartile reporting, trick play, and multi-period support for MPEG-DASH. |
||
Third-party pre-integrations | ||
NPAW Youbora | ||
Broadpeak Video Analytics | ||
Conviva Experience Insights | ||
Mux Data | ||
Nielsen Analytics | ||
Agama Analytics | ||
Streamroot | ||
Vimond |
We constantly update our SDK, so more updates are on the way!
Explore our other SDKs for Web Apps, iOS, React Native, and GStreamer for holistic cross-platform playback.
Ready for a test drive?
Request a FREE trial to discover how we can help you deliver leading Android experiences for your customers.