Troubleshoot error messages in Wowza Streaming Engine

This article lists common messages that are recorded in Wowza Streaming Engine™ media server software log files (wowzastreamingengine_access.log and wowzastreamingengine_error.log), scenarios that can cause these messages to be logged, and suggestions for resolution.

Note: You can view the messages in the log files in Wowza Streaming Engine Manager. For details, see View log messages in Wowza Streaming Engine Manager.

Messages for Wowza Streaming Engine


server    ERROR    500    -    server core failure: java.net.BindException: Address already in use
vhost     WARN    200    _defaultVHost_    Bind failed, try again ([any]:1935): java.net.BindException: Address already in use

Cause: Typically caused because another instance of Wowza Streaming Engine is already running. Shut down all instances of Wowza Streaming Engine and then re-start. Wowza Streaming Engine can run as a service, in standalone mode, or in the Wowza IDE, but only one at a time.


comment    server    ERROR   500    -    Failed to connect: org.apache.mina.common.RuntimeIOException: Failed to get the session[ConnectException: Connection refused].
comment    server    WARN    200    -    RTPSessionDescriptionDataProviderBasic.getStreamInfo: RTSP/RTP re-streaming. Cannot connect to server: rtsp://[wowza-ip-address]/myStream.sdp

Cause: Attempt to connect to IP camera with improper credentials.


comment    server    WARN    200    -    RTPPacket.write: Bad packet: Incomplete NAL Units.

Cause: Packet loss in most cases. Try turning on packet loss logging to verify if this is the problem. See Turn on an RTP jitter buffer and packet loss logging (RTP and MPEG-TS) in Wowza Streaming Engine.


comment server ERROR 500 RTPDePacketizerMPEG4LATM.handleRTPPacket: Bad packet length: 200:105

Cause: This indicates a network connection problem. Try to stream the same file on your localhost or your local network to rule out network problems as the issue.


ERROR    server    comment    HTTPUtils.HTTPRequestToByteArray: java.io.FileNotFoundException: http://[ip-address]/latest/meta-data/product-codes
WARN    server    comment    Server.run: License key specified in [install-dir]/conf/Server.license file is malformed.
ERROR    server    comment    error: java.lang.NullPointerException
ERROR    server    comment    ERROR: Cannot write to license key file:

Cause: This error is caused from using the wrong license key. 


ERROR: License key is not valid or license file does not exist and running as a service (exiting)

Cause: This error is the result of a perpetual license key being used for Transcoder, nDVR, or DRM without a valid perpetual license in place for the server.


ERROR server comment - The Wowza Media Systems Software licensing system has determined that your serial number is not valid. Please validate that you're using the correct serial number. If this problem persists, please visit http://www.wowza.com/subscriptionsupport.php for up to date information.
ERROR server comment - system.exit

Cause: This error is due to an unpaid subscription. Contact Customer Service to resolve.


comment    server   ERROR    PushPublisherRTMP: com.wowza.wms.server.LicensingException: Server.license

Cause: This error can be seen when an old Amazon EC2 AMI is used in conjunction with the Push Publishing API.  Wowza Streaming Engine functions as expected locally or on staging, but the deployment server throws this licensing error. This particular licensing restriction has since been lifted. Updating to a current AMI resolves this problem.


comment    server    ERROR    500    -    invoke(onHTTPCupertinoStreamingSessionDestroy): java.lang.NullPointerException: com.ptin.wms.module.AbortSession.onHTTPCupertinoStreamingSessionDestroy(EndSession.java:10)

Cause: In this example, there is an error in the custom module named AbortSession at line 10. The custom module developer must troubleshoot.


Comment  server    WARN    200    Application folder ([install-location]/applications/_defapp_) is missing

Cause: This error is generated when you connect to Wowza Streaming Engine with no application name.


comment    server    WARN    200    -    Application folder ([install-location]/applications/:80) is missing

Cause: Usually caused by FFmpeg being used as an encoder and not properly sending application name.


comment    server    INFO    200    -    RTPMediaCaster.create[9936743]    -    -    -    2.469
comment    server    INFO    200    -    RTPMediaCaster.init[9936743]    -    -    -    2.47
comment    server    INFO    200    -    RTPMediaCaster.Reconnector[9936743:live/_definst_:live/customer.stream]: start: 1    -    -    -    2.473
comment    server    INFO    200    -    VHost.startStartupStreams: Stream successfully started [live/_definst_]: flv:live/customer.stream    -    -    -    2.486
comment    server    ERROR   500    -    Failed to connect: org.apache.mina.common.RuntimeIOException: Failed to get the session[java.net.NoRouteToHostException: No route to host].    -    -    -    5.603
comment    server    WARN    200    -    RTPSessionDescriptionDataProviderBasic.getStreamInfo: RTSP/RTP re-streaming. Cannot connect to server: rtsp://[wowza-ip-address]/customer.mp4    -    -    -    5.618
comment    server    ERROR   500    -    Failed to connect: org.apache.mina.common.RuntimeIOException: Failed to get the session[java.net.NoRouteToHostException: No route to host].

Cause: This MediaCaster problem is most commonly caused by some kind of network error. For example, the SHOUTcast server isn't turned on. Here we see a live stream started, then warnings and errors that indicate that Wowza Streaming Enngine encountered a dependency failure.


ERROR server comment RTPSessionDescriptionDataProviderBasicRTSPConnection.connect[wowza-ip-address]:[port-number]: Failed to connect: org.apache.mina.common.RuntimeIOException: Failed to get the session[ConnectException: Connection refused: no further information]. 
WARN server comment LiveMediaStreamReceiver.doWatchdog: streamTimeout: Resetting connection

Cause: Wowza Streaming Engine can't connect to a MediaCaster stream. It could be a problem with the network or a problem with the source. For example, the camera was reached, but rejected the connection. Wowza Streaming Engine will keep trying to reconnect until the stream is available again.


comment    server    INFO    200    -    RTPUDPTransport.bind[live/_definst_]: 0.0.0.0/0.0.0.0:6000    -    -    -    556.803
comment    server    INFO    200    -    RTPUDPTransport.bind[live/_definst_]: 0.0.0.0/0.0.0.0:6001    -    -    -    556.803
comment    server    INFO    200    -    RTPUDPTransport.bind[live/_definst_]: 0.0.0.0/0.0.0.0:6002    -    -    -    556.804
comment    server    INFO    200    -    RTPUDPTransport.bind[live/_definst_]: 0.0.0.0/0.0.0.0:6003    -    -    -    556.804
comment    server    INFO    200    -    RTPSessionDescriptionDataProviderBasicRTSPWorker.sessionStart: PLAY: rtsp://[wowza-ip-address]/myStream.3gp/
comment    server    INFO    200    -    RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: PLAY: rtsp://[wowza-ip-address]/myStream.3gp/
comment    server    INFO    200    -    RTPMediaCaster.Reconnector[30149247:live/_definst_:live/myStream.stream]: done: 2    -    -    -    556.805
comment    server    INFO    200    -    UDPTransport.firstPacket: 0.0.0.0/0.0.0.0:5984    -    -    -    557.044

-----other log lines removed for clarity -----------------

comment    server    INFO    200    -    RTPMediaCaster.shutdown[30149247:live/_definst_:live/myStream.stream]: live/myStream.stream
comment    server    INFO    200    -    RTPMediaCaster.disconnect[30149247:live/_definst_:live/ myStream.stream]    -    -    -    853.437
comment    server    INFO    200    -    RTPMediaCaster.closeRTPSession[30149247:live/_definst_:live/ myStream.stream]    -    -    -    853.437
comment    server    INFO    200    -    RTPSessionDescriptionDataProviderBasicRTSPWorker.close closeSession    -    -    -    853.437
comment    server    INFO    200    -    RTPUDPTransport.unbind[live/_definst_]: 0.0.0.0/0.0.0.0:5988    -    -    -    853.438
comment    server    INFO    200    -    RTPSessionDescriptionDataProviderBasicRTSPWorker.onClose    -    -    -    853.438
comment    server    INFO    200    -    RTPSessionTracker.remove[rtsp://[wowza-ip-address]/myStream.3gp]: 0:true    -    -    -    853.439
comment    server    INFO    200    -    RTPUDPTransport.unbind[live/_definst_]: 0.0.0.0/0.0.0.0:5989    -    -    -    853.439
comment    server    INFO    200    -    RTPUDPTransport.unbind[live/_definst_]: 0.0.0.0/0.0.0.0:5982    -    -    -    853.439
comment    server    INFO    200    -    RTPUDPTransport.unbind[live/_definst_]: 0.0.0.0/0.0.0.0:5983    -    -    -    853.439
comment    server    INFO    200    -    RTPUDPTransport.unbind[live/_definst_]: 0.0.0.0/0.0.0.0:5983    -    -    -    853.439

Cause: 2 or 4 bind lines, followed quickly by 2 or 4 unbind lines, indicate a failed UDP session, ports blocked. Typically the problem is with the firewall on the computer where Wowza Streaming Engine is installed. It could also be the router, proxy in the environment, or carrier network in RTSP streaming application.


server  WARN    200 - RTPDePacketizerWrapperPacketSorter.packetLoss\[myApplication/_definst_/streamOne.sdp:trackID=2\]: last:13066 curr:25584
server  WARN    200 - RTPDePacketizerWrapperPacketSorter.packetLoss\[myApplication/_definst_/streamTwo.sdp:trackID=1\]: last:63732 curr:14634
server  WARN    200 - HTTPStreamerAdapterCupertinoStreaming.getAppInstance: Stream not found \[myApplication/_definst_/streamThree.sdp/playlist_w1234567890.m3u8]: myStream.sdp  68998.779

Cause: Another encoder on the same network was pushing packets for the same channels, causing a conflict. This behavior makes it look like some streams are losing packets.

Note the big discrepancy between the last and current values. If RTP, the values should be similar. The packet sorter only works if the stream is RTP. Wowza uses a sequence number in the RTP header to do packet re-ordering. Because the numbers are so far apart, it most likely means that the stream in question isn't RTP. Possibly the stream(s) that are causing these issues are MPEG-TS that aren't RTP-wrapped.


RTPDePacketizerWrapperPacketSorter.handleRTPPacket["+contextStr+":"+rtpTrack.getTrackId()+"]: Stream is MPEG-TS which is not supported by packet sorter. Packets will be forwarded.

Cause: The packet sorter forwards MPEG-TS packets and reports this to the log. The part in brackets is the appName/appInstanceNAme/streamName:trackname.


Error parsing VHosts.xml (file:///usr/local/WowzaStreamingEngine/conf/VHosts.xml): java.util.ArrayList can't be cast to org.w3c.dom.NodeList
Exception in thread "main" java.lang.NoClassDefFoundError: com.wowza.wms.server.Server
   at java.lang.Class.initializeClass(libgcj.so.7rh)

Cause: These messages occur when trying to start Wowza Streaming Engine. "libgcj.so" indicates that it's an old version of Java that could have been part of a Linux distribution. Install the latest Oracle Java software and validate that it's installed properly before re-starting Wowza Streaming Engine.


server    WARN    404    [path-to-video-file]     MediaReaderH264.open[2]: java.lang.Exception: QTUtils.parseQTMediaContainer: File is missing 'moov' atom.

Cause: An attempt was made to stream a file while it's being recorded. When the stream is unpublished, Wowza Streaming Engine writes the moov atom data to the end of the file. You can use the IMediaWriterActionNotify listener to listen for files to be completed. If you use Wowza nDVR, then you can record while playing a live stream.

You may also get this error if you try to play a file that has H.264 content but isn't an MP4 file and you use the mp4: prefix.


WARN    server    comment        MediaReaderH264.open[2]: java.lang.Exception: QTUtils.parseQTMediaContainer: Atom size is invalid: 0.

Cause: Occurs when there is an attempt to play a file that's not an MP4 file. This error is thrown by the MP4 file parser indicating that it can't find information that it expects. Typically the problem is that the wrong prefix is being used.


ERROR server comment QTWriterUtils.loadForAppend[path-to-video-file][index]: Bad atom length: -8
WARN server comment QTWriterUtils.loadForAppend[path-to-video-file][index]: MOOV Atom is missing
WARN server comment QTWriterUtils.loadForAppendParseMOOV[path-to-video-file]: WARNING: Append: The 'stsc' atom has incorrect sample count information: missingSampleCount:26 lastChunkCount:1 lastSamplesPerChunk:25 totalSampleCount:79926 samplesAccountedFor:79900

Cause: When recording a video, if the file is moved before the recording is completed (unpublished), then the file isn't playable and you'll see the missing moov atom error. When the stream is unpublished, Wowza Streaming Engine writes the moov atom data to the end of the file. The resultant recording would have a problem if there was an issue with the unpublish mechanism, say if the server was shut down or the unpublish wasn't triggered for some reason.


ERROR server comment  QTWriterUtils.loadForAppend[path-to-video-file][index]: Bad atom length: -8
WARN server comment  QTWriterUtils.loadForAppend[path-to-video-file][index]: MDAT Atom is missing

Cause: Caused during the recording of the file. For example, a problem writing out to the specified target file name for the recorded video could cause this error. mdat atom is a required top-level atom.


WARN server comment MediaReaderFLV.open: Metadata appears to be bad: [stream-name]

Cause: This error indicates that the file doesn't include the onMetaData packet. You should provide sample problematic file for analysis.

Missing prefix for MP4 type files (for example, sample.mp4 instead of mp4:sample.mp4). Wowza Streaming Engine ignores the file extension so if the prefix is missing, the server loads the MediaReaderFLV by default but the MediaReaderH264 is actually required. Adding the prefix may fix it.


ERROR server comment MediaReaderFactory.getInstance: Missing definition for mov

Cause: Attempt to play a file with a .mov prefix when the file isn't that stream type.


java.io.IOException: Too many open files
    at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
    at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:152)
    at org.apache.mina.transport.socket.nio.SocketAcceptor$Worker.processSessions(Unknown Source)
    at org.apache.mina.transport.socket.nio.SocketAcceptor$Worker.run(Unknown Source)
    at org.apache.mina.util.NamePreservingRunnable.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:662)

Cause: Make sure Wowza Streaming Engine is properly tuned by following the instructions in Tune Wowza Streaming Engine for optimal performance.


java.lang.NullPointerException
 at com.wowza.wms.httpstreamer.cupertinostreaming.file.MediaReaderH264Cupertino.fillChunk (Unknown Source)
 at com.wowza.wms.httpstreamer.cupertinostreaming.file.HTTPStreamerCupertinoIndexFile.fillChunk (Unknown Source)
 at com.wowza.wms.httpstreamer.cupertinostreaming.file.HTTPStreamerCupertinoIndexBase.getChunk (Unknown Source)
 at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerAdapterCupertinoStreamer.onMe  diaFile (Unknown Source)
 ----

Cause: This is an error related to the file structure. Test with other files or our demo files to determine if it's file specific. Provide your live stream or VOD file to Support for further analysis.


Access Forbidden (403)

Cause: This error is seen on an encoder that tries to connect to Wowza Streaming Engine. It's not recorded in the Wowza logs. It can be caused by specifying a Wowza application that's not configured in Wowza Streaming Engine. It can also be caused by trying to play the files from Wowza Streaming Engine as if it were a web server, which won't work. The sample .html files should be opened directly in a web browser.


comment    server    WARN    404    mpegts.stream    MediaReaderH264.open[1]: java.io.FileNotFoundException: C:\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine [version]\content\mpegts.stream (The system can't find the file specified)

Cause: Occurs when the stream can't be found. Common causes are that the Streams/StreamType isn't set correctly in Application.xml or the stream is being started using StreamManager and the wrong MediaCaster Type is selected when starting the stream.


comment server    ERROR    Close RTSP/RTP session. Session timeout: 90000

Cause: Timeout threshold exceeded. The value can be set in RTP/RTSPSessionTimeout in [install-dir]/conf/[app-name]/Application.xml. The value is in milliseconds. Set to 0 to never timeout. For problematic MediaCaster streams, see Monitor and reset Wowza Streaming Engine MediaCaster streams.


WARN    server comment HTTPStreamerAdapterCupertinoStreamer.onPlaylist: Application context not loaded [dvr/myStream/manifest.f4m?DVR]: dvr/_definst_]: dvr/_definst_

WARN    server    comment    HTTPStreamerAdapterCupertinoStreamer.onMediaFile: Application context not loaded [vod/mp4:sample.mp4/media_w532002815.ts]: vod/_definst_

Cause: This message occurs when the application name or URL is invalid. If using the sample players, a frequent cause is that your application name is different than the application name provided by default. Check the URL.


WARN     200    server     comment HTTPStreamerAdapterCupertinoStreamer.service: Request timeout: 12000

Cause: No stream connection within timeout value. Check your live source and encoder.


WARN    server    comment    HTTPStreamerAdapterCupertinoStreamer.onPlaylist: Application context not loaded [[live/myStream/manifest.f4m]: live/_definst_]: live/_definst_

Cause: Occurs when the HTTPStreamers property in Application.xml doesn't include the type of streaming that you're trying to play.


HTTPStreamerAdapterCupertinoStreamer.onPlaylist[myApplication/_definst_/myStream/playlist_w639247249.m3u8]: Session not accepted[639247249]

Cause: The stream is invalid or the session has timed out.


comment server ERROR 500 - ModulePushPublishSimpleExample#StreamNotify.onPublish: com.wowza.wms.server.LicensingException: Server.license
comment server ERROR 500 - ModulePushPublishSimpleExample#StreamNotify.onPublish: com.wowza.wms.server.LicensingException: Server.license
comment server ERROR 500 - ModulePushPublishSimpleExample#StreamNotify.onPublish: com.wowza.wms.server.LicensingException: Server.license

Cause: Make sure you have the latest Push Publishing module. Contact us to request the module.


ERROR    server    comment    HTTPUtils.HTTPRequestToByteArray: java.io.FileNotFoundException: http://[wowza-ip-address]/latest/meta-data/product-codes

Cause: This message occurs when running on an Amazon Machine Image (AMI) with a Bring Your Own License (LicKey) Subscription or Perpetual license key. You can ignore this message.


WARN 200 RTPPacketFragmentListReader.skip: Bad skip count: -123456789

Cause: This indicates packet loss or an incomplete packet. This message can occur when CPU utilization or GPU utilization for acceleration is at maximum capacity or beyond a workable threshold, or if there is too much network traffic. Make sure Wowza Streaming Engine is tuned by following the instructions in Tune Wowza Streaming Engine for optimal performance.


ERROR 500 - addDataA[this.size:248620 this.dataA.length:248620 this.startDataLoc:278333 this.dataLoc:278333 data.length:4016 offset:152 size:32 missing:22 ]: java.lang.ArrayIndexOutOfBoundsException

Cause: The correct amount of data for the packet to be received isn't present. This message can occur when CPU utilization or GPU utilization for acceleration is at maximum capacity or beyond a workable threshold, or there is too much network traffic. Make sure Wowza Streaming Engine is tuned by following the instructions in Tune Wowza Streaming Engine for optimal performance. Packet loss can occur when CPU/GPU utilization or network throughput is maximized.


WARN 200 - RTPDePacketizerWrapperPacketSorter.handleRTPPacket[:mpegts]: Stream is MPEG-TS which is not supported by packet sorter. Packets will be forwarded.

Cause: Remove the packet sorter from your Application.xml configuration if it doesn't apply to your stream.


Server ERROR    403    ModuleRTMPAuthenticate.checkSecureToken: Action before response received: kill connection:

Cause: A client is trying to connect without responding to the secure token request. Check that the code is properly integrated into the player.


DirectRandomAccessReader.read: java.io.IOException: The specified network name is no longer available

Cause: Network-related error. Check that the StorageDir property in [install-dir]/conf/[app-name]/Application.xml points to a mapped drive or UNC path that's available.


ERROR 500 - server core failure: java.lang.NullPointerException

Cause: Possible corrupt installation. Try re-installing Wowza Streaming Engine.


ERROR server comment Failed to connect: org.apache.mina.common.RuntimeIOException: Failed to get the session[ConnectException: Connection timed out: no further information]
ERROR server comment RTPSessionDescriptionDataProviderBasic.getStreamInfo: RTSP/RTP re-streaming timeout.

Cause: Both errors are related to network connectivity problems, an inability to connect to the MediaCaster stream. Look at previous log lines for clues. This could also be caused if hitting the upper limit of the number streams that the server can handle. Another server may need to be added. Recommend configuring MediaCaster Stream Monitor, which monitors and resets unhealthy streams and Server monitoring with JConsole.


ERROR server comment RTPMulticastListener.unbind:java.net.SocketException: error setting options

Cause: Typically caused by network connectivity problems.


ERROR server comment packetSizeReset: 12:345
ERROR server comment Zero sized function (client): type:20 size:0 index:123
ERROR server comment Data format incorrect, killing client connection.

Cause: This could be caused by many factors, but is typically caused by a TCP or communication error. It usually indicates that Wowza Streaming Engine is overwhelmed in some way—CPU, I/O, network, or even the garbage collector (GC) is running for too long. See Tune Wowza Streaming Engine for optimal performance for information about how to change GC options and other areas to check.


INFO stream create videos/myStream.smil -
[Fatal Error] :2:7: The element type "smil" must be terminated by the matching end-tag "</smil>".
ERROR server comment MediaListReaderSMIL.readMediaList[myApplication/_definst_:videos/myStream.smil]: org.xml.sax.SAXParseException: The element type smil must be terminated by the matching end-tag "</smil>".
WARN server comment HTTPStreamerCupertinoIndexPlaylist.indexFile[myApplication/_definst_/smil:videos/myStream.smil]: MediaList is empty.

Cause: Malformed .smil file, missing <head> tag.


INFO 200 - ShoutCastReceiver.internalConnect: http://www.mywebsite:1234/
INFO 200 - ShoutCastReceiver.internalConnect: http://www.mywebsite:1234/ - - - 
INFO 200 - ShoutCastDecoder.checkHeader[default.stream]: ICY response: ICY 401 Service Unavailable

Cause: Typical causes for why a connection with a SHOUTcast/Icecast stream is failing are:

  • Ports are blocked. Check that ports aren't blocked or in conflict with another application.
  • The SHOUTcast/Icecast server is offline and therefore a connection and re-tries fail.
  • Incorrect URL. See URL to connect to SHOUTcast or Icecast. You need to use the media URL, not the playlist URL.
  • If this is an intermittent problem, the SHOUTcast/Icecast stream may be unstable and inconsistently available.

WARN server comment - RTPDePacketizerMPEGTS.handleRTPPacket: Out of sync: 0x[nn]

Cause: This could be a result of two encoders sending a stream to the same port. It could also be that the stream isn't aligned. Install the latest version of Wowza Streaming Engine and then try setting the mpegtsVideoIsAligned property to false as described in Fix missing or garbage video (MPEG-TS) in Wowza Streaming Engine.

Alternatively, the MPEG-TS encoder might not be aligning the TS packets correctly in UDP packets. Add the following property to the RTP/Properties container in [install-dir]/conf/[application]/Application.xml (be sure to get the correct <Properties> container; there are several in the file):

<Property>
    <Name>rtpDePacketizerWrapper</Name>
    <Value>com.wowza.wms.rtp.depacketizer.RTPDePacketizerWrapperReChunkMPEGTS</Value>
</Property>

Wowza Streaming Engine only allows a single rtpDePacketizerWrapper value. If you have configured a jitter buffer or packet recorder that uses the same rtpDePacketizerWrapper, they must be removed.


WARN server comment - RTPDePacketizerBase.checkRTCPSSRC: ssrc error: e8b92a:6319b7c8

Cause: This usually means that the encoder has started and stopped and the session hasn't timed out. When this happens, the ssrc property of the RTP packets changes. Wowza Streaming Engine blocks the incoming packets because this value has changed. There's a stream timeout of 12 seconds set for RTP streams. As long as the encoder is down for more than 12 seconds, then the stream should reset and be OK.


comment server  WARN    200     -       Waiting for RTCP packet. See docs for (Application.xml: RTP/AVSyncMethod and RTP/MaxRTCPWaitTime).

Cause: Sender Report (SR) packets, which are sent over the Real-time Control Protocol (RTCP) channel, didn't arrive within the timeout period specified by the RTP/MaxRTCPWaitTime property in [install-dir]/conf/[application-name]/Application.xml. SR packets provide timing information between the audio and video in the incoming RTP stream. If Wowza Streaming Engine doesn't detect SR packets for the incoming RTP stream, it writes this message to the log file and tries to use RTP timecode values in the RTP packets to synchronize the audio and video channels.

You can extend the amount of time that Wowza Streaming Engine waits to receive SR packets by changing the RTP/MaxRTCPWaitTime property in [install-dir]/conf/[application-name]/Application.xml, or you can change the default method by which Wowza Streaming Engine synchronizes the audio and video by changing the RTP/AVSyncMethod property in [install-dir]/conf/[application-name]/Application.xml from the default value (senderreport) to either rtptimecode or systemclock. If set to rtptimecode, Wowza Streaming Engine synchronizes the audio and video channels based on RTP timecodes in the RTP packets (as previously mentioned). If set to systemclock, Wowza Streaming Engine synchronizes the audio and video channels based on the system time that the first audio and video packets arrive at the server, assuming that they arrive at the same time.


comment server INFO 200 - Server.startShutdownHook: Start server shutdown hook

Cause: This logging line is part of the standard startup lines for Wowza Streaming Engine. The startup line is no cause for concern. Additional logging can help troubleshoot shutdowns.


WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onEncKey[myApplication/_definst_/myStream/key_w1063299536.m3u8key]: onEncKey is not enabled.

Cause: This warning indicates that onEncKey delivery isn't enabled in HTTPStreamer/Properties in Application.xml. It's turned off by default for security reasons.

<Property>
    <Name>cupertinoEnableOnEncKey</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
</Property>

HTTPStreamerAdapterCupertinoStreamer.onPlaylist[[application]mp4:anyfile.mp4/playlist.m3u8]: Over license limit

Cause: The Over license limit indicates an issue other than the implied license limit. This typically occurs in scenarios where another error occurs and the streamer code misinterprets the error as a license failure. Install the latest Production Build of Wowza Streaming Engine.


ERROR server comment [yyyy-mm-dd hh:mm:ss] - - - - - 1335.312 - - - - - - - - invoke(onAppStart): java.lang.reflect.InvocationTargetException|at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)|at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)|at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)|at java.lang.reflect.Method.invoke(Method.java:498)|at com.wowza.wms.module.ModuleFunction.invoke(ModuleFunction.java:369)|

Cause: Any module method can cause this error, and the name of the method is reported in the first part of the message: invoke(moduleMethodName). The error occurs when a module method throws an exception that isn't caught and handled in the method. The exception is raised to the internal handlers that call module methods.

Uncaught exceptions can cause memory leaks or cause Wowza Streaming Engine to become unstable because any statements that normally occur after the exception occurs won't run.

To find the nature of the error:

  1. Catch and log the original error to see what's causing it. The following example shows how to catch and log the error. The error message will be moved from the invoke method to the module method.
    public void onAppStart(IApplicationInstance appInstance)
    {
        try
            {
            dosomething();
            }
        catch(Exception e)
            {
            getLogger().error("MyModule.onAppStart exception thrown: " + e, e);
            }
        finally
            {
            tidyUp();
            }
    }
  2. The cause of the error should be evident in the logged exception. Use this information to resolve the error.

Messages for Wowza nDVR


comment    server    WARN   DvrApplicationStoreManagerBase.removeStream() stream foo does not exist in this DVR.

Cause: This is a valid warning if:

  • A player requested chunks from foo, but foo no longer exists because the user deleted it.
     
  • The ArchiveStrategy property is set to delete in Application.xml

comment    server    WARN   Current DVR time tried to move backwards.  Ignored new time.  Old time=422310.  New time=0.
WARN server comment - DvrPacketHandler.handlePacket[myApplication/_definst_/myStream.stream]: Timecode out of order [audio]: 8166079375 : 8166079384

Cause: There is a problem with the encoder sending packets with odd packet times. nDVR reports the issue, but can't fix it.


WARN LiveStreamDvrRecorder.endChunk[myApplication/_definst_/myStream]: Recalculating duration by estimating.  Was -601.  Is now 811.

Cause: This is a built-in safeguard in Wowza nDVR. If Wowza Streaming Engine detects an invalid chunk, it tries to fix it by recalculating if the clock was reset. If it can't fix it, the chunk is thrown out.


WARN  DvrPacketHandler.handleHolder(): Skipping holder that can't be re-aligned. Holder: {DvrPacketHolder: type:V pt:3332574 utc:1335872445912 dur:1230 (KEY, ) codec:7 numPackets:0 dataLen:18513 enc.n:0 pkt:{{DvrAMFPacket: size:18513, type:9, src:1, seq:0, absTimecode: 3332574, timecode:1230, utcTc:1335872445912}}}

Cause: This is a built-in safeguard in Wowza nDVR. This warning message reports that the chunk couldn't be re-aligned.


WARN  DvrPacketHandler.handlePacket[myApplication/_definst_/myStream]: Tossing packet with excessive duration: {DvrAMFPacket: size:6785, type:9, src:32185, seq:126, absTimecode: 35557077, timecode:131362, utcTc:1337890914597}

Cause: This is a built-in safeguard in Wowza nDVR. Wowza nDVR expects the incoming audio and video to be aligned. When the audio and video are out of alignment beyond the allowable tolerance, you'll see this warning message in the logs. It indicates dropped packets and a problematic source stream. See dvrAllowableAVPacketDelta for more information about how to compensate for out-of-alignment issues.


WARN    server    comment        myStream     MediaReaderH264.open[1]: java.io.FileNotFoundException: /usr/local/WowzaStreamingEngine/content/myStream (No such file or directory)

Cause: The StreamType value is set to default instead of live in the Application.xml file. Wowza nDVR supports live streaming only. This message indicates that Wowza Streaming Engine is looking for a VOD file in the content directory. Change the Streams\StreamType property to live.


WARN    server    comment        ApplicationInstance.setdvrList[dvr/_definst_]: dvr is not valid: dvrrecoder

Cause: 'dvrrecorder' is spelled incorrectly in [install-dir]\conf\[app-name]\Application.xml. Look carefully at the last word of the message.


ERROR    server    comment        LiveStreamDvrRecorderBase.initProperties[myApplication/_definst_/myStream] : DVR/Store 'foo' is not a known DVR store.  DVR is unable to record.

Cause: 'foo' isn't a valid DVR store. Set the DVR/Store property to dvrfilestorage if single server or origin. If edge, leave empty.


ERROR    server    comment    LiveStreamDvrRecorderBase.initProperties[myApplication/_definst_/myStream] : DVR/Store not set in Application.xml.  DVR is unable to record.

Cause: No value is specified for the DVR/Store property as expected. Set the DVR/Store property to dvrfilestorage.


ERROR    server    comment    LiveStreamDvrRecorderBase.initProperties[myApplication/_definst_/myStream] : DVR/StorageDir not set in Application.xml.  DVR is unable to record.

Cause: No value is specified for the DVR/StorageDir property as expected. The default value is <StorageDir>${com.wowza.wms.context.VHostConfigHome}/dvr</StorageDir>.


WARN    server    comment    DvrStreamStoreBase.startRecording[myApplication/_definst_/myStream/myStream_0] : Attempt to start recording stream that can't record.

Cause: See other DVR/Store property errors. Typically one of those precede this warning message.


ERROR    server    comment    DvrStreamStoreBase.storeChunks[DVR/_definst_/myCamera.stream/myStream.0] : Skipping chunk. A/V packet times differ by 3025 ms, more than allowed 2000 ms.   aTime=3749903889 vTime=3749906914

Cause: This kind of error in the log indicates a problem with audio/video alignment. Because of this alignment problem, chunks aren't being recorded and the recording is degraded. The best way to fix this is upstream from Wowza nDVR (typically in the encoding process). While we strongly recommended that you fix any audio/video alignment issue before recording, there are nDVR properties that you can set in Application.xml to try and compensate for this problem. Note that these properties won't fix the alignment problem but may help to work around it. See dvrPacketSortTime and dvrAllowableAVPacketDelta.


comment    server    WARN    200    LiveStreamDvrRecorder.reportCodecInformation[myApplication/_definst_/myStream][avc1.77.31]: H.264 (Video may not be playable on older iPhone and iPod touch devices where Main/Level 3.1 or lower is required) Video info: : {MediaCodecInfoVideo: codec:H264, profile:77, level:4.1, frameSize:320x240, displaySize:320x240, frameRate:29.970000}

Cause: This warning is to inform you that, based on the stream code, the video may not be playable on older Apple iOS devices. Consult Apple documentation for your desired playback device to determine the supported codecs.


comment    server    ERROR    500    -    DvrStreamStoreBase.storeChunks[myApplication/_definst_/myStream] : AudioDuration=30624 > 20000 ms.  Skipping chunks.
comment    server    ERROR    500    -    DvrStreamStoreBase.storeChunks[myApplication/_definst_/myStream] : VideoDuration=30600 > 20000 ms.  Skipping chunks.

Cause: This occurs when the chunk duration exceeds the value set. See dvrAudioOnlyChunkTargetDuration.


WARN    server    comment    DvrPacketHandler.handlePacket[liveDVR/_definst_/myStream]: Timecode out of order [video]: 71500:71580

Cause: Generally this indicates an encoder issue. It also could be an issue when the computer CPU utilization or GPU utilization is maximized. To debug, see Debug AAC or MP3 timecode issues with Apple HLS packetization in Wowza Streaming Engine. Try using MediaCaster Stream Monitor to monitor the streams and reset them if they become unhealthy. If you see this message immediately after the stream is published before packetization starts, it can be ignored.


WARN    server comment HTTPStreamerAdapterCupertinoStreamer.onISMVData: Application context not loaded [live/ngrp:myStream_all]: live/_definst_

Cause: This message occurs when the application name or URL is invalid. Your application name may be different from the application name provided by default. Check the URL.


WARN server comment - Missing function: DVRSubscribe
WARN server comment - Missing function: DVRGetStreamInfo

Cause: Wowza nDVR supports playback over any HTTP protocol supported by Wowza Streaming Engine. These warnings occur when you try to use DVR with an unsupported protocol.

Messages for Transcoder


WARN server comment TranscoderWorkerVideoDecoder.handlePacketVideo[_defaultVHost_:AppName/_definst_/StreamName: decodeIterations:565]: Video decoder pending frame count[198] is greater than limit[150], resetting

Cause: Transcoder is not able to decode the stream fast enough. This is often due to a lack of CPU or GPU resources but could also be related to the encoding of the source.


WARN    server    comment    LiveStreamTranscoder.isTranscoderAvailable: Transcoder is not available for your platform: platform:null architecture:32

Cause: Transcoder requires a 64-bit platform. This warning occurs if Wowza Streaming Engine isn't installed on a 64-bit operating system or if an older version of Java is installed on your computer. To resolve the Java version issue, see Manually install and troubleshoot Java on Wowza Streaming Engine.


WARN server comment JNI:AudioEncoderAAC.initialize[_defaultVHost_:myApplication/_definst_/myStream:360p]: Bitrate is too high for sample rate. Bitrate adjust from 128000 to 48000

Cause: The input sample rate is too low to be supported for the bitrate you have selected for transcoding. If the input sample rate is either 22.05 KHz, 24 KHz, or 32 KHz you're restricted to 48 Kbps audio stream. Try using a sample rate of 44.1 KHz in the source stream being ingested or reduce the bitrate of the audio in the encoding preset by adjusting the transcoding template.


WARN    server    comment    ApplicationInstance.setLiveStreamTranscoderList[myApplication/_definst_]: LiveStreamTranscoder is not valid: transcoder

Cause: Transcoder isn't started properly and other errors exist in the log pointing to a faulty installation or permissions issue. Before re-installing, back up [install-dir]\conf files for reference when reconfiguring. Another cause could be that "transcoder" is spelled incorrectly in [install-dir]\conf\[app-name]\Application.xml. Look carefully at the last word of the message.


WARN    server    comment    TranscoderStreamNameGroups#DelayStart.run[myApplication/_definst_/myStream]: Name group could not be resolved: myStream_all reason:[bitrateMissing:true videoCodecIdMissing:true audioCodecIdMissing:false sizeMissing:true]
Encoder failure.

Cause: The expected data stream isn't being sent to Wowza Streaming Engine. Check the input source.


WARN    server    comment    HTTPStreamerCupertinoIndexPlaylist.indexFile[myApplication/_definst_/ngrp:myStream_all]: MediaList is empty.

Cause: There are multiple causes that can generate this error:

  • Malformed URL or an error in the transcoder template. Verify that the value of <StreamNameGroup>/<StreamName> (not <StreamNameGroup>/<Name>), is specified as the stream group name in the URL. In this example, the source stream name is myStream and the problem is that the value of <StreamNameGroup>/<StreamName> isn't ${SourceStreamName}_all.
     
  • The <Encode>/<Name> and the <StreamNameGroup>/<Members>/<Member>/<EncodeName> aren't the same. In the sample template, you'll see encode block <Name>360p</Name> has a matching Stream Name Group block member name (<EncodeName>360p</EncodeName>).
     
  • The transcoder template that was loaded wasn't the one expected, so the stream name specified in the URL is incorrect. Wowza Streaming Engine uses the first template listed in Transcoder/Templates in Application.xml. Review the log to validate the template name being loaded.
  • Other errors that indicate an issue with the resultant stream, such as no audio. 

WARN 200 - TranscoderStreamNameGroup.validateMembers[myApplication/_definst_/myStream]: StreamNameGroup[160p] audio codec is not valid for name group: UNKNOWN (unknown)

Cause: Source has no audio.


WARN 200 - TranscoderStreamNameGroup.addInternal[myApplication/_definst_/myStream]: Name group was not added, it is empty: myStream_all

Cause: The stream name group wasn't created because Transcoder can't transcode the stream. Make sure that the source stream uses supported codecs (see Supported video and audio formats). Also, make sure that the Enable property value for all <Encode> blocks in the template file are set to true.


comment    server    INFO    200    -    TranscodingSession.updateBehindFilter[myApplication/_definst_:myStream]: Video behind filter state change. New state: SKIP1FRAME
comment    server    INFO    200    -    TranscodingSession.updateBehindFilter[myApplication/_definst_:myStream]: Video behind filter state change. New state: SKIP2FRAME
comment    server    INFO    200    -    TranscodingSession.updateBehindFilter[myApplication/_definst_:myStream]: Video behind filter state change. New state: ALLFRAMESON

Cause: These INFO messages indicate that Wowza Streaming Engine is overworked and can't process the packets in time. Typically occurs when CPU utilization or GPU utilization for acceleration is at maximum capacity or beyond a workable threshold. Make sure Wowza Streaming Engine is tuned. See Tune Wowza Streaming Engine for optimal performance and Wowza Streaming Engine Transcoder performance benchmark.


WARN    server    comment        200    CupertinoPacketHandler.handlePacket[myApplication/_definst_/myStream]: Timecode out of order [video]: 27:25191
WARN    server    comment        200    CupertinoPacketHandler.resetStream[myApplication/_definst_/myStream][0:11]: Timecodes jumped back in time.

Cause: Generally this indicates an encoder issue. It also could be an issue when the computer CPU utilization or GPU utilization is maximized. To debug, see Debug AAC or MP3 timecode issues with Apple HLS packetization in Wowza Streaming Engine. Try using MediaCaster Stream Monitor to monitor the streams and reset them if they become unhealthy. If you see this message immediately after the stream is published before packetization starts, it can be ignored.


comment    server    ERROR    500    -    MediaReaderFactory.getInstance: java.lang.ClassCastException: com.wowza.wms.stream.MediaListReaderNGRP can't be cast to com.wowza.wms.stream.IMediaReader

Cause: The application StreamType isn't set to one of the live types. This causes the wrong stream classes to be invoked.


WARN server comment - Missing function: createStream

Cause: This likely means the Application.xml file is malformed. Start again with a new copy from the [install-dir]/conf folder.

Messages for Wowza DRM


comment    server    WARN    200    -    ModuleDRMEZDRM.getPlayreadyLicense[myApplication/_definst_]: EZDRM content key is not set.
comment    server    WARN    200    -    ModuleDRMEZDRM.onHTTPSmoothStreamingPlayReadyCreateVOD[myApplication/_definst_/sample.mp4]: Key request failed. ifFailFakeKey:false

Cause: If you unexpectedly see this kind of message in wowza*_access.log, check that your EZDRM username and password information is set correctly in Application.xml.


ERROR server comment - PlayReadyEncryptor.initKey: java.security.InvalidKeyException: Illegal key size or default parameters

Cause: Microsoft PlayReady encryption keys should be 128-bits long (16 bytes long). This message occurs when the key length does not conform. Wowza only supports 128-bit key lengths.


ERRORservercomment2013-08-0614:03:07-----290.512--------BuyDRMUtils.httpRequest[send]: java.net.SocketTimeoutException: connect timed out

Cause: A "connect timeout" suggests that Wowza Streaming Engine is trying to connect and is unable to do so. BuyDRM connects from the server to a web service using a specific URL. Confirm that all outbound and inbound firewall rules on the server and at the network level are allowing traffic on secure ports.


comment    server    WARN    200    -    ModuleDRMBuyDRM.onHTTPCupertinoEncryptionKeyVODChunk[buydrm/_definst_/sample.mp4]: Lookup resulted in UNKNOWN status

Cause: Wowza Streaming Engine can't find the buydrmstreammap.txt map file. When you add properties to the Application.xml file to configure the BuyDRM module, the drmBuyDRMStreamNameMapFile property specifies the map file location and the default value is [install-dir]/conf/buydrmstreammap.txt. For more information about how to set up the BuyDRM module for use with your streaming applications, Use BuyDRM KeyOS DRM with Wowza Streaming Engine.