Show HN: Mux Video, a simple API to powerful video streaming
Having had experience in streaming to many thousands of users myself I think what you&#x27;re doing here is certainly interesting - having taken a look at your service it seems likely you&#x27;re using nginx and possibly RTMP module? At least that&#x27;s what I&#x27;ve used for HLS streaming in the past (which works really well). It&#x27;s a shame you only support HLS - which famously chrome doesn&#x27;t support on desktop, so this doesn&#x27;t really solve the whole problem with multiple codecs and maximising cross-browser support, which relies on MSE at the moment to get HLS to work.<p>I also noticed in the m3u8 file there are multiple versions of your file depending on quality - it&#x27;d be nice to expose this via the player so I can select the quality I want to view it at - if I am bandwidth limited 480p may just be sufficient! Also with 4k and even 8k becoming ever popular, how do you plan on dealing with this?<p>I&#x27;m also intrigued about video storage - will you store videos forever? How will you handle storing multiple qualities? Is there server redundancy? I noticed your video is streaming via mux.com for the m3u8 and fastly CDN for the TS fragments themselves - In theory there&#x27;s nothing stopping anyone using this as a rather nice transcoding service - POST a video, and download the m3u8 file to gather the .TS fragments and join them together for a nicely transcoded video, you should also allow people to download them and host it themselves, it&#x27;s not like you can stop that anyway.<p>Will be intriguing to see how this develops, it&#x27;s a nice idea, but you&#x27;re soon going to figure out _why_ video is hard - making this was for sure the &quot;easier&quot; part, keeping it growing&#x2F;sustainable is where you are going to struggle once you are dealing with multiple PB of data storage and streaming, it&#x27;s the same reason Youtube isn&#x27;t profitable.<p>Relying on a CDN like fastly is of course possibly cost efficient, but I worry if they decide to kick you off what your plan is, there&#x27;s absolutely no way in hell you could _ever_ serve the video fragments yourself so whilst you&#x27;re solved (possibly) one problem, you haven&#x27;t really invented anything revolutionary.<p>I am also interested how you&#x27;re going to stop people hotlinking the videos themselves - this is something I tried to prevent _really_ _really_ hard - but with m3u8 it&#x27;s simply not possible (well, it is kind of if you use a query string with an expiration token, but that has its own problems).<p>As I said, I could just link the CDN m3u8, for example, downloading:<p><a href="https:&#x2F;&#x2F;stream.mux.com&#x2F;SdLAIpK2YUpIGOgVosm8Hyv6F7t01RadXYZWFuAd8YEh8m2gLrF8XZ2UzSKPWvy00iWOl00OlqxPSE&#x2F;rendition.m3u8" rel="nofollow">https:&#x2F;&#x2F;stream.mux.com&#x2F;SdLAIpK2YUpIGOgVosm8Hyv6F7t01RadXYZWF...</a><p>tells me all the .ts files fastly is using - why bother with YOU and not just fastly themselves since THEY are the ones hosting your video.