|
Hey, I've worked in streaming video for 10 years now, and I co-organise the biggest video streaming conference in the world. Here's my insights. If you want to build a video platform from scratch, your cost models are going to be dominated by the combination of data egress and CDN costs. Transcode and storage costs are non-trivial, but do quickly become noise against delivery costs. As CyberFonic mentioned, AWS has a variety of media products, which for transcode and storage work well, but then to deliver you'll need a CDN to deliver the content. The simplest way of doing this is to just hook up CloudFront, but the list prices for CloudFront are very high ($0.085/GB in the US), you'll be able to negotiate this down, but Cloudfront isn't actually a great CDN performance wise (particularly outside the US), and eventually you'll want to use a multi-CDN strategy for performance and reliability reasons. Then comes the second hit, if you store your content in AWS and need to egress to a third party CDN, you can be paying very high data rates on that data transfer, particularly in regions such as Asia and Australia / NZ. Now, honestly, if you're small and have a lot of time to invest, go for it, it's an amazing learning experience, you can learn a lot about how streaming video works on these sites and playlists: https://howvideo.works/
https://awesome.video/
https://www.youtube.com/channel/UCIc_DkRxo9UgUSTvWVNCmpA Honestly, my recommendation is to focus on content, and user experience, and utilise modern off-the-shelf video services, like: Mux - https://mux.com - An API first video infrastructure provider (Disclaimer: I work here)
Cloufdlare Stream - https://www.cloudflare.com/en-gb/products/cloudflare-stream/ |
I do have some additional feature request for mux like restricting by IP or http_referrer etc as a nice to have but otherwise, it is solid.
A closer competitor that I evaluated is Cloudflare stream but they are a bit more abstract than mux. So less controls on the player etc compared to mux where you come up with your own player.