Results 1 to 3 of 3

Thread: IMediaStreamH264SEINotify - Is it available for VOD?

  1. #1

    Default IMediaStreamH264SEINotify - Is it available for VOD?

    I currently use IMediaStreamH264SEINotify on live streams to get notified when SEI message user data is present so that I can handle it appropriately. I also record those live streams so that I can play them later using VOD. Therefore, I know that the recorded file (.mp4) has that user data in it (and I have verified that it is there on certain devices that play that stream).

    That said, I need to implement a module for VOD that will get notified when SEI message user data is present in the VOD. I've implemented a similar module...

    import com.wowza.wms.amf.AMFPacket;
    import com.wowza.wms.application.WMSProperties;
    import com.wowza.wms.media.h264.H264SEIMessages;
    import com.wowza.wms.module.ModuleBase;
    import com.wowza.wms.stream.IMediaStream;
    import com.wowza.wms.stream.IMediaStreamH264SEINotify;
    
    public class TestH264VideoEvents extends ModuleBase {
    
    	public void onStreamCreate(IMediaStream stream) {
    		getLogger().info("TestH264VideoEvents#onStreamCreate by: " + stream.getClientId());
    		IMediaStreamH264SEINotify seiListener = new SEIListener();
    
    		WMSProperties props = stream.getProperties();
    		synchronized (props) {
    			props.put("SEIListener", seiListener);
    		}
    		stream.addVideoH264SEIListener(seiListener);
    	}
    
    	public void onStreamDestroy(IMediaStream stream) {
    		getLogger().info("TestH264VideoEvents#onStreamDestroy by: " + stream.getClientId());
    
    		IMediaStreamH264SEINotify seiListener = null;
    
    		WMSProperties props = stream.getProperties();
    		synchronized (props) {
    			seiListener = (IMediaStreamH264SEINotify) props.get("SEIListener");
    		}
    		if (seiListener != null) {
    			stream.removeVideoH264SEIListener(seiListener);
    		}
    	}
    	
    	
    	class SEIListener implements IMediaStreamH264SEINotify {
    
    		public void onVideoH264Packet(IMediaStream stream, AMFPacket packet, H264SEIMessages messages) {
    			getLogger().error("onVideoH264Packet");
    		}
    	}
    }

    All I would hope for is that I get a message logged to the error log, but no such luck.

    1) Should this work? Or does the IMediaStreamH264SEINotify only apply to live streams?

    2) If it doesn't work for VOD, is there another way to access the H264SEIMessages?

  2. #2
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    I'm not sure, I will see what I can find out.

    Richard

  3. #3
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    Hi,

    No, sorry, I found that it does not work for vod, only for live

    Richard

Similar Threads

  1. [VOD Streaming] Create a time frame for VOD stream
    By anhdung in forum Live Streaming and Encoders
    Replies: 2
    Last Post: 05-27-2014, 04:33 AM
  2. Replies: 3
    Last Post: 11-29-2012, 10:11 AM
  3. Replies: 1
    Last Post: 11-09-2012, 06:57 PM
  4. IMediaStreamH264SEINotify - Does it exist?
    By syncmatt in forum General Forum
    Replies: 6
    Last Post: 08-13-2012, 08:54 AM
  5. Same directory for RTMP VOD and VOD to iOS Devices
    By bobmax48 in forum Video On Demand Streaming Discussion
    Replies: 3
    Last Post: 05-23-2012, 04:09 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •