If you've ever managed a VOD service as a provider, then it could be the one area where you miscalculated the actual internal operational costs. As most providers have found, offering movies, recordings, catchup, and time-shifting may seem like it can be managed by less than a full-time equivalent person, but in fact, it probably needs several FTE's. Unless you automate. The interesting thing is that almost everyone understands that catch-up, recording, and time shifting is a natural for automation because it’s a service in real-time that provides the same assets out to many. But in fact, a lot of product planners under-plan the operation of a VOD service by thinking it doesn’t need a high degree of automation because they may not understand the true nature of how assets are provided in an on-demand environment. And the end result of not understanding how the VOD service flows will lead to needing 2 to 5 employees at a minimum to manage the intake, inputs, and changes required for VOD management. Automating your VOD workflow will allow you to manage your VOD service on a part-time basis with over-sight from just one manager. There are several ways to accomplish automation, but here's the main things that you need to keep in mind.
You might be getting good quality metadata delivered from your VOD content provider directly but if not, then try to look for metadata providers from your own region for the local content. And for international content, talk with metadata providers like Rovi or Gracenote for the more mainstream content.
In our case, the IPTV/OTT middleware doesn't store video streams so we only need to touch the metadata. We import & cache VOD metadata into our internal database. This allows us to optimize the display of the VOD UI on the STB, PC, or Mobile devices and enable the subscribers to purchase & watch the VOD Movies as well as creating the required reports for the studios. The metadata files are usually in XML files (i.e.: Cable Labs) and retrieved from an FTP server, a Web-service, REST-API, or HTTP-server depending on your VOD content provider. Having multiple movie providers is ok, but remember to carefully plan how to uniquely identify the movie assets and the different content providers so you avoid file name and ID collisions. One obvious method for avoiding duplicate files and ID is to prefix the content from each provider by using the name of the provider in your Header. Your middleware server will connect to the server or API and download & parse all of the metadata and add or update the internal database accordingly. This parse, add, and update can occur according to a regular interval, that you specify. In fact, a good time is usually once every 24 hours in the early morning so that the new movies published that day will be available as soon as possible.
The VOD content provider will either upload the new assets to your server (Secure FTP server or similar) or you will need to periodically check for new files. Once the new files are checked they are downloaded according to some agreed upon interval, usually one or several times a day. This process is already automated if the files are uploaded to you and usually very easy to automate using shell scripts if you are indeed periodically downloading the files The files will then be transcoded to whatever format(s) you need and encrypted with the DRM that you use unless this is done by your VOD provider (we hate to be the spoiler, but, they are almost never transcoded by the provider). It is also recommended that you use a verifier on the transcoded output to ensure that there are no video glitches, AV-sync issues, or anything else that would lower the user experience (this verifier would require a blog post of its own so let's move on).
Now you have metadata and video files and need to match them up to each other. If the metadata and movie assets are not delivered from the same company or source, then you will need to decide on a naming convention in order to link the video files with the metadata. The metadata usually contains a publish date for the movie or TV series episode. The middleware server will commonly assume that the actual video file referenced in the metadata is available on the origin server by the publish date of the Movie. In most cases, the Operator will need to transcode and encrypt the movies. The operator must make sure that this process is fast enough so the transcoded movie is available by the publish date. If not, the customer will not be able to watch the movie he or she just purchased. This can be a challenging if several new movies arrive on the same day they should be published. But here are a few work-a-rounds for that challenge: One solution is to have an “incoming” folder where the content provider or the operator uploads the Video files and the metadata files. The operator will then run the Video files through the transcoder to an “output” folder and have a script that moves the corresponding video file AND metadata file to the output folder only after the transcoding has been successfully completed. Another solution is to have the middleware server actually check if the video file is available by trying to check if the file exists or even try to play it before allowing the movie to appear in the User interface. This can be integrated into the Metadata import process quite easily by doing an HTTP head request and check the size of the file. If the metadata file does not contain the correct URL & path to the movie or if the transcoder changes the path, format, filename or the file extension then the script also needs to modify the metadata file to contain the correct URL & path to the movie. The URL & paths should be relative if the VOD movies are to be played back with the Operators own CDN (for example Edgeware/ Convoy). The paths should usually be absolute if the VOD movies are played back from a 3rd party CDN or provider in the cloud. This could also be done by the middleware if the same naming logic is configured in both the transcoder and the middleware
Hope that was helpful in reducing operating costs associated with VOD management. Let us know if you have any questions.