How could a broadcast solution look like if you designed it for only OTT/Internet distribution? This is something me and my colleagues at Eyevinn Technology have explored and I will in this blog post elaborate a bit around this.
Let us start by comparing with a traditional TV broadcast solution and what components and infrastructure in general is needed.
One component that is not included in the schematic drawing above is the tableau planning system. The tableau planning system is where the content is planned and scheduled for each TV channel. This schedule is then imported to the playout automation and converted into a playlist. The playlist contains what content and in which order it should be played out by the video server. The content to be played out is stored and managed by a media asset management system (MAM system). Based on the playlist the MAM system automatically transfers the media files to the video servers. The media files are of high-grade broadcast quality encoded in for example XDCAM HD. The playout automation system is the orchestrator who controls the video servers and based on the scheduled playlist sends commands to the video server on which media content to be played out. Before the contribution to IPTV/Satellite/Terrestrial distribution, channel branding (graphics) are added on top. On top of the IPTV/Satellite/Terrestrial distribution these channels can be encoded for streaming over Internet as well (simulcast).
A TV channel is an editorial based packaging of content designed for the laid-back viewer. Though the on-demand watching is becoming a big portion of TV consumption today there are still room for a service directed to a viewer that doesn’t know exactly what to watch, which is why I believe consumption of TV channels still has a place in this landscape. However, with a traditional approach as described above, it can be quite costly and cumbersome for every new content package (TV channel) to be created.
So let’s play with the idea that you intend to distribute only over the Internet and want to provide a service for the laid-back viewer.
Together with my colleagues Johan Skaneby, Daniel Nyström, Marilia Bognandi and Magnus Svensson we are developing a proof-of-concept on such a cloud-based OTT-only solution. A solution that is fully cloud-based and scalable. A solution with very little fixed over-head costs and when no-one is watching it should basically not cost anything. The general concept with this solution is that when a user wants to watch a channel an HLS live stream for this specific user is created. The HLS live stream is based on VOD content pre-packaged in HLS that is dynamically stitched together based on the HLS VOD files available in the repository. For the player and viewer it looks and feels like a “live” TV channel but it is actually created on-the-fly and continuously updated with new segments. A HLS discontinuity tag is inserted between the different VOD segments so the player can handle that the timestamps change. Responsible for creating this HLS live stream is the component we call a Personalized Channel Engine (PCE). This component fetches from the Personalization Service which VOD asset to “stitch” in to the live stream for a specific user.
As the content is only intended to be consumed on Internet we can start by having the content stored as MP4 mezzanine and we use AWS Elastic Transcoder to transcode and package to HLS. The packaged HLS is stored on an S3 bucket and distributed over Cloudfront CDN. A server-less approach.
Yesterday, I just got a demo from the team’s first sprint of this project where they have developed the PCE component. What VOD content to “stitch” in was selected randomly as the goal this sprint was to test the concept of building a live stream from VOD. It worked very well and though it remains to see how it works on large scale the PCE is designed to be a server application containerized with Docker and designed to be able to scale up by increasing the number of instances. It will be very exciting to see the next iterations of this project and I am sure that some parts will be contributed back to the open source community.