nginx-rtmp-module
nginx-rtmp-module copied to clipboard
Repo dead?
Are there plans to pickup this repo after months of inactivity?
I don't know arut bumped the nginx compatible build # a few days ago: https://github.com/arut/nginx-rtmp-module/commit/f62a0838064baf089ad9fe3c8f6f2ffe0775afb2
Arut is working directly for nginx now.
Yeah, money will destroy every good OS project. Started with HDS, slowly dying now.
Why I'm not helping? I just don't fully understand nginx's internal models, so I'm forking alternative rtmp server and working on it.
I think the repo as it stand is still quite powerful, you just really need to understand it inside and out. I've been working on it daily since November 2014 and have a full scale application out of it. I do know that Arut is still committing time to time to it though.
@mknwebsolutions would like to hear more about the size and scope of your application (if just generalities) some interesting aspects I'd like to learn more about at scale: load balancing, memory and bandwidth consumption, encoding / re-encoding at scale. Thanks!
@jordanbaucke the quick summary is: rtmp output scaling absolutely sucks, thousands of streams later and we realized that just no one runes rtmp outputs. Scaling and relaying from the top level seemed simple but there's just so many moving parts that can break rtmp. Use RTMP for input, but use HLS for output. Twitch, Youtube, Xfinity / Cable companies, etc all use HLS.
With that being said, nginx rtmp should be easy to use since it's now on your broadcasters to stream a clean connection to it, HLS (standard http req) does the rest. We use Amazon's CDNs to push HLS out for us. Since we've made the move my stress level has dropped by at least 60%.
@mknwebsolutions thanks! That was my assumption - ingest via RTMP, re-encode and then propagate out HLS versions via a CDN (the tool that's creating the broadcast, say a Flash component generates RTMP - are their tools that broadcast directly in HLS?)
As an aside, when you distribute your HLS content to these CDNs there isn't really any magic right? Anywhere I could read about this ? I understand writing the HLS components to a local disc, do you just point the CDN to a relative URL and it reads and takes care of the rest? Or do you push the HLS playlist / files out to them?
@jordanbaucke bingo, exactly. There's definitely a few other out there i.e. wowza, nodejs, etc... I def prefer nginx rtmp though.
Correct on CDN too! Few ways to do it, my route entails pushing the files to amazon S3 via S3FS. The playlist and files are pretty standard stuff, i.e. a playlist and video files.
Would anyone be interested in helping maintain a fork of this? I considered it, since I've already contributed so much code to this repo, but I'm not sure I have the time by myself.
@stephenbasile I would. I'd probably be more help with a UI / web-management interface which is a nice-to-have but I've written a few modules to upload stills to S3 and other "nice to have" routines. If we built-up a set of functionality to extend the actions and event handlers, as well as some interface to the logging I think people would find it interesting.
@jordanbaucke Cool, making this competitive with commercial media servers would definitely require a web interface. As well as Playready support, Common Encryption (and other DRM), on the fly VOD packaging, etc. I'm kind of interested in doing all of that. I've done it before, but only for employers as closed source.
Before taking on squashing the giant pile of bugs and feature requests on this project I'd definitely want to know another C programmer is interested in helping.
Cheers, sounds good to me- I'll keep my eyes open as well. There's probably a decent business to fund development/some bounties running a hosted version of an open-source platform (like Wowza, jwPlayer, etc.) if we can get it stable / intuitive enough
On Tue, May 19, 2015 at 4:59 PM stephenbasile [email protected] wrote:
@jordanbaucke https://github.com/jordanbaucke Cool, making this competitive with commercial media servers would definitely require a web interface. As well as Playready support, Common Encryption (and other DRM), on the fly VOD packaging, etc. I'm kind of interested in doing all of that. I've done it before, but only for employers as closed source.
Before taking on squashing the giant pile of bugs and feature requests on this project I'd definitely want to know another C programmer is interested in helping.
— Reply to this email directly or view it on GitHub https://github.com/arut/nginx-rtmp-module/issues/605#issuecomment-103700476 .
Hello guys, I have some experience with C++ (was the language I learned programming in) but i'm now working with Perl. Some time back, when I tried to program C++ under Linux, I was like writing only C code. I would love to help you 'reviving' (?) this project/repo but I am unsure if I would be a good help, since I don't know how to write nginx modules, neither have I any experience with writing a rtmp/streaming server. I think I need some good amount of time to dive into these things.
Already working on it locally. 22 maj 2015 16:50 "winlin" [email protected] napisał(a):
Why not try https://github.com/simple-rtmp-server/srs ?
— Reply to this email directly or view it on GitHub https://github.com/arut/nginx-rtmp-module/issues/605#issuecomment-104680002 .
@mknwebsolutions rtmp has min 2 sec delay but hls have way more delay than that plus moving all those files to S3 (CDN's origin) as they are generated is a big headache. how do you overcome that ?
@junaidnasir yes it definitely is! We utilize enhanced networking servers, so moving files to S3 is almost unnoticeable.
@mknwebsolutions can you share which tool are you using to move the files ? or have you mounted s3 using s3fs ?
@junaidnasir s3 via s3fs, but again the key is having enhanced networking enabled, won't work as well without it.
@junaidnasir "rtmp has min 2 sec delay"? A friend recently measured the delay from my servers to be around 1.1 seconds.
@VackerSimon yes you are right, i forgot the player's default buffer size. @mknwebsolutions oh thank you, In my case s3fs was eating up all the CPU (recording HLS with 2 sec chunk so a lot of files to be moved), will test it with enhanced networking
Using nginx-rtmp-module or srs with s3 is like taking two best, cheap encoders and they buy 1000 Wowza licenses to stream for 1000 viewers. S3 costs are so big, I don't wonna even ask you how much money you lost because using it.
@misiek08 nginx-rtmp, srs, and woza will all use the same bandwidth and have the same bandwidth cost on AWS... S3 will have an additional cost for PUTS and GETS but it's $.005 per 1000/req PUT and $.004 per 10000/req GET. Sure, I'm loosing 90 cents a month lol.
I say about storage and bandwidth costs.....
@misiek08 any of them, you set playlist to 30 seconds for HLS, then use AWS S3, CDN, or direct from server, they all use the same bandwidth pricing out. With a playlist of 30 seconds your storage per channel is maybe 10-20MB of immediately expiring files. So no, there's not really a storage cost. I don't understand your comment.
Yes, I see we have a misunderstanding. I tried to say, S3 is one of most expensive CDN I know and using it with such great, free software is bad idea (of course, for rich ppl is great, but I care about costs).
@misiek08 gotcha, well I wouldn't say it's the most expensive CDN. It's actually the cheapest of the best CDNs that have datacenters throughout the world. There are very cheap CDNs, but you get what you pay for.
I use to get 1 in USA and 1 in EU and have 40% of costs. That's my point of view.
@jordanbaucke interested in any additions you have made. I want to be able to stream live broadcast to a final media file on Amazon s3 or another remote location. Also I am assuming that new apps/feeds players could be dynamically added by using a control interface, thus the ability to add /category/stream name?
If you are interested in any dedicated solution you can contact me by mail. I have solutions made on multiple projects (srs, nginx-rtmp, own nodejs and Go programs, even Wowza - but it's expensive) and multiple, cheaper than Amazon cloud operators. I still have not enough time (because of university) to make a website with offer, but in some time I hope I will publish ready product.
I can help with nginx-rtmp. I can rate my knowledge in C for 5-7/10 and in nginx module development 5/10. Other languages/technologies: Go, PHP, node.js, Perl, Bash, Java (not enterprise), so I can help a little. Of course HTML/CSS included :)
Super, if anyone wants to chat about modules and features please contact me, i can also be found on Skype at paulashford1975.