Wowza Community

Load Balancing 4.0 HLS redirection

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

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

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

Hi,

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

Daren

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

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 ’

http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8

’ (

http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8

)

core debug: processing request item:

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

http://BALANCERIP:1935/redirect/edge1/cartoon?scheme=m3u8

core debug:

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

core debug: requesting art for

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: ’

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

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

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

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

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

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

http://BALANCEDIP:1935/edge1/_definst_/cartoon/playlist.m3u8

http debug: querying proxy for

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 ’

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

I succeeded, i need to use link

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

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?

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?