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:
- 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(); } }
- 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.