Edge Servers Error with LB 4

Dear All,

I got error at edge servers with loadbalancing plugin added:

ERROR server comment 2014-10-29 16:53:25 - - - - - 573.029 - - - - - - - - Encrypter

:D

ecrypt() Error decrypting message: 'Wowza Streaming Engine 4 Developer Edition (Expires: Apr 28, 2015) 4.1.0 build12602Wowza Streaming Engine 4 Developer Edition (Expires: Apr 28, 2015) 4.1.0 build12602, : java.lang.NullPointerException|at com.wowza.wms.plugin.loadbalancer.encoders.Encrypter.decrypt(Encrypter.java:101)|at com.wowza.wms.plugin.loadbalancer.general.XMLParser.xmlParse(XMLParser.java:55)|at com.wowza.wms.plugin.loadbalancer.general.URLHandler.clientConnectionURL(URLHandler.java:75)|at com.wowza.wms.plugin.loadbalancer.monitors.LoadBalanceBandwidthMonitorClient.run(LoadBalanceBandwidthMonitorClient.java:144)|

ERROR server comment 2014-10-29 16:53:25 - - - - - 573.032 - - - - - - - - LB XMLParser: xmlParse() Document parse exception: : org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.|at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)|at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)|at com.wowza.wms.plugin.loadbalancer.general.XMLParser.xmlParse(XMLParser.java:74)|at com.wowza.wms.plugin.loadbalancer.general.URLHandler.clientConnectionURL(URLHandler.java:75)|at com.wowza.wms.plugin.loadbalancer.monitors.LoadBalanceBandwidthMonitorClient.run(LoadBalanceBandwidthMonitorClient.java:144)|

ERROR server comment 2014-10-29 16:53:25 - - - - - 573.078 - - - - - - - - Encrypter

:D

ecrypt() Error decrypting message: 'Wowza Streaming Engine 4 Developer Edition (Expires: Apr 28, 2015) 4.1.0 build12602Wowza Streaming Engine 4 Developer Edition (Expires: Apr 28, 2015) 4.1.0 build12602, : java.lang.NullPointerException|at com.wowza.wms.plugin.loadbalancer.encoders.Encrypter.decrypt(Encrypter.java:101)|at com.wowza.wms.plugin.loadbalancer.general.XMLParser.xmlParse(XMLParser.java:55)|at com.wowza.wms.plugin.loadbalancer.general.URLHandler.clientBandwidthURL(URLHandler.java:54)|at com.wowza.wms.plugin.loadbalancer.monitors.LoadBalanceBandwidthMonitorClient.run(LoadBalanceBandwidthMonitorClient.java:168)|

ERROR server comment 2014-10-29 16:53:25 - - - - - 573.081 - - - - - - - - LB XMLParser: xmlParse() Document parse exception: : org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.|at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)|at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)|at com.wowza.wms.plugin.loadbalancer.general.XMLParser.xmlParse(XMLParser.java:74)|at com.wowza.wms.plugin.loadbalancer.general.URLHandler.clientBandwidthURL(URLHandler.java:54)|at com.wowza.wms.plugin.loadbalancer.monitors.LoadBalanceBandwidthMonitorClient.run(LoadBalanceBandwidthMonitorClient.java:168)|

Not sure what cause this problem, anyone could suggest me how to troubleshot? Thank you!

BR,

Yung

Hello Yung, welcome to the Wowza support forum.

This looks like you may have a malformed .xml file. Please double check for any typos or misspellings.

Also you can check against an XML validator:

XML Validator

Kind regards,

Salvadore

Dear Salvadore,

Thank you for your suggestion!

I am facing the problem on redirect client from origin to edges, I followed the manual to add an redirect application from the manager and edit Application.xml file to add Module. But seems it is not working, I have an application “live” and “redirect” in origin server, “edge” in edges server.

Encoder FMS URL is: rtmp:///live

StreamName: teststream

Flash player is: rtmp:///redirect/live

StreamName: teststream

No problem on pushing streaming from encder to wowza, but flash player cannot play the rtmp I set.

If:

Flash player is: rtmp:///redirect

StreamName: teststream

Error from Origin:

ERROR server comment 2014-10-30 16:25:38 - - - - - 5051.2 - - MediaStream.onUnPublish[redirect/hennessyOrigin/teststream] : java.lang.NullPointerException|at com.wowza.wms.plugin.loadbalancer.redirect.ClientConnections$StreamListener.onUnPublish(ClientConnections.java:329)|at com.wowza.wms.stream.MediaStream.notifyActionUnPublish(MediaStream.java:2386)|at com.wowza.wms.client.Client.closeOpenStream(Client.java:1718)|at com.wowza.wms.module.ModuleCore.closeStream(ModuleCore.java:785)|at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)|

Am I correct on the setting?

Attached the settings below for reference:

Server.xml at Origin

<?xml version="1.0" encoding="UTF-8"?>

Wowza Streaming Engine

Wowza Streaming Engine is robust, customizable, and scalable server software that powers reliable streaming of high-quality video and audio to any device, anywhere.

true

*

8087

digest

true

false

JKS

TLS

SunX509

127.0.0.1

false

false

8089

digest

${com.wowza.wms.TuningAuto}

*

8083

Server,VHost,VHostItem,Application,ApplicationInstance,MediaCaster,Module,IdleWorker

true

false

localhost

localhost

8084

8085

true

${com.wowza.wms.ConfigHome}/conf/jmxremote.password

${com.wowza.wms.ConfigHome}/conf/jmxremote.access

false

Shockwave Flash|CFNetwork|MacNetwork/1.0 (Macintosh)

mp4

com.wowza.wms.mediacache.impl.MediaCacheServerListener

com.wowza.wms.plugin.loadbalancer.general.LoadBalancerServer

${com.wowza.wms.TuningAuto}

${com.wowza.wms.TuningAuto}

6970

false

loadbalanceType

Server,Client

String

loadbalanceIgnoreClients

FMLE

String

loadbalanceKey

xxxxxxxx

String

loadbalanceServerIP

xxx.xxx.xxx.xxx

String

loadbalanceServerPort

1935

String

loadbalanceDecisionOrder

Connection

String

loadbalanceDebugServerDecision

On

String

redirect Application.xml

<?xml version="1.0" encoding="UTF-8"?>

redirect

Live

true

live

${com.wowza.wms.context.VHostConfigHome}/content

${com.wowza.wms.context.VHostConfigHome}/keys

cupertinostreamingpacketizer, mpegdashstreamingpacketizer, sanjosestreamingpacketizer, smoothstreamingpacketizer

${SourceStreamName}.xml,transrate.xml

${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles

${com.wowza.wms.context.VHostConfigHome}/transcoder/templates

0

${com.wowza.wms.context.VHostConfigHome}/dvr

append

cupertinostreaming, smoothstreaming, sanjosestreaming, mpegdashstreaming

${com.wowza.wms.context.VHostConfigHome}/applications/${com.wowza.wms.context.Application}/sharedobjects/${com.wowza.wms.context.ApplicationInstance}

-1

*

*

*

*

digest

none

senderreport

12000

75

90000

0

0.0.0.0

127.0.0.1

*

interleave

true

true

20000

12000

0

0

0

0

false

3000

-500

false

3000

-500

false

3000

-500

false

1500

false

base

Base

com.wowza.wms.module.ModuleCore

logging

Client Logging

com.wowza.wms.module.ModuleClientLogging

flvplayback

FLVPlayback

com.wowza.wms.module.ModuleFLVPlayback

ModuleCoreSecurity

Core Security Module for Applications

com.wowza.wms.security.ModuleCoreSecurity

Redirect

Redirect

com.wowza.wms.plugin.loadbalancer.redirect.ClientConnections

securityPublishRequirePassword

true

Boolean

live Application.xml

<?xml version="1.0" encoding="UTF-8"?>

hennessyOrigin

Live

true

live

${com.wowza.wms.context.VHostConfigHome}/content

${com.wowza.wms.context.VHostConfigHome}/keys

cupertinostreamingpacketizer, mpegdashstreamingpacketizer, sanjosestreamingpacketizer, smoothstreamingpacketizer

${SourceStreamName}.xml,transrate.xml

${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles

${com.wowza.wms.context.VHostConfigHome}/transcoder/templates

0

${com.wowza.wms.context.VHostConfigHome}/dvr

append

cupertinostreaming, smoothstreaming, sanjosestreaming, mpegdashstreaming

${com.wowza.wms.context.VHostConfigHome}/applications/${com.wowza.wms.context.Application}/sharedobjects/${com.wowza.wms.context.ApplicationInstance}

-1

*

*

*

*

digest

none

senderreport

12000

75

90000

0

0.0.0.0

127.0.0.1

*

interleave

true

true

20000

12000

0

0

0

0

false

3000

-500

false

3000

-500

false

3000

-500

false

1500

false

base

Base

com.wowza.wms.module.ModuleCore

logging

Client Logging

com.wowza.wms.module.ModuleClientLogging

flvplayback

FLVPlayback

com.wowza.wms.module.ModuleFLVPlayback

ModuleCoreSecurity

Core Security Module for Applications

com.wowza.wms.security.ModuleCoreSecurity

securityPublishRequirePassword

true

Boolean

Edges Server.xml

<?xml version="1.0" encoding="UTF-8"?>

Wowza Streaming Engine

Wowza Streaming Engine is robust, customizable, and scalable server software that powers reliable streaming of high-quality video and audio to any device, anywhere.

true

*

8087

digest

true

false

JKS

TLS

SunX509

127.0.0.1

false

false

8089

digest

${com.wowza.wms.TuningAuto}

*

8083

Server,VHost,VHostItem,Application,ApplicationInstance,MediaCaster,Module,IdleWorker

true

false

203.90.228.163

203.90.228.163

8084

8085

true

${com.wowza.wms.ConfigHome}/conf/jmxremote.password

${com.wowza.wms.ConfigHome}/conf/jmxremote.access

false

Shockwave Flash|CFNetwork|MacNetwork/1.0 (Macintosh)

mp4

com.wowza.wms.plugin.loadbalancer.general.LoadBalancerServer

com.wowza.wms.mediacache.impl.MediaCacheServerListener

${com.wowza.wms.TuningAuto}

${com.wowza.wms.TuningAuto}

6970

false

loadbalanceType

Client

String

loadbalanceBandwidthEnable

On

String

loadbalanceBandwidthLimit

800000

String

loadbalanceConnectionEnable

On

String

loadbalanceConnectionLimit

2

String

loadbalanceKey

xxxxxxxxxx

String

loadbalanceServerIP

xxx.xxx.xxx.xxx

String

loadbalanceDebugEnabled

On

String

loadbalanceServerPort

1935

String

loadbalanceDebugServerDecision

On

String

Appreciate your help!

BR,

Yung

Dear Zoran,

I am using rtmp://:1935/live/teststream and it can play. But not for rtmp://:1935/redirect/live/teststream

I am using flowplayer, seems it is not able to redirect. Now I am trying to use RTMP XML, however, I got the smil file but no idea how to work further. Would you please suggest me how can I loadbalance the connection from the smil file? Thank you very much!

BR,

Yung

Dear All,

Problem has been fixed by using flowplayer and smil to perform the live streaming with loadbalancing. Thx for the effort!

BR,

Yung

Dear Zoran,

Sure!

Actually, I use rtmp://// in Encoder,

http://:1935/redirect// is the SMIL file contains LB server information,

then use http://flash.flowplayer.org/plugins/streaming/smil.html as the player.

However, I found the developer key will have problem on getting LB server information as it will show “No Load Balanced servers available” after awhile. Change it to daily keep will able to keep the server connection between origin and edges. Not sure if the problem only happened to me… Anyway, it works fine now.

BR,

Yung

Hi,

Just to make sure that your loadbalancing is setup correctly, are you able to play back the following RTSP stream using VLC player?

rtsp://<Origin IP>:1935/redirect/live/teststream

What Flash player are you using for playback. Does it support the redirect NetConnection call?

Zoran

Great. Thank you for the update.

Can you also post a description on how yo managed to fix you issue so other forum users could benefit from your experience?

Zoran