Nginx-rtmp-module: Thanks & WebRTC question

Created on 24 Jun 2013  ·  59Comments  ·  Source: arut/nginx-rtmp-module

Hey !

Your module is really usefull Arut ! I love it ! Thanks a lots :-)

I have just replaced Red5 by your module, for our webcam chat, it's perfect !

Did you plan to add the support of WebRTC please ?
I known the 1st goal of WebRTC is to send/receive webcam in P2P, but this could be very good to receive a webcam to permit to stream it to many persons at the same time (this prevent the user to send it to each user, and save the user upload bandwidth).

If yes, this could be really amazing !

Most helpful comment

I have that in my plans

All 59 comments

I have that in my plans

yeah i would be great to see WebRTC here ;)

+1

+1

Hi !

I don't known if you have started to play with WebRTC, but I just want to known what kind of protocol behind (SDP, SIP, Jingle) you'll support ? :-)

By default, between browsers, it's the simple SDP protocol.
But the Jingle protocol (XMPP standard) permit to be interoperable with third applications (Pidgin, Empathy, Jitsi ...)
And the SIP protocol could be usefull too :-)

Best regards,

No news about WebRTC. However MPEG-DASH is almost ok, see dash branch.

Awesome !
This means it's possible to read inside the HTML5 video a stream from NGINX-RTMP :-)

Now, I just need to publish my camera/mic to NGINX-RTMP in WebRTC to be 100% HTML5, without any Flash plugin ^^

It's not WebRTC, it's MPEG-DASH, a completely different stuff. WebRTC is designed mostly for p2p.
Moreover there's a couple of issues with dash which I think wil be fixed in near future

  • it's only supported by Chrome & dash.js library
  • dash.js still not able to play true live stream, it will only work if you connect at the moment when the first fragment is alive

dash-js seems to support live since few months :
http://streaming.polito.it/2013/03/18/dash-js-with-live-streaming/

So, in theory, this should mean we could play in an "video" tag a MPEG-DASH from NGINX-RTMP :-)

About WebRTC, I known it's P2P, but as explained in my first post above, the goal to support WebRTC in NGINX-RTMP could be really usefull to save bandwidth when there is more than 1 receiver :

In a standardized way in WebRTC :
Romeo send his camera to Juliette
Romeo send his camera to Mercutio
Romeo send his camera to Benvolio

This mean Romeo send 3 times his own video at the same time.

But if NGINX-RTMP can receive/send WebRTC streams, we could do :
Romeo send his camera to NGINX-RTMP
Juliette receive Romeo webcam from NGINX-RTMP
Mercutio receive Romeo webcam from NGINX-RTMP
Benvolio receive Romeo webcam from NGINX-RTMP

Of course, if there is only one destinator, the chat program will not use NGINX-RTMP and do WebRTC between each users :-)

This could be really awesome to have this, to permit to make a video chat 100% HTML5 without Adobe Flash :)

There are a few issues. It actually works live in version 0.2.5 of dash.js http://dashif.org/reference/players/javascript/0.2.5/index.html (you must check the "Live" checkbox).

They're completely rewriting how segment scheduling works for live and should be done around late December. If you read their mailing list, they talk about their progress often. Once they get closer to completion I'm going to put some more work into this to make sure its compatible with their changes.

@stephenbasile I've updated your code in my branch significantly, added S tags with precise timestamps and durations (not only this however). 0.2.5 does not work with my version at all. Anyway we should wait the new version with fixed live streaming.

@arut Thanks, I was planning on working on SegmentList support. I did give it a try but dash.js doesn't seem to be able to handle live SegmentLists. It could not figure out which segment to play at all, even from the beginning.

Ultimately we'll have to get SegmentLists working in their new player so we can support variable keyframe intervals. If you use a variable keyframe interval with a SegmentTemplate the player will get out of sync and eventually playback will fail. But yeah, there is no point in doing any further work until their new version is done.

@stephenbasile it's not SegmentList, it's SegmentTimeline that I use.

<SegmentTemplate
    timescale="1000"
    media="mystream-$Time$.m4v"
    initialization="mystream-init.m4v">
  <SegmentTimeline>
     <S t="1257221" d="11720"/>
     <S t="1268941" d="5171"/>
     <S t="1274112" d="5715"/>
     <S t="1279827" d="7340"/>
     <S t="1287167" d="5547"/>
     <S t="1292714" d="2866"/>
  </SegmentTimeline>
</SegmentTemplate>

@arut Right sorry, that's what I meant. I've been writing HDS support for the past week and haven't been thinking about DASH that much.

I saw you basically rewrote the entire DASH module :P It's looking good, I'll give it some testing when I start working on DASH again.

@arut
Would it be possible to write client to send video stream to server using above technics?
So it works in non flash enabled devises ( iphone) without native app. More simple: Can we strem from non flash/flex somehow? Thanks for your time!

@rubytastic you can stream with ffmpeg in any format from any place and any OS. But to stream from browser you need flash.

+1
what is the current state ? i realy want to use webRTC with nginx-rtmp in both direction (live stream from webcam and stream to one or many subscriber)...

Присоединяюсь к вопросу :)

+1 also looking for a one to many webRTC streaming solution, have heard good things about this module & looking forward to any updates on the implementation of webRTC!

@arut , please has this feature been added ? . I wish to use a web solution independent of flash

theres already a solution for livestreaming a webRTC video conference. I use OBS.

Please is there a link? I think obs is not web application. Or is there an obs publisher that runs on the browser.
I am using red5 oflademo publisher but it is built with flash. Is there any html5 web publisher.

+1
and may helps a bit : https://github.com/kurento

+1 webRTC publisher to nginx-rtmp-module

+100
On Dec 29, 2014 11:17 PM, "Ubu the Tech Guru" [email protected]
wrote:

theres already a solution for livestreaming a webRTC video conference. I
use OBS.


Reply to this email directly or view it on GitHub
https://github.com/arut/nginx-rtmp-module/issues/207#issuecomment-68328878
.

+1 webRTC publisher to nginx-rtmp-module

On Apr 17, 2016, at 10:58 PM, Loong Chang [email protected] wrote:

+1 webRTC publisher to nginx-rtmp-module


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

  • 1 webRTC

+1

+1

+1 to WebRTC publishing

+1 for WebRTC. Just look at this: https://github.com/atyenoria/janus-webrtc-gateway-docker Any ideas?

+1 to WebRTC publishing

+1

+1

+1

+1

+1

+1

This would be really great. Any news?

@lookapanda I've created this ticket 4 or 5 years ago. Even if this was in the plan of @arut , I suppose he doesn't have enough time to work on this.

Yeah but I saw that there was still recent activity

+1

+1 , 2018 !!! , any news ?

+1, Any news? Thanks

+1

+1

+1

any news :(

Isn't there a quick way to implement a "WebRTC to RTMP Adapter" like the one Ant Media Server is using?

This would make this module invaluable, because Flash Player support is diminishing constantly.

So it should work like this:

WebRTC -> Server -> (Adapter makes it an RTMP stream) -> send to RTMP endpoint of nginx server as usual

I think this issue should be opened, as this is VERY IMPORTANT!

For anyone still wondering about this, you could just use janus, which is a general purpose WebRTC server/client solution.

@flexmarkets maybe you could make use of that? https://github.com/godka/kurento-rtmp

any news?

+1 for webrtc. hope to see it very soon.

+1

+1 for webrtc

any news? @arut it has been 6 years, we all will be extremely happy to hear something about webrtc support

+1 for webrtc

Was this page helpful?
0 / 5 - 0 ratings

Related issues

SmokE-PGF picture SmokE-PGF  ·  6Comments

sfmth picture sfmth  ·  6Comments

ama-ableton picture ama-ableton  ·  6Comments

wwwyaron picture wwwyaron  ·  4Comments

Mattyzero picture Mattyzero  ·  6Comments