How to stream shorter DASH segment than source mp4's GOP?

Hello Wowza,

We are considering to provide VOD by DASH streaming + HTML5 player as an alternative to Smooth Streaming + Silverlight.

Currently, we have petabytes of H264/MP4 videos, those GOP length are variable, about 1 to 8 seconds.

But we would like to stream them with shorter segment, at most 2 seconds, because there is seek latency issue in DASH with long segment.

Since transcoding so many videos will take too long time, we are researching much faster or on-the-fly solution.

Is there any good on-the-fly module or faster solution, some kind of keyframe inserter, than re-encoding whole video data?

Video spec: 6Mbps, 1920x1080, 30fps (and some lower bitrates for adaptive streaming)

Any suggestions would be greatly appreciated.

Best regards,

Tomonori

Hi,

Wowza Streaming Engine won’t change the keyframes for “vod” files. It will simply stream them with whatever is defined in the file. You could look at creating a “pseudo-live” stream using ServerListenerStreamPublisher, which “publishes” VOD playlists as a live stream, and which then allows you to transcode the stream on the fly, including setting a different keyframe. This may not be practical for large numbers of files though. In this case then from a programmatic perspective you could look at ModuleStreamControl to dynamically create a live stream.

Paul

Hi,

I don’t have examples of how to load the schedule outside of Flash client but the source is available for customization. You can stream the output as MPEG-DASH. I’m not sure what you mean by “seekable”. As it’s a live stream then you can’t skip through the stream. You can apply DVR-type controls by enabling the nDVR AddOn for that Wowza application, but currently this is not available for MPEG-DASH. We do hope to provide nDVR for DASH in the future though.

Paul

Thank you for the answer Paul,

You could look at creating a “pseudo-live” stream using ServerListenerStreamPublisher, which “publishes” VOD playlists as a live stream, and which then allows you to transcode the stream on the fly, including setting a different keyframe. This may not be practical for large numbers of files though. In this case then from a programmatic perspective you could look at ModuleStreamControl to dynamically create a live stream.

According to the “pseudo-live” stream, we have two questions:

  1. is it possible to program this as a Wowza custom module without any client side flash?

  2. is the “pseudo-live” stream seekable with an HTML5 DASH player?

Best regards,

Tomonori

Thank you Paul,

You can apply DVR-type controls by enabling the nDVR AddOn for that Wowza application, but currently this is not available for MPEG-DASH. We do hope to provide nDVR for DASH in the future though.

That is what I wanted to know. I think HLS can play with videojs-contrib-hls.

Tomonori