kaltura / nginx-vod-module

NGINX-based MP4 Repackager
GNU Affero General Public License v3.0
1.96k stars 431 forks source link

DASH zero length segments incompatible with Chromecast player #979

Open daimoniac opened 5 years ago

daimoniac commented 5 years ago

As mentioned here: https://github.com/kaltura/nginx-vod-module/issues/322

when keyframe alignment does not match with segment duration, there might appear zero length segments.

this is incompatible with google chromecast as mentioned here: https://developers.google.com/cast/docs/mpl/streaming_protocols Warning: The CAF Player does not support segments shorter than 0.1 seconds.

We have mixed video sources with different frame rates and therefore different keyframe alignments. Therefore, always accurately aligning GOP with segment duration is not an option.

When estimating segment duration, skipping does not always work.

When not aligning segments to keyframes, skipping also fails.

Any idea how we could mitigate this?

erankor commented 5 years ago

A possible solution is to use a segment duration that is the max of all GOP sizes, If you do that, each segment will contain at least one GOP, and won't be empty.