3 ms·
I have been researching VOD infrastructure for a while now. So far, most services are either too expensive, too isolated or too rigid on how they are available
by codegeek 9y ago
I have been researching VOD infrastructure for a while now. So far, most services are either too expensive, too isolated or too rigid on how they are available to developers. Then there are the wistias, the vimeos, the vidyards which are too user centric and are more focussed on marketing and analytics.
AWS Media services seems exciting other than the cloudflare one that popped up back in September. Can't wait to try both.
Ideally, I would love something like the following:
1. Ability to upload video and transcode for cheap. Most services charge based on per minute of transcoding and get real expensive if you plan to process tons of videos. Not to mention, they charge additional for HD minutes. I have looked at amazon elastic transcoder, zencoder, encoding.com, coconut.co etc. Thinking of building my own using a decent VPS and slapping ffmpeg on top of it. Any suggestions ?
2. Video delivery and player for things such as HLS, Dash etc. So far, I have found shaka player from google to be a good one. There is even a videojs integration for it which seems to work well.
3. Video distribution/CDN. This one is still tricky for me. Some CDNs are not good with videos and some are too generic. Evaluated maxcdn/stackpath, keycdn, fastly and now looking at cdn77
So yea, this is a tough problem. I hope someone does it in a way that it is easy for developers to build their own using the infrastructure. Right now, it is all fragmented.
- lwhite726 9y agoCheck out https://mux.com/video https://mux.com/video. Disclosure - I work for Mux. But we are building something very similar to what you have described. Read more here: https://mux.com/blog/announcing-mux-video-a-simple-api-to-powerful-video-streaming/ https://mux.com/blog/announcing-mux-video-a-simple-api-to-po...
- d_k_f 9y agoI can speak to 1.) a bit as I have done just that for a client of mine. By default, they're using Zencoder/Rackspace to encode/store their videos and usually get one-off videos from their customers. However, sometimes there are requests to encode 2.000+ videos at once which gets prohibitively expensive in their constellation. So we basically started out with a very naive solution: A Docker image with ffmpeg and access to a shared Redis DB used for job coordination running on a somewhat beefy server from Hetzner (beefy compared to regular VPS offerings, something in the 40€ range with 16 or 32gb of RAM I think). This turned out to work surprisingly well so we built a small API around that mirroring parts of Zencoder's API. This way, we can switch between both services on a per-job-basis and only need to change the encoding service's endpoint URL. The main thing that will get you (if you do input validations) are the video formats. I've tried to get an authoritative list of valid MIME types beforehand, but still people managed to somehow send us videos with weird encodings that I'd never heard of before. Other than that, the usual caveats regarding self-hosted services (availability, failover, backups, etc.) apply but have so far not been much of a problem to us (especially since we can just go back to Zencoder when something breaks and needs to be done fast). Feel free to drop me a message (mail is in my profile) if you have any questions.
- codegeek 9y agoWould love to chat but I don't see your email in profile. Put it in your profile description as emails are not shown publicly or email me if don't mind (in my profile)