Skip to content

Support for alternative video renditions #1825

Description

@jdp

It would be great if there were support for alternative video renditions in the same way that there is support for alternative audio renditions, with a control interface for switching renditions. I have playlists that show different camera angles of the same event as described in the EXT-X-MEDIA section of the HLS draft. Is this on the roadmap, or something that the project would be willing to accept code contributions toward?

Activity

  1. self-assigned this
    on Jul 18, 2018
  2. tchakabam commented on Jul 18, 2018

    @tchakabam
    Collaborator

    This is something I have been working on in past projects, and with other media engines.

    As a workaround, what I suggest to you is simply have your alternate video tracks advertised like redundant levels and using different Group-IDs :)

    there should then be a fairly simple way to tell level-controller to switch the URL-index.

    you could also really use different video quality levels, and when they have different bandwidths they wont be recognized as redundant, so you can switch in between them with the normal level-switching API.

    otherwise, what you need is only very simply changes in the parser to allow having VIDEO MEDIA-TYPE for alternate renditions and some changes in level-controller obviously.

  3. stale commented on Sep 16, 2018

    @stale

    This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

  4. harxki commented on Mar 12, 2025

    @harxki

    @robwalch

    Hello, as mentioned in the comment on this issue, is it recommended to use levels when streaming with multiple angles? In our project, we group each angle using EXT-X-MEDIA.

    https://developer.apple.com/documentation/http-live-streaming/adding-alternate-media-to-a-playlist#Combine-Groups-and-Single-Options

  5. robwalch commented on Mar 18, 2025

    @robwalch
    Collaborator

    HLS.js doesn't support #EXT-X-MEDIA:TYPE=VIDEO alternates. Levels (HLS Variants) represent bitrate and codec alternatives of the same content and should not be used for alternate camera angles.

    I recommend filing a new feature request including sample HLS assets that could be used to test and demonstrate the feature.

    This issue has been closed for a long time and will not be used to track the feature request (sorry @jdp and @harxki). Features requests will not be closed as stale and should include examples that contributors can use for development. Feel free to start by filing without sample content and post examples later to show intent and document support in other HLS clients.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions