google / ExoPlayer

This project is deprecated and stale. The latest ExoPlayer code is available in https://github.com/androidx/media
https://developer.android.com/media/media3/exoplayer
Apache License 2.0
21.7k stars 6.02k forks source link

Exoplayer 2.6.1 Audio and Subtitle Group Support #7289

Open vasusachin opened 4 years ago

vasusachin commented 4 years ago

Before filing a question:

Couldn't find answers in Search

When filing a question:

[REQUIRED] Searched documentation and issues

Yes

[REQUIRED] Question

We are using Exoplayer Version 2.6.1. Please let us know whether below Subtitle and Audio Group in a single HLS Stream is supported ? Same data is available in attached excel sheet also. Exoplayer_2.6.1_ST_AudioGroup.xlsx

Subtitle Groups Group 1: Language A Webvtt track A Language B Webvtt track B

Group 2: Language A SMPTE-TT track A

Group 3: Language A SMPTE-TT track A Language B SMPTE-TT track B

Group 4: Language A SMPTE-TT track A Language B Webvtt track B

Audio Groups: Group 1: Audio group 1 with 1 language A 40 kb/s AAC HEv1 for lowest profiles Audio group 2 with 1 language A 160 kb/s AAC HEv1 for highest profiles

Group 2: Audio group 1 with 1 language A 40 kb/s AAC HEv1 for lowest profiles Audio group 2 with 1 language A 480 kb/s AC3 PT for highest profiles

Group 3: Audio group 1 with 2 languages A & B 40 kb/s AAC HEv1 for lowest profiles Audio group 2 with 2 languages A & B 160 kb/s AAC HEv1 for highest profiles

Group 4: Audio group 1 with 2 languages A & B 40 kb/s AAC HEv1 for lowest profiles Audio group 2 with 1 language A 160 kb/s AAC HEv1 for highest profiles Audio group 3 with 1 language B 480 kb/s AC3 PT for highest profiles

Group 5: Audio group 1 with 1 language A 40 kb/s AAC HEv1 for lowest profiles Audio group 2 with 1 language A 480 kb/s AC3 PT for highest profiles

A full bug report captured from the device

NA

Link to test content

Not Available Currently

AquilesCanta commented 4 years ago

I don't think SMPTE-TT is supported by the HLS specification. Please clarify if you think i'm wrong. I did find what seems to be an unofficial RFC for this, however. ExoPlayer should support all the webvtt subtitles, and you should be able to get grouping information from the HlsTrackMetadataEntry object contained in the audio tracks' formats.

The best advise I can give you is to try your streams in our demo app, and reach back if you have any issues. Does this answer your question?

nigelmegitt commented 4 years ago

I'd suggest using IMSC in place of SMPTE-TT since my understanding is that Apple now supports IMSC (wrapped in fragmented MP4 "ISO BMFF") in HLS. IMSC has a large overlap with SMPTE-TT.

vasusachin commented 4 years ago

Whether IMSC is supported in 2.6.1 I dont see it in Formats Supported

ojw28 commented 4 years ago

@AquilesCanta - Do you know if we support IMSC (TTML) embedded in FMP4 for HLS? We already support this for DASH, and also embedded WebVTT, so presumably it should be pretty straightforward to add support if it's currently missing.

AquilesCanta commented 4 years ago

I'll try to get a sample stream and confirm. As you point out, if not supported out of the box, it should be pretty straightforward.