Alright, to release a video on a streaming platform here is what you need to do:
1. Encode the video in multiple different formats and resolutions for different devices
2. Encode the sound track in multiple different formats for different devices, and package those up alongside the video file
3. Encode the subtitles in various formats and languages
The number of combinations of the above is, by itself, super complicated, and if you pay close enough attention to the different streaming platforms you can see that they all get it wrong sometimes.
And remember that content is being ingested from multiple different sources, from internal studios to purchase agreements with small international indie studios.
Alright, so you got that taken care of, now you need to get the files out to CDNs. You have your ISP based CDNs, e.g. Comcast really wants to cut costs, you may possibly be running your own backhaul between your own CDNs, and then there are the large CDNs everyone knows of as well.
And video playback isn't just a static thing. People want to be able to pause a video on their TV and resume it on their phone, so every few seconds you are sending completion info on where the video is at, except some playback platforms are so locked down that they allow you to initiate sending data back over the network (!!!) so you have to find a way to estimate how much of the video the user has played back so far. Spend some time thinking how to do that, and you can imagine that it gets horribly ugly.
1. Encode the video in multiple different formats and resolutions for different devices 2. Encode the sound track in multiple different formats for different devices, and package those up alongside the video file 3. Encode the subtitles in various formats and languages
The number of combinations of the above is, by itself, super complicated, and if you pay close enough attention to the different streaming platforms you can see that they all get it wrong sometimes.
And remember that content is being ingested from multiple different sources, from internal studios to purchase agreements with small international indie studios.
Alright, so you got that taken care of, now you need to get the files out to CDNs. You have your ISP based CDNs, e.g. Comcast really wants to cut costs, you may possibly be running your own backhaul between your own CDNs, and then there are the large CDNs everyone knows of as well.
And video playback isn't just a static thing. People want to be able to pause a video on their TV and resume it on their phone, so every few seconds you are sending completion info on where the video is at, except some playback platforms are so locked down that they allow you to initiate sending data back over the network (!!!) so you have to find a way to estimate how much of the video the user has played back so far. Spend some time thinking how to do that, and you can imagine that it gets horribly ugly.