How do I Inject metadata into a DELAYED HLS live stream?

Dan_Farrow
Fri, 28 Jan 2022 22:17:19 +0000
Wowza Streaming Engine

I have a use case where I want ID3 metadata for a live stream to arrive a few seconds ahead of the video event which it aligns with. I think I can accomplish this if I delay a live input stream and then inject metadata into the delayed stream.

I am able to successfully do both of these things independently, but can’t seem to inject metadata into the delayed stream.

I used this example to successfully inject metadata into a normal stream:
https://www.wowza.com/docs/how-to-inject-cue-points-or-metadata

I used this example to successfully delay a stream:
http://www.wowzamedia.com/downloads/forums/publishwithdelay/PublishWithDelay.zip

These both work on their own, but if I try to inject metadata into the delayed stream, the LiveStreamPacketizerDataHandler.onFillChunkDataPacket() event never fires, however I see the delayed stream exists when I call the Java module.

For example I have “myStream” and “myStream_delay” which is delayed by 10 seconds. FYI, the delayed stream is a copy of an incoming RTMP stream and created via Java code, it is not a “normal” stream…

Injecting metadata into “myStream” works fine, and that data even appears in “myStream_delay”…However, I want the data to be injected about 10 seconds ahead of the video stream. When I try to inject metadata into “myStream_delay”, the module function LiveStreamPacketizerDataHandler.onFillChunkDataPacket() never gets called. Do I have to do something special to register a listener on the delayed stream?

1 post - 1 participant