A method to stitch together VOD clips
See original GitHub issueIt might be interesting to allow an application to stitch together multiple VOD clips.
For example:
player.load('/vod.mpd').then(function() {
return player.appendVod('/other_vod.mpd');
}).then(function() {
return player.appendVod('/hls_vod.m3u8');
});
The periods of the new content would be appended to the periods of the old content, and the presentation timeline would be extended to match.
There would be no requirement that the same manifest parser be used for each clip, so DASH could be appended together with HLS.
Appending a manifest which turns out to be live or IPR content would fail with an error such as CANNOT_APPEND_NON_VOD_CONTENT
.
If the initial load() call is for live or IPR content, the appendVod()
call would call fail with an error such as CANNOT_APPEND_TO_NON_VOD_CONTENT
. (Subtle difference in error code.)
If filtering the new content against the existing content leaves no playable streams from the new content, the call would fail with an error such as CANNOT_APPEND_INCOMPATIBLE_CONTENT
. For example, appending TS content after MP4, or appending H.264 after VP9.
If this capability would be interesting to you, please comment and let us know!
Issue Analytics
- State:
- Created 6 years ago
- Reactions:9
- Comments:6 (2 by maintainers)
I think this would be very interesting for our use case (I work on music streaming at TIDAL) currently we use two instances of Shaka player to do preloading of the next track when the playing track is close to finished. Ideally we would like to have as short a gap when switching between tracks as possible (gapless being the goal) 😃
Thanks for the thorough reply @joeyparrish! I’ll have a look at this methods and get a bit more acquainted with the code base. It looks like preload is something the main shaka team is going to jump on soon looking at the roadmap and wishes for next release? Maybe I should wait with tying to implement gapless - or at least the loading aspects - until that is done?