under the hood
Details matter. Here we present more specifics about how Penthera products work and provide powerful benefits for video content providers with their viewers. Most profoundly, here is what Penthera’s SDK is and what it can do for you.
Penthera’s SDK is a software system that manages the download of very large (up to GB-sized) videos from the Cloud to a mobile device. Once downloaded, these videos are playable anytime and anywhere—even if the device has poor or no network connectivity.

Our SDK consists of two pieces: a client library (iOS+ Android) for linking into an existing streaming app, plus a Cloud-based server. And the underlying technology is protected by multiple issues and pending US patents. Video content providers can:
- Integrate SDK into your existing mobile offerings;
- Connect to your subscriber/billing and content management systems;
- Build a complete app from the ground up, including UI/UX to support C&C viewing of your content.

Our SDK supports multi-threaded, multi-core mobile architectures. The engine downloads fast, using multiple threads, spawning a variable number of download processes depending on current network conditions and device capabilities. Meanwhile, the engine avoids main threat operations that could affect overall device responsiveness. So, Penthera’s proprietary engine initiates and continues downloads even when the app is not active or running. You can even use the app to “push” new TV shows/movies in the background invisibly to your viewers’ iPad/iPhones and Android devices.

In addition to helping provide the premier video viewing experience, SDK helps your viewers save battery power, save device space, and save on wireless data overage charges. Our SKD also helps your tech infrastructure remain nimble and responsive and avoid being “swamped” by streaming attempts.

The SDK download engine is completely configurable. You set a default download policy at compile-time. Individual viewers may override this policy on their own mobile device. Those policies include:
- Battery Level Cutoff: Suspend downloading when the device charge drops below a specified level (e.g. 75%), or only download when the device is plugged into AC power.
- Network Usage: Only download over WiFi, or download using both WiFi and cellular.
- Network Quotas: Only use a fixed amount of cellular data (e.g. 200MB/week).
- Max Storage: Don’t use more than (say) 5GB of persistent memory on the device.
- Min Headroom: Always retain at least 1GB (say) of storage “headroom” on the device for other applications.

Our SDK records all relevant events, e.g. enqueue item for download, download start/stop/pause, play/pause/delete file. The engine also records which bearer (WiFi, cellular), what network (VZW, AT&T, etc.). The events are available in raw form or via a web services call.

Policing Business Rules
Our SDK tracks which devices belong to which viewers and dynamically enforces a maximum number of allowable devices per viewers for downloading.

Content Windowing
Our SDK helps video content providers with the ability to:
- Enforce “auto-delete” functionality: asset becomes unplayable X hours after delivery, or after first play
- Enforce asset-specific expiry date (“not playable after…”)
- Enforce specific content embargoing (“not available until…”)
Storage Management
Our SDK also enables video content providers to help their viewers efficiently manage storage on their devices in relation to their content downloading:
- Enforces “save-n-episodes”: delete old episodes to make room for new ones
- Enforces business rules: “don’t use more than X MB” and “leave at least X MB of headroom”
- When space gets low, engine suspends downloads to maintain enough swap space for proper device behavior.

Our SDK can display a pop-up notification on the device home screen when new video is delivered, and/or when the asset is about to expire. Our SDK API also provides a callback mechanism to an enclosing app to monitor download progress, to enable a progress bar or some other visual indicator.

Works with Existing Streaming Servers
Our SDK can handle individual mp4 files, as well as every popular streaming video format including HTTP Live Streaming (HLS), HTTP Smooth Streaming (HSS), and Dynamic Adaptive Streaming over HTTP (MPEG-DASH). Our SDK will download each individual fragment and create a new local manifest file. Then, the device media player can “stream” the downloaded video, fragment by fragment, direct from the local disk.

Works Side-by-Side with DRM Systems
Our SDK functions smoothly with encrypted HLS and DRM-encrypted content. It’s internally integrated with Google’s Widevine and Apple’s FairPlay DRM, allowing rapid deployment of protected content. Our SDK also interoperates with most other commercial DRM systems, including Adobe Access and Microsoft PlayReady.

Handles Ultra-HD Video
Retina iPad devices can support video encoded up to 2048×1536 pixels, which is 52% higher resolution than 1080p video. This higher-resolution video can be difficult to stream reliably even over a high-quality broadband connection, but our SDK can reliably download the video. This ensures perfect-quality playback, no matter what the network conditions.

Our SDK gives video content providers robust support in terms of subscriptions and auto-delivery.
- Episodic content: Viewers can subscribe to a series; new episodes automatically delivered to device when available, old ones deleted to make room
- Remote-subscribe: Viewers can add a show to their download queue from the web (manipulate your subscriptions from another device)
- Auto-subscribe: Sysadmin can remotely insert content into subscribers’ download queue (e.g. intro video, promo video, commercials).

Our SDK can pre-cache commercials on the mobile device for offline playout. It records tracking beacons associated with commercials and can support replaying these beacons to a remote ad service when the mobile device comes back online.

How It’s Delivered
Our SDK package includes:
- iOS+Android SDK (for integrating into your own apps)
- Documented APIs for these SDKsiOS+Android sample apps: fully-documented source code, illustrating how to use the SDK.
- Developer account on Penthera’s shared serverDeveloper access to Penthera’s sample videos.

When you’re ready to go live, Penthera provides a production configuration as a managed service for you. Typically, it only takes a couple of days to fully integrate Our SDK into your existing infrastructure/app.

Increase mobile sessions, reduce churn, and grow your bottom line.
Get your analysis of how many users you're losing to streaming issues.

We respect your privacy and will never share your information.
Copyright 2020 Penthera | All Rights Reserved | Powered by Penthera