Skip to content
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

DASH-HLS Interop: Image-based subtitles and trickplay tracks #2

Closed
nicoweilelemental opened this issue May 8, 2020 · 11 comments
Closed
Assignees
Labels
use case consideration Use cases to consider formalizing

Comments

@nicoweilelemental
Copy link

Image-based subtitles tracks
For workflow reasons and charset reasons, some content owners don't include text-based subtitles in the live channels sources that they provide to distributors, but rather image-based subtitles (like DVB-Sub). While it's possible to transform the subtitles as IMSC1 Image Profile as per DASH-IF IOP section 6.4.4, there is no equivalent IMSC1 Image Profile support in the HLS RFC, which means that companies will continue to rely on proprietary forks of the RFC to support these use cases. Could we discuss the integration in the HLS RFC with Apple? Even if it wasn't supported by Apple players, it would be tremendously helpful for interoperability in the rest of the video ecosystem.

Image-based trickplay tracks
For player resources optimization reasons, the use of a video track as a trickplay artefact is not always possible, and a lot of player providers recommend the use of image thumbnails tracks instead of special low framerate video tracks. DASHIF IOP section 6.2.6 covers this use case but there is equivalent support in the HLS RFC. There is the Image media playlists HLS extension proposal from Roku/Disney/Warner here https://developer.roku.com/docs/developer-program/media-playback/trick-mode/hls-and-dash.md but its relevance/adoption is limited by the fact that it's not part of the RFC. Same logic here: even if not supported by Apple players which don't need it as they can leverage iframe-only tracks, it would be super useful for the rest of the ecosystem to get this officially part of the HLS RFC.

@nicoweilelemental
Copy link
Author

As an alternative to the direct integration into the HLS RFC, we could imagine to see CTA-WAVE authoring and maintaining an official HLS-Extensions RFC, for non-Apple payers. This would already be a huge improvement compared to the current situation, with multiple HLS forks and extensions proposals scattered everywhere.

@mcpv
Copy link

mcpv commented May 20, 2020

Here's the spec we wrote with Roku. We could register it with IETF as an HLS extension so it could be referenced for Interop specs.

https://github.com/image-media-playlist/spec

@billmay
Copy link

billmay commented May 20, 2020

Instead of that, I'd rather take it to the new hls-interest group with the ietf, see if Apple will make it more official.

@nicoweilelemental
Copy link
Author

It's obviously better if new features make their way in the RFC. If Apple doesn't agree to introduce it, then we still can discuss with them a coordinated approach where an HLS-Extensions RFC (not only with image-based subtitles and media playlists, but with a wider scope) lives alongside the HLS core RFC. I will send the request to the mailing list.

@krasimirkolarov
Copy link

krasimirkolarov commented May 20, 2020 via email

@technogeek00 technogeek00 transferred this issue from cta-wave/content-specification-task-force May 28, 2020
@technogeek00 technogeek00 added interop use case Issues describes or discusses a specific interoperability use case transferred issue Issue transferred from previous task force labels Jun 3, 2020
@technogeek00 technogeek00 added use case consideration Use cases to consider formalizing and removed transferred issue Issue transferred from previous task force interop use case Issues describes or discusses a specific interoperability use case labels Aug 26, 2020
@technogeek00
Copy link
Collaborator

Previous IETF thread on image-based subtitles and trickplay tracks: https://mailarchive.ietf.org/arch/msg/hls-interest/FCfPmXIU6YApjrH7UltpDVSezTA/

@technogeek00
Copy link
Collaborator

@technogeek00 to split into two separate issues to better track the differing tracks of work.

@technogeek00 technogeek00 self-assigned this Aug 25, 2021
@nicoweilelemental
Copy link
Author

We now have reference live streams with Image-based trickplay tracks, for both HLS and DASH, I will add it to the new issue, once created.

@technogeek00
Copy link
Collaborator

Image based subtitle tracks

Question Answer
Does the feature relate to an industry streaming use-case? Yes, Subtitles
- What is the commonality of this case? Uncommon
- Is this an established or emerging practice? Declining, movement towards font-based
Does this feature have related mechanisms in both DASH and HLS? No
- What is the maturity of support in both specifications? DASH - Mature, HLS - Missing
- What is the maturity of implementation support for both specifications? DASH - Immature, HLS - N/A
- Are there known interoperability issues between specs? Yes, HLS explicitly excludes
- Has anyone implemented this interoperably? Potentially
- Are there features missing in a specification with open proposals for it? Potentially
Has the industry defined defacto mechanisms not present in both DASH and/or HLS? Yes
- Why was functionality defined outside of the main specifications? Usage of image-based IMSC in HLS
- Has the functionality been standardized elsewhere (DASH-IF, CTA, SVA)? No
- Is the functionality proprietary or openly developed? Proprietary
- Could the functionality be incorporated into specifications with evangelism? No, clear stance from Apple

Image-based trickplay tracks

Question Answer
Does the feature relate to an industry streaming use-case? Yes, Thumbnails / Trickplay
- What is the commonality of this case? Very Common
- Is this an established or emerging practice? Established
Does this feature have related mechanisms in both DASH and HLS? No
- What is the maturity of support in both specifications? DASH - Mature, HLS - Missing
- What is the maturity of implementation support for both specifications? DASH - Mature, HLS - N/A
- Are there known interoperability issues between specs? Yes, HLS does not support
- Has anyone implemented this interoperably? Yes
- Are there features missing in a specification with open proposals for it? Yes
Has the industry defined defacto mechanisms not present in both DASH and/or HLS? Yes
- Why was functionality defined outside of the main specifications? Industry desire
- Has the functionality been standardized elsewhere (DASH-IF, CTA, SVA)? No
- Is the functionality proprietary or openly developed? Proprietary, but open
- Could the functionality be incorporated into specifications with evangelism? Yes

@nicoweilelemental
Copy link
Author

Image-based trickplay tracks
HLS image-based trickplay track was already a fairly common feature for VOD contents targeting the Roku platform. Now it's spreading in the live domain too, as the spec extension is simple and efficient, and there is a growing demand for it.

Here is an AWS Elemental stream showing the implementation of the Image Media Playlist spec for the live use case: https://d345o62q7f2dwl.cloudfront.net/referencestream/main.m3u8

It's fairly easy to configure with MediaLive + MediaStore, or MediaLive + S3: https://docs.aws.amazon.com/medialive/latest/ug/trick-play-roku.html

The implementation work is happening on MediaPackage too, as we speak, and in the player ecosystem. That would be really great to capitalize on the Roku/Disney/Warner spec, which is the de factor industry standard now.

Image-based subtitle tracks
I agree with the assessment that this is a declining need, mostly related to legacy playback environments. We recently introduced DVB-Sub passthrough for HLS/TS on MediaPackage, but right now we don't see customer demand for forward looking formats like IMSC Image Profile. AS an industry, we should probably not spend more time on it until there is a precise need identified.

@technogeek00
Copy link
Collaborator

Issues split

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
use case consideration Use cases to consider formalizing
Projects
None yet
Development

No branches or pull requests

5 participants