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

Attempting to change tracks in multi-angle adaptive HLS playlist #2600

Open
benwilber opened this issue Mar 23, 2017 · 7 comments
Open

Attempting to change tracks in multi-angle adaptive HLS playlist #2600

benwilber opened this issue Mar 23, 2017 · 7 comments
Assignees

Comments

@benwilber
Copy link
Contributor

I am trying to change the selected video track in a multi-angle adaptive HLS playlist as described in Listing 13 here "Variant playlist with 3 different camera angles and different bit rates."

I have created a test stream with 3 different "angles" each having 3 adaptive variants here:

#EXTM3U

#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="3000k",NAME="Red",AUTOSELECT=YES,DEFAULT=YES
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="3000k",NAME="Green",AUTOSELECT=YES,DEFAULT=NO,URI="green/index-f1-v1-a1.m3u8"
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="3000k",NAME="Blue",AUTOSELECT=YES,DEFAULT=NO,URI="blue/index-f1-v1-a1.m3u8"

#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="5000k",NAME="Red",AUTOSELECT=YES,DEFAULT=YES
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="5000k",NAME="Green",AUTOSELECT=YES,DEFAULT=NO,URI="green/index-f2-v1-a1.m3u8"
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="5000k",NAME="Blue",AUTOSELECT=YES,DEFAULT=NO,URI="blue/index-f2-v1-a1.m3u8"

#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="8000k",NAME="Red",AUTOSELECT=YES,DEFAULT=YES
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="8000k",NAME="Green",AUTOSELECT=YES,DEFAULT=NO,URI="green/index-f3-v1-a1.m3u8"
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="8000k",NAME="Blue",AUTOSELECT=YES,DEFAULT=NO,URI="blue/index-f3-v1-a1.m3u8"


#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=613606,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2",VIDEO="3000k"
red/index-f1-v1-a1.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=815785,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2",VIDEO="5000k"
red/index-f2-v1-a1.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1110022,RESOLUTION=2560x1440,CODECS="avc1.640032,mp4a.40.2",VIDEO="8000k"
red/index-f3-v1-a1.m3u8

Unfortunately I'm not able to determine from the TrackSelector API how I can actually change to a different "angle" as a result of user button press, for instance. Is this possible with ExoPlayer v2.3.0 presently?

Thanks!

@sergiomartinez4
Copy link

is there a way to achieve that in ExoPlayer r2.5.2?

@sapanda
Copy link

sapanda commented Jul 5, 2018

Bumping up to see if this is possible yet in ExoPlayer 2.8.2. Thanks!

@AquilesCanta
Copy link
Contributor

Still on the radar but not on the roadmap yet, unfortunately. Thanks for your patience!

@jaganPeloton

This comment has been minimized.

@AquilesCanta

This comment has been minimized.

tonihei pushed a commit that referenced this issue Mar 29, 2019
Still skipping any renditions that have a null URL, which means that
closedCaptions in particular is always empty. This restriction will
be removed in a subsequent change, which will also remove muxedAudioFormat
and muxedAudioCaptions from HlsMasterPlaylist and instead derive them
from the Variant and Rendition information in HlsMediaPeriod.

Issue: #5596
Issue: #2600
PiperOrigin-RevId: 240623500
tonihei pushed a commit that referenced this issue Mar 29, 2019
This is to make it possible to use equality of HlsUrl.url fields
to determine whether two HlsUrls point at the same media playlist.
This doesn't work currently because it's possible to mix absolute
and relative urls, which will not be equal until after the relative
url is resolved against the playlist baseUrl.

Issue: #5596
Issue: #2600
PiperOrigin-RevId: 240966503
tonihei pushed a commit that referenced this issue Mar 29, 2019
- This removes the need for Variant and Rendition to have a common
  base class, allowing the url field to be marked as @nullable in
  Rendition but not in Variant.
- The addition of mediaPlaylistUrls is needed for the new StreamKey
  indexing for HLS. It's also convenient in a couple of places (e.g.
  HlsDownloader), where a list of all media playlist URLs is needed.
- Lots of places where HlsUrl was passed only needed the actual
  URL (not the Format, which is the other piece of HlsUrl). Passing
  just the URL is a little simpler, and resolves some of the naming
  confusion.

Issue: #5596
Issue: #2600
PiperOrigin-RevId: 240970466
@WassimErriha

This comment has been minimized.

@AquilesCanta

This comment has been minimized.

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

No branches or pull requests

6 participants