Hi all.
I have the perennial problem of nDVR skipping chunks because of a mis-alignment between the audio and video. However, in my case the skipped chunk is preceded by a string of NullPointerExceptions (see the log entries below). In each case, 4 seconds after the null pointer exceptions, the nDVR skips the chunk. When I watch the recorded event, the recording starts after the last skipped chunk (even though I started the recording at the beginning.)
All of the null pointer exceptions are coming from the DvrPacketHandler class.
Watching the stream live (with the ?DVR in the URL), there is no noticeable mis-alignment (certainly never 2 seconds!). The streams shown in the log (they are both affected) start at 8:20 am, and the recording starts at 8:28 am. The StDominic.stream (a 720p stream) comes up first and the StDominicLQ.stream (a 360p stream) comes up 3 seconds later.
I am pulling these two streams directly from a Grandstream GXV3651_FHD IP camera.
The server runs Ubuntu Linux and has 2-Hex core 3.47Ghz Xeon CPUs with 96GB of ram.
Log file:
#Version: 1.0
#Start-Date: 2015-07-24 08:20:06 CDT
#Software: Wowza Streaming Engine 4.2.0 build15089
#Date: 2015-07-24
#Fields: x-severity x-category x-event date time c-client-id c-ip c-port cs-bytes sc-bytes x-duration x-sname x-stream-id x-spos sc-stream-bytes cs-stream-bytes x-file-size x-file-length x-ctx x-comment
ERROR server comment 2015-07-24 08:20:06 - - - - - 101495.503 - - - - - - - - DvrPacketHandler.handlePacket[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1743)|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1069)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:759)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|at com.wowza.wms.dvr.impl.LiveStreamDvrRecorder.internalHandlePacket(LiveStreamDvrRecorder.java:251)|
ERROR server comment 2015-07-24 08:20:06 - - - - - 101495.534 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1310)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|at com.wowza.wms.dvr.impl.LiveStreamDvrRecorder.internalHandlePacket(LiveStreamDvrRecorder.java:251)|
ERROR server comment 2015-07-24 08:20:06 - - - - - 101495.564 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
ERROR server comment 2015-07-24 08:20:06 - - - - - 101495.595 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
ERROR server comment 2015-07-24 08:20:06 - - - - - 101495.635 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
ERROR server comment 2015-07-24 08:20:06 - - - - - 101495.666 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
WARN server comment 2015-07-24 08:20:09 - - - - - 101498.716 - - - - - - - - DvrStreamStoreBase.storeChunks[StDominicChurch/definst/StDominic.stream/StDominic.stream.402] : Skipping chunk. A/V packet times differ by 2032 ms, more than allowed 2000 ms. aTime=1437744006254 vTime=1437744008286
ERROR server comment 2015-07-24 08:20:09 - - - - - 101498.718 - - - - - - - - DvrPacketHandler.handlePacket[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1743)|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1069)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:759)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|at com.wowza.wms.dvr.impl.LiveStreamDvrRecorder.internalHandlePacket(LiveStreamDvrRecorder.java:251)|
ERROR server comment 2015-07-24 08:20:09 - - - - - 101498.748 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1310)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|at com.wowza.wms.dvr.impl.LiveStreamDvrRecorder.internalHandlePacket(LiveStreamDvrRecorder.java:251)|
ERROR server comment 2015-07-24 08:20:09 - - - - - 101498.778 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
ERROR server comment 2015-07-24 08:20:09 - - - - - 101498.809 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
ERROR server comment 2015-07-24 08:20:09 - - - - - 101498.839 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
ERROR server comment 2015-07-24 08:20:09 - - - - - 101498.876 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
WARN server comment 2015-07-24 08:20:13 - - - - - 101502.79 - - - - - - - - DvrStreamStoreBase.storeChunks[StDominicChurch/definst/StDominicLQ.stream/StDominicLQ.stream.360] : Skipping chunk. A/V packet times differ by 2048 ms, more than allowed 2000 ms. aTime=1437744009452 vTime=1437744011500
ERROR server comment 2015-07-24 08:44:21 - - - - - 102950.706 - - - - - - - - DvrPacketHandler.handlePacket[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1743)|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1069)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:759)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|at com.wowza.wms.dvr.impl.LiveStreamDvrRecorder.internalHandlePacket(LiveStreamDvrRecorder.java:251)|
ERROR server comment 2015-07-24 08:44:21 - - - - - 102950.737 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1310)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|at com.wowza.wms.dvr.impl.LiveStreamDvrRecorder.internalHandlePacket(LiveStreamDvrRecorder.java:251)|
ERROR server comment 2015-07-24 08:44:21 - - - - - 102950.767 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
ERROR server comment 2015-07-24 08:44:21 - - - - - 102950.798 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
ERROR server comment 2015-07-24 08:44:21 - - - - - 102950.833 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
ERROR server comment 2015-07-24 08:44:21 - - - - - 102950.863 - - - - - - - - DvrPacketHandler.handleHolder[]: java.lang.NullPointerException|at com.wowza.wms.dvr.impl.DvrPacketHandler.a(DvrPacketHandler.java:1757)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolderInternal(DvrPacketHandler.java:1658)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handleHolder(DvrPacketHandler.java:1114)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacketSorted(DvrPacketHandler.java:778)|at com.wowza.wms.dvr.impl.DvrPacketHandler.handlePacket(DvrPacketHandler.java:340)|
WARN server comment 2015-07-24 08:44:25 - - - - - 102954.717 - - - - - - - - DvrStreamStoreBase.storeChunks[StDominicChurch/definst/StDominic.stream/StDominic.stream.403] : Skipping chunk. A/V packet times differ by 2037 ms, more than allowed 2000 ms. aTime=1437745461452 vTime=1437745463489
Thanks.
Mike.