How to get Wowza Player to view a stream with the Load Balancer Add-On?

I can get the Load Balancer Add-On to work but I cannot get the Wowza Player to stream it properly. I can get the Player to stream the original feed from the Origin server but not from the Edge server.

My setup:

  • Origin Server running Wowza 4.7.4 on Linux Mint 18.1
  • Edge Server running Wowza 4.7.4 on Ubuntu 16.04.3

I’ve pushed to the Origin with Adobe FMLE and could see that stream.

I’ve pushed to the Edge with Adobe FMLE and could see that stream.

I use the standard live app and I’ve turned off source and playback authentication.

I put the com.wowza.wms.plugin.loadbalancer.listeners.ServerListener Server Listener in the Server.xml for both instances.

The Origin server Load Balancer setup (Server.xml):

  • loadbalanceType: Server, Client
  • loadbalanceServerListenIP: [Origin IP]
  • loadbalanceKey: [random 16-byte key]
  • loadbalanceServerDecisionOrder: Connection
  • loadbalanceClientConnectionEnable: on
  • loadbalanceClientConnectionLimit: 2

The Edge server Load Balancer setup (Server.xml):

  • loadbalanceType: Client
  • loadbalanceServerListenIP: [Origin IP]
  • loadbalanceKey: [same key as above]
  • loadbalanceServerDecisionOrder: Connection
  • loadbalanceClientConnectionEnable: on
  • loadbalanceClientConnectionLimit: 4

When I hit http://[Origin IP]:1935/loadbalanceinfo page with a browser I see

  • Origin server with 2 connections max
  • Edge server with 4 connections max

I have success hitting the source stream on the Origin server with the Wowza Player with the URL

http://[Origin IP]:1935/live/test.mp4

but that only hits the Origin server. No player will pull from the Edge server. It’ll even run over the maximum; I can get 4/2 connections.

If I use the redirect URL with Wowza Player I can’t watch it at all

http://[Origin IP]:1935/redirect/live/test.mp4?type=m3u8

If I run the command

wget --max-redirect 0 --server-response http://[Origin IP]:1935/redirect/live/test.mp4?type=m3u8

I will get the HTTP 302 redirect response with a valid Location HTTP header.

On page 31 of the Load Balancing Add-On PDF there’s some extra Javascript to add to the Wowza Player’s embed code but that doesn’t seem to help either.

I added these to the WowzaPlayer.create() call but with no effect:

  • “loadBalancerFilter”: “redirect”,
  • “scheme”: “http://”,
  • “loadBalancerHost”: “[Origin IP]:1935”,
  • “loadBalancerAppRequired”: “live”,
  • “loadBalancerAssetRequired”: “mp4:sample.mp4”

I feel like I’m missing one simple step to get this all to work.

same problem for me also

please help

What version of Wowza Stream Engine are you running?

4.78 load blancer 4.5

Hi @jimmy keffer, there could be a variety of things going on here including the fact you’re using 4.7.4 and there have been several updates to origin-edge workflow. ( We are now on Engine 4.7.8)

1. But, let’s start here: do you have an SSL secured port in place?

The live stream repeater will fail to connect to a non-SSL-protected destination port on the origin server. It will repeatedly try to connect.

2. Our LoadBalancing system works like this:

The playback requests would need to come to the Load Balancer (LB), and then the Wowza LB would distribute the connections between the load-balancing servers (or clients in an LB workflow)

I’ll check with support, but I am also suspicious that your playback url still has origin in it and not edge:

Example: Adobe RTMP: rtmp://[wowza-edge-address]:1935/liveedge/myStream

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

3. Are you getting an error message you can share? In the meantime, let me confirm with tech support how this works with load balancer and I’ll post very soon. Thanks.

i opened a support case with more info thanks

jimmt

Great. I’ll take a look to see what they determine. Thanks for letting me know.