I am excited to write the first technology blog post for uCast and the timing could not be better — we launched a new version of the uCast PaaS platform and also onboarded SI TV on April 24th! The SI TV project was fast paced and executed with precision and healthy collaboration with Time Inc.
uCast is focussed on content monetization and our mission is to build the largest global internet TV network.
The picture below explains the concept: premium content owners provide content (VOD, Live, Linear etc.) to the uCast video engine which is then distributed to uCast’s internet TV network via Web and mobile Apps. Various business models such as ad-supported, subscription-based or transaction-based are available to help monetize the content. Simply put, our platform connects audiences to content and provides a revenue stream for the content owner.
Business needs drive the architecture
In order to grow the largest internet TV network, uCast will be powering several subscription, ad-supported, and linear channel streaming bundles in rapid pace. The success of the business requires the product development and customer delivery teams to be lean, nimble, and fast paced.
Our engineering team has laid out the following architectural principles so we can achieve our business goals:
- Cloud-native: uCast’s technologies will be deployed on the cloud.
- Leverage — don’t rebuild: uCast’s tech teams will constantly evaluate buy vs build solutions for cost and time to market.
- A single code base: uCast will work to have a single code base that is deployed through the cloud for all customers.
- Multi-tenantancy: Our solution will be multi-tenant so we can launch a new customer with existing deployed resources.
Stage 1: Launch a video monetization PaaS
A foundational product to build a global internet TV network is a content distribution and monetization (OTT) platform. The Platform as a Service (PaaS) model is the engine that will drive the global monetization network.
Our company is proud to launch v3 of the PaaS platform. Many of the features mentioned below were deployed with SI TV.
V3 of the platform includes the following enhancements:
Modular API layer, docker based deployment and DB as-a-service
Our platform’s deployment architecture is illustrated below.
We have transitioned to Docker as a means to deploy API layers and core platform components. Our platform’s APIs are broken into the following modules — Login and account management, Movies and TV series, Linear channels, Checkpoints and Resume, Recommendation, EPG, Search, and Payment. Each module is developed and deployed independently, and together they form a powerful set of APIs powering rich and hierarchical App experiences.
Each API deployment is load -tested against a cloud native cloud test framework and deployed as a scalable App service.
A key architectural enhancement is our usage of DB-as-a-service. Our platform uses both Mongo-db and MySql. While MySQL is great for storing structured data such as user information, Mongo is great for metadata, checkpoints and tracking information. Leveraging DB-as-a-service model provides our team with lots of additional bandwidth to focus on unsolved problems which ultimately add value to our customers.
Configurable App components
The OTT App experience is constantly changing. Content owners should have the flexibility to configure App displays and react based on fast changes such as trending videos, news stories and themes. It is important to have a framework for a dynamic front-end interface. For our third version of the product, we focused on content and content focused UI elements be to configured via a backend console.
Elements such as banners and carousels are configured via console.
Swimlanes are also configured via console.
Scalable video backend & DRM enabled Players
The critical component of a content monetization platform is digital media; uCast’s architectural principles of cloud nativity and leverage naturally guided us towards Azure Media Services.
Our platform is strategically integrated with Azure Media Services for Ingest, Encode, Encrypt, DRM Protect, Stream, CDN Distribution, and Playback.
Ingest, Encode, Encrypt:
For VOD encoding, we developed a pipeline that can monitor a watch folder for mezz files and then take the file through the steps of encoding and encryption. The file is pushed out to a CDN and the CDN URL is returned as a call back.
The pipeline is deployed as a series of Azure Functions and is massively scalable. We encoded over 14 Terabytes of content in 3 days!
DRM Protect & Stream:
uCast employs a dynamic multi-DRM and multi-Streaming protocol strategy to tackle the problem of DRM and streaming protocol fragmentation. We deliver content using HLS, Smooth Streaming, and MPEG DASH streaming protocols and protect the content using Playready, Widevine and Fairplay. Leveraging the dynamic packaging and encryption means there is only 1 copy of the asset to serve all 3 DRM schemes and streaming protocols!
We have also deployed dynamic streaming and encryption through Azure streaming endpoints. A content is encoded and stored as multi-bitrate adaptive MP4 files; A request to the streaming endpoint specifies the streaming protocol and the content is quickly encrypted, packaged and cached according to the incoming request. This is an important functionality as device platforms often have a preference for streaming protocol and DRM. Our tests show that Smooth Streaming outperforms other protocols on Roku devices where the native player is utilized; comparatively HLS outperforms other protocols on iOS devices.
uCast’s multi-DRM and multi-Streaming protocol strategy allows the distribution of content to various screens and takes advantage of the native player support on each device. This keeps the Apps simple and easy to maintain, thereby reducing our customer’s development and deployment times.
uCast is excited to launch a new recommendation engine. The engine uses anonymous trackers to analyze viewership patterns and serves recommendations based on viewership data, user behavior and heuristics. Each device that uses uCast’s Media APIs, sends a tracking beacon to the server. The tracker beacons are saved and the data is processed using machine learning and data mining algorithms to understand and predict user behavior.
We are excited to add Stripe to our list of supported payment gateways. We found integrating with the tokenized payment process seamless. Tokenization is the process Stripe uses to collect sensitive card or bank account details, or personally identifiable information (PII), directly from the customers in a secure manner. We used a combination of Checkout and Stripe.js to perform this process on client-side. This ensured that our integration was highly secure and compliant to the stringent standards set by the industry for financial processing (PCI-DSS Compliance).
These are busy and exciting times for our company; we are a small team with big ambitions and we’ve successfully launched Stage 1 of a multi stage evolution for the company!
Major themes for Stage 2 are Dockers & PaaS, Linear channel bundles, AI for boosting ad monetization and understanding user behavior. We’re excited about the future and invite you to stay tuned.
Like what you see? Want to join our team? Please contact us on IM or send an email to email@example.com