3 ms·
> and noticed first-hand how needlessly complex and expensive existing services are Can you give some examples? Out of everything I would consider 'complex',
by new_guy 5y ago
> and noticed first-hand how needlessly complex and expensive existing services are
Can you give some examples?
Out of everything I would consider 'complex', handling media wouldn't even make the top 1,000 and services like AWS mean you can store petabytes for pennies.
- eurasiantiger 5y agoMedia is very difficult on the internet. It’s not enough to upload a video and share it, it needs to be transcoded into several different formats (h.264/mp4, vp-9/webm, h.265/hevc), multiple resolutions (from 2160p to 280p) and multiple bitrates (to support low/high bandwidth) as well as different framerates (60/30fps), all while retaining sync with an audio track that gets completely separate processing and compression. None of this is a simple task, and you also need to serve the correct files to the correct clients - fun!
- JamesSwift 5y ago> you also need to serve the correct files to the correct clients Thats been the hardest part for me as a developer. I've had several extended debugging sessions that ended up being "the media is encoded incorrectly for this android device".
- view 5y ago> Can you give some examples? Someone woke up one day with a $8,000 bill while encoding videos: https://github.com/awslabs/video-on-demand-on-aws/issues/48 https://github.com/awslabs/video-on-demand-on-aws/issues/48 There's also this pretty architecture overview in the repo: https://github.com/awslabs/video-on-demand-on-aws/blob/master/architecture.png https://github.com/awslabs/video-on-demand-on-aws/blob/maste... In my opinion, it's too complex and I'd prefer a more simple solution to get to market faster. Imagine adding just a few lines of code to get started instead of setting up all these things on AWS, where you might end up paying up to $0.12/GB for outgoing bandwidth as well.
- eropple 5y ago> In my opinion, it's too complex and I'd prefer a more simple solution to get to market faster. Some folks absolutely need to build their own video encoding pipeline for one reason or another--but the happy path's pretty well-established for folks who just Need Some Video, IMO. At Mux (full disclosure: I'm on the DevEx team there), getting up and running with video is one API call to CreateAsset, followed by a HTTP PUT if your video file isn't already accessible via HTTP somewhere. IMO, hard to be simpler than that. AWS is expensive, but you're right in that it doesn't have to be. Measuring like-for-like is difficult, and per-minute rather than per-GB pricing tends to make more sense for most developers, but for 1080p content Mux is usually around half the price of AWS IVS. Which, having done this before at a previous job--if you want to stay in all-AWS land, is a way better call for your sanity than trying to hack it out yourself.
- laurent123456 5y agoIf the user can upload anything they want, you usually need to have various measures in place to prevent abuse. First, ideally each user should have their own sub-domain (i.e. user_id.somedomain.com) so that if they upload malware your main domain doesn't end up on blacklists. Secondly, you might need to scan the content somehow, again for malware and possibly allow other users to report it. Of course there's the issue with copyrighted and illegal material - there should also be a way to report this, or detect it. I guess it means you need to be aware of and comply with the server country regulations which can be tricky in some countries.