STEAM GROUP
Steam Broadcasting STMBRDCST
STEAM GROUP
Steam Broadcasting STMBRDCST
4,535
IN-GAME
14,300
ONLINE
Founded
December 2, 2014
Low latency streaming service/solution advertising
Hello, as you probably noticed, most of streaming services are introducing a relatively big delay between your published stream and what stream subscribers seeing, varying from 30 to 60 and even more seconds of delay.

I have done some research and found FOSS-solution capable of addressing this latency issue. It is nginx-rtmp-module[github.com], which is basically accepts the RTMP stream and broadcasts to a number of peers, configurable to avoid 10+ seconds delays in general case and having 1-3 seconds at correct broadcaster configuration and non-buffering client in best case.

And I wrapped nginx with nginx-rtmp-module into as well FOSS service, implemented as Java/Spring Boot application, which can be deployed and used by anyone willing.

Currently i have one instance of the service deployed to http://video.eientei.org

But instead of using it directly (e.g. signing up there and stream via it for other than testing purposes), i recommend setting up own copy of service, here are the sources: https://github.com/eientei/videostreamer

Of course lower latency is not coming without a price, here are cons:
* service in it's default configuration is not doing any kind of transcoding, leaving the whole burden of correct stream configuration to a streamer.
* it is using proprietary flash plugin to play RTMP stream by default, which is might be not desireable, but this is most stable and least latency-introducing method of re-streaming i've found, having tried many of HTML5 technologies, which are seem to be not yet well prepared for live low-latency streaming. But you can still put RTMP stream into any other RTMP-supporting player, simply replacing full stream url schema:

http://video.eientei.org/live/yukkuri
to a
rtmp:/video.eientei.org/live/yukkuri
* the service itself is immature and needs lots of critics, thats what i am hoping for.

But if you don't need to satisfy a broad audience, and really just want to stream your game to a friends while talking in any kind of voice chat, it could do the trick.
Last edited by iamtakingiteasy; Jul 25, 2015 @ 1:25am
< >
Showing 1-5 of 5 comments
Will Bang Jul 25, 2015 @ 4:46am 
Will keep this in mind. Thanks for sharing!
FrenchMaidKitty Jul 25, 2015 @ 5:53am 
lol, I also setup my own nginx-rtmp server for streaming. And a make-shift Twitch like index page, and my live page is pretty basic with jwplayer and no chat features or accounts for that matter. I'll be adding that when I have time.

My site does HLS Adaptive Streaming to iOS, and basic HLS for android devices. I also encode videos to different bitrates (at least for my stream as I found it to be a little too memory hungry to provide for all users on my VM with only 1 GB ram).

My stream delay is about 5-8 seconds. My latency is at least 2 seconds more due to me using a "incoming" stream url, and having ffmpeg pass it to a "live" url. This is the only way I could support multiple qualities per per stream.
Last edited by FrenchMaidKitty; Jul 25, 2015 @ 7:06am
Milk Mommy Jul 16, 2016 @ 4:45pm 
Does this work on windows?
iamtakingiteasy Jul 17, 2016 @ 6:54am 
Depends n what you're asking; if you want to stram, then sure it do, there is plenty RTMP-streaming clients such for windows, such as OBS (Open Broadcaster Software): https://obsproject.com ; VLC: http://www.videolan.org/vlc/index.html or CLI ffmpeg: https://ffmpeg.org/download.html

But if you're talking about actually *hosting* videostreamer server-side on windows, nothing is that simple; though you may have luck finding windows builds of nginx server and nginx-rtmp plugin. The java code itself is kinda platform-agnostic.
Last edited by iamtakingiteasy; Jul 17, 2016 @ 6:56am
Scotish gay robot Sep 9, 2016 @ 12:28am 
No [roblem
< >
Showing 1-5 of 5 comments
Per page: 1530 50

Date Posted: Jul 25, 2015 @ 1:23am
Posts: 5