Hacker News new | ask | show | jobs
by GeneticGenesis 2372 days ago
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/

2 comments

Shout out to mux. We are not quite using it heavily yet for our company but I have been reviewing them for over a year. Mux is the best balance between a very rigid platform (like vimeo) and building your own. Using mux, you can build your own vimeo for example. We run edtech and mux is going to be our choice for video lessons. I personally have dabbled with encoding etc using ffmpeg but it is a whole different story doing it in a production environment.

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.

Wow, I'd heard of Mux before but never looked at it. The service looks impressive, and the pricing page is one of the clearest technically and financially that I've ever seen. It makes me want to include video in my projects!