Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is really great. I've seen so many of these "self-hosted live video streaming" sites show up here and this is the first one that show the actual backend code. Usually they're just web frontends to some video streaming website. Questions:

-[0] How widely deployed is this stack (specifically nginx rtmp/vod) around the live-streaming industry?

-[1] You listed under the Feature that it support "Pay-per-view" and "Pay-per-minute" -- how exactly is that enforced if the playback is just regular HLS? (Are you checking every single request for a .TS segment in Django?)

-[2] VOD/Recording is really cool but has enormous storage costs. How does BoltStream handle the long-term storage of streams?

Edit: re [1]

It looks like there's a somewhat sophisticated mechanism [here](https://github.com/benwilber/boltstream/blob/master/ansible/...) that's just checking the requests for the encryption key instead of every single request for the MPEG-TS segment.

This is awesome though. Thanks for sharing it!



[0] RTMP is common; `nginx-rtmp` is not common in industry to my knowledge. RTMP ingest is a pretty different task from HTTP reverse proxying. Wowza used to be the common software that was used. Twitch moved off of Wowza and wrote their own ingest stack when I worked there.


Facebook live (https://engineering.fb.com/2015/12/03/ios/under-the-hood-bro...) and several others use nginx-rtmp. It's fairly common in china as well from what I've seen.

RTMP is still the best protocol for publishing live streams IMO, and in my experience http-flv blows HLS out of the water for < 1 sec latency. The protocol is old but at least you aren't 15 seconds behind the action.


FB live says there that they use a modified version of nginx-rtmp for delivery. I don’t know about ingest.

I still think RTMP is a tough choice for delivery. I winder if they are still doing that, 5 years later? I would be surprised, but maybe.

There are lots of ways to make HLS run at much less than 15 seconds. With some clever tricks, a cooperative player, and good network conditions, it can be under 0.5s. Hitting 2-4s latency is relatively straightforward. The strategies here are sometimes bundled under the term “LHLS,” and Apple’s LLHLS incorporates some (not all, grrr) of them.


nginx-rtmp hasn't seen a commit in 3 years, kinda unmaintained.


I admit I do the same thing when looking at projects. When was the last commit? Is that the best measure though? For something like this maybe there doesn’t need to be any more activity?


There are well maintained forks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: