# Load Balancing 4.0 HLS redirection

**URL:** https://community.wowza.com/t/load-balancing-4-0-hls-redirection/45184
**Category:** Wowza Streaming Engine
**Tags:** server-administration
**Created:** [April 24, 2015, 6:51am UTC](https://community.wowza.com/t/load-balancing-4-0-hls-redirection/45184 "2015-04-24T06:51:29Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![Gojko\_Bozic](https://avatars.discourse-cdn.com/v4/letter/g/e95f7d/32.png) [@Gojko\_Bozic](https://community.wowza.com/u/Gojko_Bozic)
#### Post date: [April 24, 2015, 6:51am UTC](https://community.wowza.com/t/load-balancing-4-0-hls-redirection/45184/1 "2015-04-24T06:51:29Z")

</div>

I have problem with hls redirection. RTSP redirection works fine, but when i try HLS it doesn’t work. Url which i use

```auto
http://loadbalancer_ip:1935/red/edge1/streamname?scheme=m3u8

```

I changed redirect to red in configuration, this is not problem. I am using Origin-Edge, Load balancer is Origin and Edge server, Edges are load balanced

Thanks for help

---

<div class="post-metadata">

### Author: ![Andrew\_Kennedy1](https://avatars.discourse-cdn.com/v4/letter/a/278dde/32.png) [@Andrew\_Kennedy1](https://community.wowza.com/u/Andrew_Kennedy1)
#### Post date: [April 25, 2015, 11:03am UTC](https://community.wowza.com/t/load-balancing-4-0-hls-redirection/45184/2 "2015-04-25T11:03:34Z")

</div>

Hi,

We would need to see the output of your logs to be 100% as to the caus, however a bug was introduced in a recent release which has now been fixed, so please do make sure you are using the latest download.

Andrew

---

<div class="post-metadata">

### Author: ![Daren\_Johnson](https://avatars.discourse-cdn.com/v4/letter/d/ee59a6/32.png) [@Daren\_Johnson](https://community.wowza.com/u/Daren_Johnson)
#### Post date: [June 18, 2015, 11:23pm UTC](https://community.wowza.com/t/load-balancing-4-0-hls-redirection/45184/3 "2015-06-18T23:23:19Z")

</div>

Hi,

Once the redirection takes place, the streams will be requested by the players and will go directly from edge to client player.

Daren

---

<div class="post-metadata">

### Author: ![Zoran](https://sea2.discourse-cdn.com/flex002/user_avatar/community.wowza.com/zoran/32/385_2.png) [@Zoran](https://community.wowza.com/u/Zoran)
#### Post date: [July 29, 2015, 11:41am UTC](https://community.wowza.com/t/load-balancing-4-0-hls-redirection/45184/4 "2015-07-29T11:41:20Z")

</div>

Hi,

If you have 180 live streams being published on your origin server and each stream is encoded at 2Mbps, and you are relaying all these streams on your edge server, then between your origin and edge server you will need 180 x 2Mbps + 15% IP overhead which will give you about 400Mbps.

If you are looking only at 1 stream in particular, then yes, between the origin and edge server you will have 1 connection of 2Mbps for that particular stream, while on the edge server you will have 5 outgoing connections of 2Mbps each (5x2Mbps).

Zoran

---

<div class="post-metadata">

### Author: ![Gojko\_Bozic](https://avatars.discourse-cdn.com/v4/letter/g/e95f7d/32.png) [@Gojko\_Bozic](https://community.wowza.com/u/Gojko_Bozic)
#### Post date: [April 27, 2015, 1:53am UTC](https://community.wowza.com/t/load-balancing-4-0-hls-redirection/45184/5 "2015-04-27T01:53:55Z")

</div>

With new version i got redirection working

Wowza Output

> INFO session connect-pending BALANCEDIP -
> 
> INFO session connect BALANCEDIP -
> 
> INFO application setstreamtype httprepeater-origin -
> 
> INFO stream create - -
> 
> INFO server comment - MediaStreamHTTPStreamerRepeaterOriginPlay.initLiveStreamRepeating[live/_definst_/]: playerClass: com.wowza.wms.httpstreamer.cupertinostreaming.liverepeater.CupertinoStreamerLiveRepeaterPlayer
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:4 type:m4s\_mux a/v/k:367/212/6 duration:8520
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:4 type:m4s\_audio a:367 duration:8520
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:4 type:m4s\_video v/k:212/6 duration:8520
> 
> INFO server comment - LiveStreamPacketizerSanJose.endChunkTS[live/_definst_/cartoon.stream]: Add chunk: id:5 a/v/k:481/280/7 duration:11160
> 
> INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live/_definst_/cartoon.stream]: Add chunk: id:5 mode:TS[H264,AAC] a/v/k:160/279/7 duration:11160
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:5 type:m4s\_mux a/v/k:480/279/7 duration:11160
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:5 type:m4s\_audio a:480 duration:11160
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:5 type:m4s\_video v/k:279/7 duration:11160
> 
> INFO stream destroy cartoon -
> 
> INFO session disconnect 39219513 -
> 
> INFO session connect-pending BALANCEDIP -
> 
> INFO session connect BALANCEDIP -
> 
> INFO application setstreamtype httprepeater-origin -
> 
> INFO stream create - -
> 
> INFO server comment - MediaStreamHTTPStreamerRepeaterOriginPlay.initLiveStreamRepeating[live/_definst_/]: playerClass: com.wowza.wms.httpstreamer.cupertinostreaming.liverepeater.CupertinoStreamerLiveRepeaterPlayer
> 
> INFO server comment - LiveStreamPacketizerSanJose.endChunkTS[live/_definst_/cartoon.stream]: Add chunk: id:6 a/v/k:406/236/5 duration:9400
> 
> INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live/_definst_/cartoon.stream]: Add chunk: id:6 mode:TS[H264,AAC] a/v/k:135/235/5 duration:9400
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:6 type:m4s\_mux a/v/k:405/235/5 duration:9400
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:6 type:m4s\_audio a:405 duration:9400
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:6 type:m4s\_video v/k:235/5 duration:9400
> 
> INFO stream destroy cartoon -
> 
> INFO session disconnect 2092001843 -
> 
> INFO session connect-pending BALANCEDIP -
> 
> INFO session connect BALANCEDIP -
> 
> INFO application setstreamtype httprepeater-origin -
> 
> INFO stream create - -
> 
> INFO server comment - MediaStreamHTTPStreamerRepeaterOriginPlay.initLiveStreamRepeating[live/_definst_/]: playerClass: com.wowza.wms.httpstreamer.cupertinostreaming.liverepeater.CupertinoStreamerLiveRepeaterPlayer
> 
> INFO server comment - LiveStreamPacketizerSanJose.endChunkTS[live/_definst_/cartoon.stream]: Add chunk: id:7 a/v/k:401/233/6 duration:9280
> 
> INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live/_definst_/cartoon.stream]: Add chunk: id:7 mode:TS[H264,AAC] a/v/k:133/232/6 duration:9280
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:7 type:m4s\_mux a/v/k:400/232/6 duration:9280
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:7 type:m4s\_audio a:400 duration:9280
> 
> INFO server comment - MPEGDashWriterHandler.createChunkM4S[live/_definst_/cartoon.stream]: Add chunk: id:7 type:m4s\_video v/k:232/6 duration:9280
> 
> INFO stream destroy cartoon -
> 
> INFO session disconnect 643012666 -
> 
> INFO session connect-pending BALANCEDIP -
> 
> INFO session connect BALANCEDIP -
> 
> INFO application setstreamtype httprepeater-origin -
> 
> INFO stream create - -
> 
> INFO server comment - MediaStreamHTTPStreamerRepeaterOriginPlay.initLiveStreamRepeating[live/_definst_/]: playerClass: com.wowza.wms.httpstreamer.cupertinostreaming.liverepeater.CupertinoStreamerLiveRepeaterPlayer
> 
> VLC Output
> 
> > core debug: adding item ’
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > ’ (
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > )
> > 
> > core debug: processing request item:
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > , node: null, skip: 0
> > 
> > core debug: rebuilding array of current - root Playlist
> > 
> > core debug: rebuild done - 20 items, index 19
> > 
> > core debug: starting playback of the new playlist item
> > 
> > core debug: resyncing on
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > core debug:
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > is at 19
> > 
> > core debug: creating new input thread
> > 
> > core debug: Creating an input for ‘[http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8](http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8)’
> > 
> > core debug: requesting art for
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > core debug: using timeshift granularity of 50 MiB, in path ‘C:\Users\gojkob\AppData\Local\Temp’
> > 
> > core debug: ’
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > ’ gives access ‘http’ demux ‘’ path ‘BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8’
> > 
> > core debug: specified demux ‘any’
> > 
> > core debug: creating demux: access=‘http’ demux=‘any’ location=‘BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8’ file=‘\BALANCERIP:1935\redirect\edge1\cartoon?scheme=m3u8’
> > 
> > core debug: looking for access\_demux module matching “http”: 12 candidates
> > 
> > core debug: no access\_demux modules matched
> > 
> > core debug: creating access ‘http’ location=‘BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8’, path=‘\BALANCERIP:1935\redirect\edge1\cartoon?scheme=m3u8’
> > 
> > core debug: looking for access module matching “http”: 21 candidates
> > 
> > http debug: querying proxy for
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > http debug: no proxy
> > 
> > http debug: http: server=‘BALANCERIP’ port=1935 file=‘/redirect/edge1/cartoon?scheme=m3u8’
> > 
> > core debug: net: connecting to BALANCERIP port 1935
> > 
> > core debug: meta ok for (null), need to fetch art
> > 
> > core debug: looking for meta fetcher module matching “any”: 1 candidates
> > 
> > lua debug: Trying Lua scripts in C:\Users\gojkob\AppData\Roaming\vlc\lua\meta\fetcher
> > 
> > lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher
> > 
> > lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac
> > 
> > lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac
> > 
> > core debug: no meta fetcher modules matched
> > 
> > core debug: searching art for
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > core debug: looking for art finder module matching “any”: 2 candidates
> > 
> > lua debug: Trying Lua scripts in C:\Users\gojkob\AppData\Roaming\vlc\lua\meta\art
> > 
> > lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art
> > 
> > lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00\_musicbrainz.luac
> > 
> > lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00\_musicbrainz.luac
> > 
> > lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01\_googleimage.luac
> > 
> > lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01\_googleimage.luac
> > 
> > lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02\_frenchtv.luac
> > 
> > lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02\_frenchtv.luac
> > 
> > lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03\_lastfm.luac
> > 
> > lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03\_lastfm.luac
> > 
> > core debug: no art finder modules matched
> > 
> > core debug: art not found for
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > core debug: looking for meta fetcher module matching “any”: 1 candidates
> > 
> > lua debug: Trying Lua scripts in C:\Users\gojkob\AppData\Roaming\vlc\lua\meta\fetcher
> > 
> > lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher
> > 
> > lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac
> > 
> > lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac
> > 
> > core debug: no meta fetcher modules matched
> > 
> > core debug: searching art for
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > core debug: looking for art finder module matching “any”: 2 candidates
> > 
> > lua debug: Trying Lua scripts in C:\Users\gojkob\AppData\Roaming\vlc\lua\meta\art
> > 
> > lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art
> > 
> > lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00\_musicbrainz.luac
> > 
> > core debug: connection succeeded (socket = 1688)
> > 
> > lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00\_musicbrainz.luac
> > 
> > lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01\_googleimage.luac
> > 
> > lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01\_googleimage.luac
> > 
> > lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02\_frenchtv.luac
> > 
> > lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02\_frenchtv.luac
> > 
> > lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03\_lastfm.luac
> > 
> > lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03\_lastfm.luac
> > 
> > core debug: no art finder modules matched
> > 
> > core debug: art not found for
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > http debug: protocol ‘HTTP’ answer code 302
> > 
> > http debug: Content-Type: text/html
> > 
> > http debug: Connection: Keep-Alive
> > 
> > http debug: Server: WowzaStreamingEngine/4.1.2
> > 
> > http debug: this frame size=0
> > 
> > http debug: redirection to
> > 
> > ```auto
> > http://BALANCEDIP:1935/edge1/_definst_/cartoon/playlist.m3u8
> > 
> > ```
> > 
> > http debug: querying proxy for
> > 
> > ```auto
> > http://BALANCEDIP:1935/edge1/_definst_/cartoon/playlist.m3u8
> > 
> > ```
> > 
> > http debug: no proxy
> > 
> > http debug: http: server=‘BALANCEDIP’ port=1935 file=‘/edge1/_definst_/cartoon/playlist.m3u8’
> > 
> > core debug: net: connecting to BALANCEDIP port 1935
> > 
> > qt4 debug: IM: Setting an input
> > 
> > core debug: connection succeeded (socket = 1688)
> > 
> > http debug: protocol ‘HTTP’ answer code 404
> > 
> > http error: error: HTTP/1.1 404 Not Found
> > 
> > http debug: switching to HTTP version 1.0
> > 
> > core debug: net: connecting to BALANCEDIP port 1935
> > 
> > core debug: connection succeeded (socket = 1688)
> > 
> > http debug: protocol ‘HTTP’ answer code 404
> > 
> > http error: error: HTTP/1.1 404 Not Found
> > 
> > core debug: net: connecting to BALANCEDIP port 1935
> > 
> > core debug: connection succeeded (socket = 1688)
> > 
> > access\_mms error: error: HTTP/1.1 404 Not Found
> > 
> > core debug: no access modules matched
> > 
> > core error: open of ’
> > 
> > ```auto
> > http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8
> > 
> > ```
> > 
> > ’ failed
> > 
> > core debug: finished input
> > 
> > core debug: dead input
> > 
> > core debug: changing item without a request (current 19/20)
> > 
> > core debug: nothing to play
> > 
> > qt4 debug: IM: Deleting the input

---

<div class="post-metadata">

### Author: ![Gojko\_Bozic](https://avatars.discourse-cdn.com/v4/letter/g/e95f7d/32.png) [@Gojko\_Bozic](https://community.wowza.com/u/Gojko_Bozic)
#### Post date: [April 27, 2015, 2:17am UTC](https://community.wowza.com/t/load-balancing-4-0-hls-redirection/45184/6 "2015-04-27T02:17:50Z")

</div>

I succeeded, i need to use link

```auto
http://LOADBALANCERIP:1935/red/edge1/streamname.stream?scheme=m3u8

```

---

<div class="post-metadata">

### Author: ![Gojko\_Bozic](https://avatars.discourse-cdn.com/v4/letter/g/e95f7d/32.png) [@Gojko\_Bozic](https://community.wowza.com/u/Gojko_Bozic)
#### Post date: [June 18, 2015, 6:46am UTC](https://community.wowza.com/t/load-balancing-4-0-hls-redirection/45184/7 "2015-06-18T06:46:44Z")

</div>

Hi, i need question about Load Balancer and Origin Edge configuration.

I have origin server which will be load balancer too. I will have 2 edge servers which will handle connections. As far as i know, Client use ip addres of origin server, load balancer redirect them to the one of edge servers. My question is, will traffic go to the user through origin server, or directly from edge to client?

---

<div class="post-metadata">

### Author: ![Gojko\_Bozic](https://avatars.discourse-cdn.com/v4/letter/g/e95f7d/32.png) [@Gojko\_Bozic](https://community.wowza.com/u/Gojko_Bozic)
#### Post date: [June 19, 2015, 3:44am UTC](https://community.wowza.com/t/load-balancing-4-0-hls-redirection/45184/8 "2015-06-19T03:44:40Z")

</div>

> Hi,
> 
> Once the redirection takes place, the streams will be requested by the players and will go directly from edge to client player.
> 
> Daren

Ok, i have another question about origin - edge configuration. I have around 180 channels which will be on origin. I suppose that all streams are streamed to edge. I have question about bandwith. For example if 5 users request same stream of 2mb bitrate, will bandwith from origin to edge be a 2mb or 10mb?
