Broadcasting TV channels using the Veset Nimbus playout platform on AWS
Co-Authored by Zavisa Bjelorgrlic, AWS M&E Partner SA, Igor Krol, CEO and Gatis Gailis, CTO & Founder from Veset. The content and opinions in this post are those of the third-party author and AWS is not responsible for the content or accuracy of this post.
Many video content owners use the Veset Nimbus playout platform to originate linear TV channels from AWS. This solution requires no upfront investment nor long-term commitment. It is a fast and economically viable option to create and manage linear TV channels.
With Veset Nimbus, a channel can be launched, modified, or shut down more quickly than with a traditional broadcasting platform. It can also be delivered to different distribution platforms—both OTT and traditional. This post describes the benefits of using this broadcasting platform.
You can access Veset Nimbus through a monthly subscription, self-service SaaS platform managed through a web interface. To sign up, you must have an AWS account. You pay a fixed monthly fee per channel to Veset and are charged per actual use for the AWS resources used.
Over 65 linear TV channels operate on the platform. The majority of the channels are in high definition (HD), some are in standard definition (SD), and a few have 4K definition or Ultra HD (UHD). There are 21 customers in 15 countries, including Fashion TV, Ginx TV, XITE, In The Box, ProSiebenSat.1 Puls 4’s Zappn TV, A1 Telekom Austria, Siminn, GospelTruth TV, Levira, and YuppTV.
Channels are distributed through the following methods:
- Traditional broadcast distribution using a multichannel video programming distributor (MPVD) such as satellite, terrestrial, cable, and IPTV headends.
- Over the top (OTT) directly to end users, including YouTube, PlayStation Vue, Samsung, FuboTV, and ZAPPN TV.
Veset Nimbus is a multi-tenant SaaS platform, which is highly available and automatically scaling to sustain the processing load. The system uses microservices running in Docker containers deployed in the Spotinst Ocean cluster in AWS.
The Spotinst platform allows the seamless use of EC2 Spot Instances, On-Demand Instances, and Reserved Instances, leading to significant saving in costs. You can also use the platform to manage automatic scaling for different ingestion loads and to provide resilience by spreading the containers over different Availability Zones.
Veset Nimbus allows you to manage channels on two tiers:
- An initial “broadcaster-level” tier with one content library stored in an Amazon S3 bucket and multiple channels created from this library.
- A higher “service provider-level” tier, which can group multiple broadcaster-level organizations.
Media assets (both source files and transcoded versions) can be moved optionally from S3 to Amazon S3 Glacier for long-term archiving using lifecycle policies. The following diagram shows the Veset Nimbus solution architecture in the 1+1 Hot Standby configuration.
The steps to create a channel are as follows:
- Ingest content: Content is ingested from S3 buckets pre-loaded by content owners or fetched from customer-designated repositories (external S3 bucket, FTP, SFTP, and public clouds). Aspera and Signiant are used for accelerated delivery or large video contribution. The ingest process extracts metadata and makes copies to the library S3 bucket. Lifecycle policies can be activated to save copies of the original and processed inputs to Amazon S3 Glacier vaults as a long-term
- Input live content: Live stream inputs are connected directly to playout using different modes: stream in UDP/RTP arriving through AWS Elemental MediaConnect or Real Time Messaging Protocol (RTMP) or HTTP live streaming (HLS) streams directly connected to playout. If the feeds contain SCTE-35 markers, then those can be used for live switching or ad insertion.
- Create a playlist: A playlist is a frame-precise schedule that defines primary (video assets from S3 or live streams) and secondary events (broadcast graphics, SCTE35 markers, EPG data) to be played out in the channel. Veset Nimbus incorporates an add-on module (Veset Altos) for long-term planning and scheduling. Veset Altos manages customer workflows to create daily playlists. You can also use playlists imported from third-party software.
- Create a channel: The channel is created using content library/live events and the playlist created in the previous steps. Different options can be configured with SD, HD, or UHD definition and different output encoded in MPEG2, AVC, or HEVC.
- Add redundancy: The channel configuration offers different redundancy levels to match the availability and cost requirements:
- Basic option with a single playout configuration.
- 1+1 Warm Backup configuration with a backup playout in standby mode in a different AWS Availability Zone. It’s activated automatically by a monitoring alert, or switched manually during maintenance or software-update periods.
- 1+1 Hot Backup with two synchronized active playouts running on separate EC2 instances in different Availability Zone
- (Optional) Cross-Region backup channel configured in a different AWS Region.
Veset Nimbus playout has two deployment options:
- Full cloud—All components of the system reside in AWS.
- Hybrid playout—Offers the flexibility to deploy main, backup, or both of the playout channels outside AWS.
Veset recommends using the full cloud deployment whenever possible, due to a higher level of redundancy and agility of cloud architecture. In some cases, however, you might opt for the hybrid playout deployment as a backup to cloud playout.
The channel’s playout components are deployed on EC2 instances or on-premises servers when you use hybrid playout deployment. The configuration depends on launch options for redundancy, resolution, and output profiles.
The content to play out is cached from S3 on an Amazon EBS disk or local storage (in the case of the hybrid playout deployment). Caching improves reliability and prevents delays in playout in case of longer time required to obtain contents from S3. Cached contents are encoded and multiplexed with incoming live streams.
The playout enables the live application of graphic overlays, subtitling and management of up to 8 multiple audio tracks. The module inserts ad breaks with SCTE-35 triggers, and it generates EPG data. For more traditional and regulated linear distribution, playout creates as-run logs and runs a compliance recording for each playout.
For increased redundancy, the channel’s primary and backup playouts can be distributed between different Availability Zones of the AWS Region. Every instance is monitored by Amazon CloudWatch and restarted automatically in case of failure. EC2 instances are selected on the basis of the video quality needed for optimizing the costs of operation. A typical setting uses different instance types with the Windows operating system:
- SD video: c5.xlarge
- HD video: c5.2xlarge
- UHD Video (25 fps), HEVC output: g3.4xlarge
- UHD (50 fps) AVC output: p3.2xlarge
Instance types are regularly reviewed for performance using CloudWatch to gather AWS and application logs. Instances are also verified against new instances and families made available on AWS to improve, whenever possible, the operating costs.
You deploy the playout automatically using SaltStack. The automatic deployment allows easy reconfiguration of the EC2 instance types to match your resolution and quality needs. It also allows deployment in multiple Availability Zones, simple activation on a different AWS Region, and configuration of all other details like subnets, security groups, network ACL, and CloudWatch monitoring.
In addition to CloudWatch, Veset Nimbus uses internally built monitoring systems to ensure that EC2 instances are available, and that the outputs from each of the playouts are aligned with predefined parameters. You can configure alerts of variable level of sensitivity for incidents, such as black or frozen video, jitter, or no audio.
Veset Nimbus has multiple ways to deliver feeds originated by its playout to various designated distribution points:
- The video stream created is sent in real-time transport protocol (RTP) to AWS Elemental MediaLive for real-time encoding. MediaLive is a broadcast-grade live video-processing service with built-in self-healing and high availability. The output of MediaLive can be sent to a CDN, such as Amazon CloudFront for OTT distribution.If you require delivery to multichannel video programming distributor (MPVD) head-ends, then use AWS Elemental MediaConnect.
- For just-in-time packaging and where you require MPEG dynamic adaptive streaming over HTTP (DASH) output, insert AWS Elemental MediaPackage in the flow immediately after the output from MediaLive.
- All Veset Nimbus playouts have Zixi Broadcaster preinstalled and integrated into the management portal. Use Zixi Broadcaster to manage multiple incoming live feeds, create multiple outputs, do live recording, and transport outputs to one or several distribution destinations.
Running the Veset Nimbus playout platform on AWS provides you with an extremely fast and economically viable tool to originate linear TV channels. A channel can be launched, modified, or shut down in minutes—compared to months to set up a traditional broadcasting platform. It can be delivered in various flavors to different distribution platforms—both OTT and traditional. The combination of Veset Nimbus and AWS Managed Services like MediaLive, MediaPackage, and MediaConnect lets you solve distribution and monetization challenges in one seamlessly managed and transparently priced environment.
High uptimes and reliability demand of linear television, combined with increased cost efficiency and flexibility, are addressed through a robust solution architecture. The use of different EC2 instances for different types of video quality allows for optimization of operational costs. Using tools such as Spotinst to leverage a mix of EC2 instances brings further efficiencies and resilience. Furthermore, by running playouts on instances in multiple Availability Zones, or even separate AWS Regions, Veset Nimbus offers a solution with high availability at the levels required in broadcasting.