RTMP, Load Balancer, Origin/Edge, JWplayer 5 / 6, Trancoder

Hi,

Is there any possibility how to run the following:

FMLE -> Origin -> Transcoder -> Edge -> JWplayer 5 or 6 (flash RTMP)? For live streaming?

Everything works great, but only on “one server setting”. I can’t setup any functional setting to run Loadbalanced (redirected) Origin/Edge setting together witch Adaptive bitrate streaming + JWPlayer (version 5 or 6).

I have read many forum posts, but it’s so unclear for me.

Any idea?

OK. Maybe I have some solution. It’s from this post - RTMP dynamic streaming use nrgp thru Edge/Origin

And for loadbalancing - response from httpprovider - http://[ORIGIN-IP]:1935/loadbalancer

You need to do this one step at a time, testing each before adding.

Publish with RTMP Encoder to Wowza live application:

https://www.wowza.com/docs/how-to-set-up-live-streaming-using-an-rtmp-based-encoder

Now test playback in the Wowza RTMP live example. If it works, then setup LiveStreamRepeater, making the live application above the origin:

https://www.wowza.com/docs/how-to-configure-a-live-stream-repeater

Test playback in RTMP live example from the edge, you can setup Transcoder on the origin.

https://www.wowza.com/docs/how-to-set-up-and-run-wowza-transcoder-for-live-streaming

Now test playback on the edge of a transcoded rendition. If working, you can start working JW player ABR playback from the edge. Take a look at the 2nd example in this article:

https://www.wowza.com/docs/how-to-use-jw-player-with-wowza-streaming-engine

Note that RTMP ABR is not directly supported, see the link to method of generating client-side smil for JW Player’s RTMP dynamic streaming. JW player Premium can be configured with just a HLS link.

The last piece you should add is Load Balancer. JW player has built-in support for Wowza Load Balancer, so it is very easy. The Load Balancer is not involved in streaming, just tracking edge servers and providing clients with least loaded edge. So make sure everything else works, then layer this last.

https://www.wowza.com/docs/how-to-get-dynamic-load-balancing-addon

Richard

Edgar,

It depends on how you are using JW Player. If you are using RTMP Dynamic Streaming only, you should be able to use the Load Balancer NetConnection Method. You might have to use a .play file, which is similar to a .stream file. But I would have to knock it around to see exactly. Let me know if that is what you are doing.

If you are using JW Player HLS to the desktop or HLS fallback for iOS devices, I would not use the Load Balancer NetConnection method. You can just use the HTTP method instead, which you can do in your application server as you are forming the player for a client request.

Richard

Hi Richard,

I’ve followed all guidelines related …

My scheme is …

FMLE -> Wowza Origin -> (Transcoder) -> Wowza Edge -> JWPlayer 6

Transcoder generates 4 streams

First, I tested successful ABR connecting JWPlayer to Edge server directly.

Then, I added loadbalancer on the Wowza origin and It works fine if I want to get specific stream from the least loaded server using two possibilities

A) Netconnection redirect with rtmp://x.x.x.x:1935/redirect/ on the player and Edge conf with wowz://x.x.x.x:1935/StreamTest/myStream or

B) Netconnection redirect with rtmp://x.x.x.x:1935/redirect/myStream on the player and Edge conf with wowz://x.x.x.x:1935/StreamTest/

The final scheme should obtain the best stream (with ABR) from the least loaded server…

but don’t understand how should I use ABR or smil files in this cases with loadbalancer method.

You mentioned that RTMP ABR is not directly supported so I think it should be possible to implement. What are the alternatives to implement similar schemes?

Thanks in advance

Edgar