PRESTOplay for Web Apps
HTML5 is everywhere these days. But how can you reach all those devices with premium video streaming?
PRESTOplay for Web Apps is our SDK framework for deploying fantastic HTML/JavaScript video players across web-enabled platforms.
Designed to drastically lower development time and costs, you can easily deliver leading-quality playback experiences with plenty of fresh features.
Cross-platform playback
Brilliant browser viewing
Your audience can use a wide range of browsers to stream how they wish.
Check out our browser support
Deploy direct to TVs
Present stunning stand-alone apps on Samsung, LG, and Hisense smart TVs.
Deliver desktop apps
Quickly build sleek Windows and macOS native players.
Create console players
Unleash bespoke players over Xbox consoles.
Try now
Visit our online browser player to view demos, test your own streams, and read our docs.
Visit the demoDownload now
Install our player package to experiment locally without a license.

Digital rights management (DRM) ready
Studio-approved DRM systems are supported for you to protect and monetize your amazing content.
Securely license across all screens. PRESTOplay works seamlessly with our globally scalable DRMtoday solution.
Easily stream DRM protected MPEG-DASH, Smooth Streaming, HLS, and CMAF content.

PRESTOplay has received the Farncombe Security Audit® mark from Cartesian’s extensive review of our service.
Leverage low latency
Give your audience broadcast-feel experiences with our added features.
Sub-second ultra-low latency
VOD and live fast channel zapping
Live stream catchup
Over and above open source
General open-source players are great for basic playback but things can get difficult when extra features, consumer-reach, or support are desired. We offer value not available with free alternatives.
An abundance of added features to deliver leading playback experiences.
Compatibility and performance improvements to maximize audience reach.
Fast support to investigate workflow issues or squish a sneaky bug with priority.
Cure your player pain points with superior support
You get more than just software – our experts are here to help you accomplish your playback goals!
- 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
Let’s get technical
Check out everything PRESTOplay for Web Apps can do for you.
Scroll right to see the full table.
Browsers | Smart TVs | Desktops | Game consoles | |
---|---|---|---|---|
Supported platforms |
![]() ![]() ![]() ![]() ![]() |
![]() Tizen 2.3+ (2015+) webOS 3+ (2016+) VIDAA 2.5+ (2019+), chipset support may vary |
8+ 10.9+ Windows & macOS via Electron or Windows via Universal Windows Platform
|
Xbox One,
Xbox Series X/S
|
DRM systems used
Hardware-secured where supported
|
Widevine™, PlayReady, FairPlay Streaming (View browser support) |
Widevine, PlayReady | Widevine (Electron), PlayReady (UWP) | PlayReady |
Native Tizen 2.3 & 2.4 playback based on the AVPlay API is also available. Please contact us for details.
Development & configuration | PRESTOplay for Web Apps |
---|---|
Customizable & simplified UI tools
We provide simplified user interface tools including easy configuration for buttons, subtitles, and thumbnail views.
|
|
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.
|
|
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.
|
|
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. |
|
Playlists
Define sequences of VOD and live content along with pre-caching of the next item for smooth content transitions.
|
|
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.
|
|
Unified track model
MPEG-DASH, Smooth Streaming, HLS A common player API that ensures audio/subtitle tracks and video quality representations are exposed in the same way,
independent of the content format. This saves time by allowing you to build a user interface once,
independent of the actual streaming format.
|
|
Compatible with Video.js
And Video.js plugins
|
|
Light library footprint
Fully deployed, uncompressed: ~330K
|
|
Streaming formats | |
MPEG-DASH | |
Smooth Streaming | |
HLS | |
CMAF | |
Progressive MP4 | |
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.
|
Desktop apps |
Chromecast™ support Both sender & receiver apps |
Chrome & desktop apps |
AirPlay® support | Safari |
Thumbnails DASH, HLS Image Media Playlist, VTT, 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.
|
|
Trick play
Multi-speed fast forward, rewind, & 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. |
|
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 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.
|
|
Security | |
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.
|
|
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. |
|
Built-in DRMtoday compatibility | |
Audio, video, & subtitles | |
Multi-language | |
WebVTT, TTML (SMPTE-TT, DFXP, IMSC), SRT subtitles
With images for IMSC & SMPTE-TT
|
|
FCC compliance interface
The USA FCC requires that players must have the ability to allow users to set subtitle parameters such as font, font
size, color, etc. We provide an API to easily configure these settings. |
|
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.
|
|
Video & audio codecs | Uses browser or 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.
|
|
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 & Advertising Insights | |
Mux Data | |
Nielsen Analytics | |
Agama Analytics | |
Streamroot | |
Vimond |
We constantly update our SDK, so more updates are on the way!
Browser compatibility & streaming formats
Browser | Browser DRM system | MPEG-DASH & Smooth Streaming | HLS | |
---|---|---|---|---|
![]() |
Chrome™ | Widevine | Windows® & macOS & Chrome OS™ & Android™ & Linux® | – |
FairPlay Streaming | – | iOS/iPadOS | ||
![]() |
Firefox® | Widevine | Windows & macOS & Linux & Android | – |
FairPlay Streaming | – | iOS | ||
![]() |
Safari® | FairPlay Streaming | – | macOS & iOS/iPadOS |
![]() |
Edge | Widevine & PlayReady | Windows & macOS & Android | – |
FairPlay Streaming | – | iOS/iPadOS | ||
![]() |
Opera™ | Widevine | Windows & macOS | – |
FairPlay Streaming | – | iOS/iPadOS | ||
Chromecast | Widevine & PlayReady | – |
Apple doesn’t support DRM protected MPEG-DASH or Smooth Streaming playback in iOS/iPadOS browsers.
Google regularly deprecates old versions of the Widevine CDM as a security measure. This means old versions of Chrome, Firefox, Edge, or Opera using an outdated Widevine CDM won’t be able to use DRM.
Explore our other SDKs for Android, iOS, React Native, and GStreamer for holistic cross-platform playback.
Get started today
Request a trial license to see how our SDK can help you deliver across web-enabled platforms or test your streams with our browser demo now.