Remote office Live stream repeater

I am currently tying to set up a live streaming platform with one main office and several remote offices (Remote offices located in different parts of the country). The goal is to have the remote office employees connect (play the live stream with jw player) to a local server in that particular office to limit the amount of traffic coming back to the main office (illustration below). I am not sure, And I think I am confused, if I should set this up as a live repeater, load balance, or origin and edge setup. I had a few initial e-mails with support and they talk about using .stream files.

The more articles and post in the forums I read the more confused I get. Any help or point in the right direction would be greatly appreciated.

Hi,

The player would be connecting to a specific edge server and that edge would then get the stream from the origin. The edge server will make a connection for each type of streaming client meaning that depending on the range of supported playback devices/players that you have configured, you could be requesting the same stream multiple times.

To have a single stream between the origin and edge server, you can use a .stream file on the edge to pull the source from the origin.

The edge servers will then need to packetize the stream for any HLS clients you wish to support. Please see an article please for using a .stream file to access a live source.

How to create and use .stream files in Wowza Streaming Engine Manager

It sounds like you’re confusing Origin/Edge setup with load balancing. To load balance across multiple servers you can get the Wowza load balancer from the following article.

How to get Dynamic Load Balancing AddOn

The Wowza load balancer will need additional work for all streaming types to be supported, currently this only works with RTMP clients.

Regards,

Jason

[Edited]

Hi,

You’re not allowing RTMP connection on the origin server so you will need to enable this so you can use the Origin URL on the edges.

This will allow you to repeat the stream but only using protocols which are enabled on both the origin and edge as the edge uses the origin to get the stream making a connection for each client type.

Please see the guide below.

How to configure a live stream repeater

If you’re using an “Live Edge” application (as shown in guide above) it has a Origin URL which means you don’t need a .stream file.

If you’re using a “Live” application you can pull the source in using a .stream file which again means you will need to enable RTMP on the origin. When using a .stream file you can packetize for HLS clients on the edge if you wanted to allow playback using HTTP clients and allow RTMP or RTSP as needed. If you’re using RTMP for playback with JW player which it appears you are with the links provided, you will need to enable RTMP playback on the edge application too.

Please see the guide below for creating .stream files.

How to create and use .stream files in Wowza Streaming Engine Manager

I recommend choosing which type of origin/edge you wish to use (“Live Edge” application using Origin URL) or (“Live” application using .stream files) and ensure this is working before you try adding the load balancer.

When you’re happy the origin/edge is working you can then add the load balancer knowing what to troubleshoot if it doesn’t work as expected.

Regards,

Jason

Thank you for your fast replay Jason, Just got your email as well.

So to clarify if

Origin server: IP 192.168.1.50

Edge server Office A: IP 192.168.1.61

Edge server Office B: IP 192.168.1.62

Edge server Office C: IP 192.168.1.63

Edge server Office D: IP 192.168.1.64

Origin Server

Edge Server would look like

the JW player would look like

For office A

jwplayer(‘player name’).setup({

file: ‘rtmp://192.168.1.61:1935/livestreamedge/myStream’,

For office B

jwplayer(‘player name’).setup({

file: ‘rtmp://192.168.1.61:1935/livestreamedge/myStream’,

For office C

jwplayer(‘player name’).setup({

file: ‘rtmp://192.168.1.61:1935/livestreamedge/myStream’,

For office D

jwplayer(‘player name’).setup({

file: ‘rtmp://192.168.1.61:1935/livestreamedge/myStream’,