zencoder / go-dash

A Go library for generating MPEG-DASH manifests.
Other
217 stars 60 forks source link

Is ErrSegmentTemplateLiveProfileOnly correct? #25

Closed pdf closed 8 years ago

pdf commented 8 years ago

I can't download the spec right now, because the ISO download gives me a 403 constantly, but on-demand profile with segment templates does pass schema validation. I haven't tested beyond that though.

If it doesn't break the spec, it would be nice to be able to generate on-demand MPDs using a segment template, because long videos with relatively short segments means generating quite large MPDs if every segment needs to be explicitly written to a segment list.

pdf commented 8 years ago

Also, it seems like there's currently no way to produce segmented MPDs without using SegmentTemplate, since SegmentList is not implemented. I'd be happy to provide a PR to either allow SegmentTemplate for on-demand, or to implement SegmentList, but the prior would be preferred if anyone can confirm what the spec says.

philcluff commented 8 years ago

Hi Peter,

Thanks for the issue. I completely agree that this is allowed as per the Dash XSD.

However, as per ISO_23009-1-2012, section 8.3.2 (ISO Base media file format On Demand profile): "neither the Period.SegmentList element nor the Period.SegmentTemplate element shall be present".

Dash on-demand profile forces you to use a sidx atom in your media to represent where your segment boundaries are. If you want to use segment list/timeline, you should use "live" or "main" profile. We'll have a branch locally which has segment timeline support in dash live, we can hopefully push this out later this week, but I'm not promising anything right now.

I'll close this as resolved, but raise an issue for SegmentList and SegmentTimeline support in Main/Live profile.

Cheers!

~PhilC.

pdf commented 8 years ago

Thanks @GeneticGenesis, I would usually just look up the spec myself, if ISO wasn't denying access to their 'publicly available' standards :confused:. I may look at implementing main profile here if the spec ever becomes available again, since that appears to satisfy my requirements (as far as I can tell from reading slides).

philcluff commented 8 years ago

No problems.

Overwhelmingly I see people using "live" profile with segment template or segment timeline for their Dash deliveries at the moment. It seems to work well in most players.

Let me know if you need any pointers or help.

Cheers,