hlssink2 & fMP4 (fragmented mp4)

logidelic bill at orbit.org
Mon Sep 30 17:45:02 UTC 2019


Appreciate the response Nicolas.


Nicolas Dufresne-5 wrote
> Internally, hlssink2 (unlike hlssink) is based on splitmuxsink. That
> means adding support for fMP4 should be relatively easy. As its
> extremely similar, you'll find dashsink support which is pending review
> here (and does fMP4).

Interesting. I will give it a go as soon shortly. Thus far, I was trying
with hlssink with so-so results. I was able to get things /partially/
working by applying  this patch
<https://lists.freedesktop.org/archives/gstreamer-bugs/2014-April/122379.html>  
and turning off the force-key-unit flag. Things play for a few seconds in
safari, but no more than that. I still haven't figured out why. Hopefully
I'll have more luck with hlssink2.


Nicolas Dufresne-5 wrote
>> For h265, Apple only supports fMP4, so currently hlssink2 can't be used.
>> How
>> difficult would it be to add fMP4 support?
> 
> Do you know if anything needs change in the manifest, or will this all
> be identical with fMP4 instead of MPEG TS ? Also, DASH often split the
> audio from the video, does HLS / fMP4 do the same ?

You can find  Apple's spec here
<https://developer.apple.com/documentation/http_live_streaming/hls_authoring_specification_for_apple_devices> 
. With regard to the manifest, I see:

    8.20. If using fMP4, EXT-X-MAP tags MUST be present.

as well as:

    6.10. If using fMP4, I-frame segments MUST include the 'moof' header
associated with the I-frame.

    7.3. If using fMP4, the track fragment decode time MUST be consistent
with the decode time and duration of the previous segment.

Sounds like it's pretty much the same otherwise...



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list