Updated: May 25, 2020
An affordable catchup TV service for OTT Operators comes from Magoware IPTV/OTT Solutions.
CatchUp TV Service is the recording of a linear TV channel for a predefined period of time, and after providing the recording either in the form of a linear TV or as a VOD (Video on Demand). In the DVB (the traditional over the air transmission) the recording is performed on the customer device, inside the Set Top Box (STB) which required the device to be ON all the time and it comes with limitations on the number of channels you can record at the same time.
But things are changing now with linear TV channels being delivered over the internet. The two-way live communication is enabling greater possibilities; it is making catchup TV a lot more flexible.
We at Magoware suggest the following approach in order to build your cost effective CatchUP TV:
Few affordable softwares you can use to provide catchup tv today are Wowza Streaming Engine and Flussonic Streaming Software.
Wowza. Prices at $95 per month per server, officially supports recording of up to 30 hours. https://www.wowza.com/docs/wowza-ndvr-quick-start-guide#recordingLength
Flussonic. Priced at costs at $85 per month per server, officially supports recording until you fill up the server storage, so there is no limitation on the number of hours or days you want to record.
Nimble Streamer. Priced at $75 per month per server, officially supports recording until you fill up the server storage, so there is no limitation on the number of hours or days you want to record.
Those are only the prices of the software; you will also have to add the price of the server, either one time if you buy it, or per month if you rent it.
What to consider to scale.
Based on Magoware experience in this industry, OTT delivery relies its performance on the CDN (Content Delivery Network), where video chunks (small video files) are delivered through the CDNs caching servers. However, the CDN can only help so much on the catchup stream delivery. The reason is that different from live tv where everyone is watching the same video at the same moment, in catchup tv everyone is watching a different moment of the video.
To improve this Magoware suggests you to consider:
Increase the duration that the CDN will store video chunk files. This way video chunk files are served from the CDN, and not from your server. The longer chunk files live on the CDN, the better the off-load on your server. Please note that this may also cause extra consumption on the CDN storage however.
Use SSD hard drives or other high speed hard drives for recording server. SSD drives are several times faster than standard drives which makes the writing and reading process much faster, hence serving to more requests at the same time.
Dont record all popular channels on the same server, spread them into different servers. As a rule of thumb 80% of the users watch 20% of the channels, so don't record all popular channels on one big server. Rather spread them on multiple smaller servers.
How to serve Catch Up TV
As soon as there is enough recording on the server, the traditional way to serve catchup tv is by extracting the recording into smaller VOD assets by referring the start and end time of each VOD to the EPG (Electronic Program Guide). So the customer at home, will choose from the EPG Guide his/her favorite show (in the past) and start playing it. This method has some disadvantages:
If the EPG is missing there is no way for the server to extract the recording, startup time and end time of the program will be missing.
If the EPG is wrong or not alligend, video extractions will also be wrong.
If a program has not finished yet, you cannot watch it from the beginning.
We recommend implementing a different way, by not relying on the EPG data but implementing a timeline ruler which will allow the user to play at any moment in time within the recorded window. This way can be also combined with the EPG for a reference, but does not rely on it for accuracy and it does also enable watching a show even if it has not finished recording.
Here are a few screenshots: