Hi,
I am following the guide here:
https://www.wowza.com/docs/how-to-monitor-mpeg-ts-ingestion-to-process-additional-data-streams-scte-35-klv-etc
I want to listen for SCTE-35 triggers in the stream, so I implemented the IMPEG2UserMonitorSectionNotify interface example included in the guide. I am able to attach the monitor to the PID, and MPEGTSMonitorCUE.onMonitorStart() is called, but onDataSection() is never called.
I am using Wowza 4.7.1.
Here is the console output:
INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: MPEG2PMTAssembler:MonitorStart: PID: 480 Program Number: 1 INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: MPEG2MPTS:StartStream: PID: 0x1e0 INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: Received new PMT INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: PMT: Version 0 PCR pid: 0x1e1 INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: Stream: Type: 0x1B PID: 0x1e1 Video INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: Descriptor (40) : (4) INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: Stream: Type: 0x0F PID: 0x1e2 Audio INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: LanguageDescriptor (10) : Languages: und Encoding: 0 INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: Stream: Type: 0x86 PID: 0x1e3 INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: RTPDePacketizerMPEGTS.pmtAvailable: IMPORT: videoPID[prg:0xffffffff,pid:0x1e1,filter:none]: streamType:H264:27 INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: MPEG2MPTS:StartStream: PID: 0x1e1 INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: RTPDePacketizerMPEGTS.pmtAvailable: IMPORT: audioPID[prg:0x1,pid:0x1e2,filter:none]: streamType:AAC:15 audioLanguage:und INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: MPEG2MPTS:StartStream: PID: 0x1e2 INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: MPEG2MPTS:StartStream: PID: 0x1e3 INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: Received first video TS Packet INFO server comment - RTPDePacketizerMPEGTSSimpleExample.onTimecodeReady INFO server comment - LiveReceiver.init[live/definst/test.stream]: sortPackets:false flushInterval:50 onFlushNotifyClients:false sendSetDataFrame:false sendUpdatedOnMetaData:false audioLag:0 videoLag:0 INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: Received first audio TS Packet INFO server comment - RTPDePacketizerMPEGTS[live/definst/test.stream]: AAC serialization method is ADTS
The monitor should be attaching to 0x1e3, which appears to be the data stream, and is flagged as type 0x86 (SCTE).
The SCTE35RegDescFound variable is returning true, and is detecting the SCTE Registration Descriptor (CUEI) in the data stream.
I also tried implementing the IMPEG2UserMonitorRawNotify interface, with the same results. onDataRaw is never called.
Any ideas on this? Is it possible that the stream contains the SCTE data stream but never sends a splice command, and therefore onDataSection and onDataRaw are never called?
Thanks