-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support EventStream #462
Comments
This seems pretty reasonable, but I'd like to defer it until after we wrap up v2.0.0. |
One use case I have been working with is to repackage HLS with SCTE35 base encoded data to multi period MPEG DASH [1] where I add
to MPD root element and then adds an EventStream with this payload:
It would be great if this use case also could be supported and I am happy to contribute with a PR if it sounds like a good idea to support. |
@joeyparrish is this on your roadmap for the near/medium term? If not, we can take a stab at it. |
We have not scheduled this work. A PR would be welcome, and I have no issues with the three-event design you laid out in the original post. Thanks! |
@baconz, are you working on this at the moment? If not, I will try to schedule it for our team. |
@joeyparrish we have not started on it yet. If you could schedule it that would be great. |
This add the groundwork for event regions that occur while playing. When the playhead enters (or plays through) a specified region it will fire enter/exit events for it. They are not fired when seeking over. Issue #462 Change-Id: I9e280796bd012ad74d0319aa2056c6f6aa28890d
Now we will fire JavaScript events for the EventStream elements. The design is similar to @baconz design, but the event names are a little different. The three events are We also do not parse the Event node. So if you want to get the scte35 info (or anything that is in the Event), you have to parse it in the app. |
Per sections 5.3.2.4 and 5.3.3.7 of the IOP, we should support EventStream in DASH manifests. An EventStream contains Event elements that reference ranges in the timeline. When the playhead hits one of these ranges, the event fires, and delivers the payload of the underlying Event element.
The IOP is not very clear on how this functionality should be implemented, but we have three example use-cases that might inform the behavior:
I can imagine three types of events that Shaka fires, all would contain the payload and the range covered by the event.
timelineeventstart
: fired when the playhead hits a point referenced by anEvent
element. Maybe we can listen totimeupdate
on the video element for this?timelineeventend
: fired when the playhead leaves a point referenced by anEvent
element.timelineeventcreated
: fired when a new event is added to the timeline. This gives us an easy way to track the positions of the events for use-cases like the third listed above.This is related to, but distinct from EMSG box support, referenced in #259.
If we can agree on a design, I'm happy to put up a PR.
The text was updated successfully, but these errors were encountered: