Hi
We are doing On-the-fly CENC-Multi-DRM encryption using server-side API for both VOD and LIVE (https://www.wowza.com/docs/how-to-secure-mpeg-dash-streaming-using-common-encryption-cenc). This was working with Wowza Streaming Engine 4.3 for both PlayReady and Widevine. With Wowza Streaming Engine 4.4 we are seeing the following exception when encrypting the VOD content:
2016-02-10 07:30:52 CET comment server ERROR 500 - MP4FragmentWriter.writeAtomTENC : java.lang.IndexOutOfBoundsException: Index: 0, Size: 0|at java.util.ArrayList.rangeCheck(ArrayList.java:653)|at java.util.ArrayList.get(ArrayList.java:429)|at com.wowza.wms.media.mp4.fragment.MP4FragmentWriter.a(MP4FragmentWriter.java:2905)|at com.wowza.wms.media.mp4.fragment.MP4FragmentWriter.writeAtomSTSD(MP4FragmentWriter.java:2845)|at com.wowza.wms.httpstreamer.mpegdashstreaming.file.MediaReaderH264MPEGDash.fillChunk(MediaReaderH264MPEGDash.java:1328)| - - - 1.628 - - - - - - - - - - - - - - - - - - - - - - - - -
Log for the stream:
2016-02-10 07:30:51 CET connect mpegdash INFO 200 1281577953 - _defaultVHost_ CX-DRM _definst_ 0.792 10.0.1.79 1935 http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd 10.0.1.79 http (mpegdash) http://localhost:8074/ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36 1281577953 0 0 - 0 - - ODC-100014_bitrate.mp4 - - - - - http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd - http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd -
2016-02-10 07:30:51 CET connect mpegdash INFO 200 729326923 - _defaultVHost_ CX-DRM _definst_ 0.792 10.0.1.79 1935 http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd 10.0.1.79 http (mpegdash) http://localhost:8074/ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36 729326923 0 0 - 0 - - ODC-100014_bitrate.mp4 - - - - - http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd - http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd -
2016-02-10 07:30:51 CET create stream INFO 200 ODC-100014_bitrate.mp4 - _defaultVHost_ CX-DRM _definst_ 0.001 10.0.1.79 1935 http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd 10.0.1.79 http (mpegdash) http://localhost:8074/ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36 1281577953 0 0 2 0 0 0 ODC-100014_bitrate.mp4 - - - - - http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd - http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd -
2016-02-10 07:30:51 CET create stream INFO 200 ODC-100014_bitrate.mp4 - _defaultVHost_ CX-DRM _definst_ 0.003 10.0.1.79 1935 http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd 10.0.1.79 http (mpegdash) http://localhost:8074/ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36 729326923 0 0 1 0 0 0 ODC-100014_bitrate.mp4 - - - - - http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd - http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd -
2016-02-10 07:30:52 CET comment server INFO 200 - MediaReaderH264MPEGDash.indexFile[CX-DRM/_definst_/ODC-100014_bitrate.mp4][mp4a.40.2]: AAC Audio info: {MediaCodecInfoAudio: codec:AAC, channels:2, frequency:48000, samplesPerFrame:1024, objectType:LC} - - - 0.879 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server INFO 200 - MediaReaderH264MPEGDash.indexFile[CX-DRM/_definst_/ODC-100014_bitrate.mp4][mp4a.40.2]: AAC Audio info: {MediaCodecInfoAudio: codec:AAC, channels:2, frequency:48000, samplesPerFrame:1024, objectType:LC} - - - 0.879 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server INFO 200 - MediaReaderH264MPEGDash.indexFile[CX-DRM/_definst_/ODC-100014_bitrate.mp4][avc1.66.21]: H.264 Video info: {MediaCodecInfoVideo: codec:H264, profile:Baseline, level:2.1, frameSize:512x288, displaySize:512x288, frameRate:30,000000} - - - 0.881 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server INFO 200 - MediaReaderH264MPEGDash.indexFile[CX-DRM/_definst_/ODC-100014_bitrate.mp4][avc1.66.21]: H.264 Video info: {MediaCodecInfoVideo: codec:H264, profile:Baseline, level:2.1, frameSize:512x288, displaySize:512x288, frameRate:30,000000} - - - 0.881 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server INFO 200 - HTTPStreamerMPEGDashIndexItem.indexFile[CX-DRM/_definst_/ODC-100014_bitrate.mp4]: Encrypt MPEGDash: key-id:EA2A1D7E-2532-4652-943A-FF8B7575EC70 - - - 1.063 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server INFO 200 - HTTPStreamerMPEGDashIndexItem.indexFile[CX-DRM/_definst_/ODC-100014_bitrate.mp4]: Encrypt MPEGDash: key-id:EA2A1D7E-2532-4652-943A-FF8B7575EC70 - - - 1.063 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server INFO 200 - HTTPStreamerMPEGDashIndex.createM4SDiscreteManifest[CX-DRM/_definst_/mp4:ODC-100014_bitrate.mp4]: AdpSetId:0 RepId:p0a0r0 mimeType:video/mp4 codecs:avc1.42c015 bandwidth:640000 height:288 width:512 duration:634633 - - - 1.064 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server INFO 200 - HTTPStreamerMPEGDashIndex.createM4SDiscreteManifest[CX-DRM/_definst_/mp4:ODC-100014_bitrate.mp4]: AdpSetId:0 RepId:p0a0r0 mimeType:video/mp4 codecs:avc1.42c015 bandwidth:640000 height:288 width:512 duration:634633 - - - 1.064 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server INFO 200 - HTTPStreamerMPEGDashIndex.createM4SDiscreteManifest[CX-DRM/_definst_/mp4:ODC-100014_bitrate.mp4]: AdpSetId:1 RepId:p0a1r0 mimeType:audio/mp4 codecs:mp4a.40.2 bandwidth:96000 audioSamplingRate="48000" - - - 1.065 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server INFO 200 - HTTPStreamerMPEGDashIndex.createM4SDiscreteManifest[CX-DRM/_definst_/mp4:ODC-100014_bitrate.mp4]: AdpSetId:1 RepId:p0a1r0 mimeType:audio/mp4 codecs:mp4a.40.2 bandwidth:96000 audioSamplingRate="48000" - - - 1.065 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server WARN 200 - false - - - 1.122 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server WARN 200 - false - - - 1.123 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET play stream INFO 200 ODC-100014_bitrate.mp4 - _defaultVHost_ CX-DRM _definst_ 0.802 10.0.1.79 1935 http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd 10.0.1.79 http (mpegdash) http://localhost:8074/ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36 729326923 0 7741 1 10000 0 0 ODC-100014_bitrate.mp4 - mp4:ODC-100014_bitrate.mp4 mp4 58958409 634.633 http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd - http://10.0.1.79:1935/CX-DRM/mp4:ODC-100014_bitrate.mp4/manifest.mpd -
2016-02-10 07:30:52 CET comment server WARN 200 - false - - - 1.625 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server WARN 200 - false - - - 1.625 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server ERROR 500 - MP4FragmentWriter.writeAtomTENC : java.lang.IndexOutOfBoundsException: Index: 0, Size: 0|at java.util.ArrayList.rangeCheck(ArrayList.java:653)|at java.util.ArrayList.get(ArrayList.java:429)|at com.wowza.wms.media.mp4.fragment.MP4FragmentWriter.a(MP4FragmentWriter.java:2905)|at com.wowza.wms.media.mp4.fragment.MP4FragmentWriter.writeAtomSTSD(MP4FragmentWriter.java:2845)|at com.wowza.wms.httpstreamer.mpegdashstreaming.file.MediaReaderH264MPEGDash.fillChunk(MediaReaderH264MPEGDash.java:1328)| - - - 1.628 - - - - - - - - - - - - - - - - - - - - - - - - -
2016-02-10 07:30:52 CET comment server ERROR 500 - MP4FragmentWriter.writeAtomTENC : java.lang.IndexOutOfBoundsException: Index: 0, Size: 0|at java.util.ArrayList.rangeCheck(ArrayList.java:653)|at java.util.ArrayList.get(ArrayList.java:429)|at com.wowza.wms.media.mp4.fragment.MP4FragmentWriter.a(MP4FragmentWriter.java:2905)|at com.wowza.wms.media.mp4.fragment.MP4FragmentWriter.writeAtomSTSD(MP4FragmentWriter.java:2845)|at com.wowza.wms.httpstreamer.mpegdashstreaming.file.MediaReaderH264MPEGDash.fillChunk(MediaReaderH264MPEGDash.java:1328)| - - - 1.629 - - - - - - - - - - - - - - - - - - - - - - - - -
The same encryption is working fine for LIVE content. Have there been any changes from 4.3 to 4.4 that we need to account for?