-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Quick context:
- We are developing an Android app for playing TV streams, both live while the program is running and then as VOD for 7 days after the program is finished
- For several features we are relying on the fact that every position in each streams has an absolute timestamp associated with it. The most obvious of these is resuming playback at the last known position:
- User is watching the live streams but stops in the middle of a program
- We are storing the absolute timestamp of that position on the server
- Program is finished and becomes available as VOD
- When the user watches the VOD stream we can resume at the stored timestamp
- For playback we are using Google's ExoPlayer
- Until now, all of our streams were HLS and the playlist contained a
#EXT-X-PROGRAM-DATE-TIME - We are now migrating some of the streams to DASH and want to find a way to continue using our existing logic
Our logic around ExoPlayer seems to work for our dynamic (live) MPDs as they are currently configured but not for our static (VOD) MPDs. I looked through the relevant ExoPlayer code and found that it relies on the availabilityStartTime and on the start of the first Period but we still cannot figure out the correct way to configure our static MPDs.
I found some discussions that seem to relate to absolute timestamp in a static MPD:
- What does " If the MPD@availabilityStartTime is maintained for a portion of the live program that is offered in the static MPD" mean? #28
- Clarify timestamp handling in dynamic->static transition #56
but I am still not sure...
So, my questions:
- Does it even make sense (within DASH) to associate an absolute timestamp with the stream start in a static MPD?
- If so, how should the information be transmitted correctly? What should the values of
availabilityStartTimeandPeriod.startbe and what other values are needed?
I hope this is the right place to ask these questions and am very grateful for any advice!
(Finally, here's my issue at ExoPlayer which I opened a few weeks ago: google/ExoPlayer#7911)
Metadata
Metadata
Assignees
Labels
No labels