media icon indicating copy to clipboard operation
media copied to clipboard

MPEG-H support in ExoPlayer

Open cecosme opened this issue 1 year ago • 4 comments

MPEG-H (ISO/IEC 23008-3) support in ExoPlayer

The MPEG-H Audio system was already adopted by ATSC (ATSC 3.0 TV), DVB, TTA (Korean TV) and now is adopted by Brazilian SBTVD as the sole audio codec for Brazil's second-generation DTT called TV 3.0 (more details here: https://forumsbtvd.org.br/tv3_0/#panel-phase2). Since lots of TV sets in the Brazilian market run Android OS, I would like to request the support of MPEG-H in ExoPlayer. Is it underway? Is there a roadmap? Best regards, Carlos Cosme

cecosme avatar Jun 15 '24 22:06 cecosme

https://github.com/androidx/media/tree/ts_mpegh_reader_patch Done

FongMi avatar Jun 16 '24 13:06 FongMi

Thanks for the feature request. There is already some work in progress to add parsing support for MPEG-H (see example linked above). Are you looking for any specific subset of MPEG-H features you would like to support in your app?

tonihei avatar Jun 17 '24 12:06 tonihei

Thank you for pointing to the ongoing work on the parsing support for MPEG-H. We are trying to enable the capabilities according to the TV 3.0 standard, which include not only decoding but especially the user interactivity options and MPEG-H HDMI passthrough. I’m wondering how difficult it is use MPEG-H in media3 using the source software decoder available on GitHub (https://github.com/Fraunhofer-IIS/mpeghdec)

cecosme avatar Jun 17 '24 19:06 cecosme

The initial support will likely involve an ExoPlayer extension published by Fraunhofer using the software decoder you linked. The changes we are making all ensure that such an extension can be easily written and used without any special forks of ExoPlayer. This setup should also support the interactive features and HDMI passthrough you mentioned.

tonihei avatar Jun 18 '24 13:06 tonihei

Hi @cecosme,

We've added the MPEG-H extension to the library's main branch. Please note that it doesn't support the interactive features and HDMI passthrough you mentioned yet, but we're working on it and will keep you updated!

rohitjoins avatar Oct 24 '24 16:10 rohitjoins

Hi @rohitjoins , This month MPEG-H HDMI passthrough was approved as a mandatory feature in the Brazilian’s TV 3.0 systems. Once you have any update regarding the support of this feature in the ExoPlayer please let me know. Thanks for the support!

cecosme avatar Nov 05 '24 20:11 cecosme

hI @rohitjoins! Is there any update so far regarding the interactives feature for TV 3.0? Best regards, Daniel.

danielgomes96 avatar Feb 26 '25 21:02 danielgomes96

Hi @danielgomes96,

We're still working on adding interactive features and HDMI passthrough and hope to include them soon.

rohitjoins avatar Mar 05 '25 13:03 rohitjoins

Hello @danielgomes96 ,

Thanks for the update. Let me share some from my side: by the end of April, Globo - the largest South America broadcaster - deployed in Rio de Janeiro city a project called Lighthouse. In this project, where Globo is broadcasting TV 3.0 technologies in a free-to-air experimental mode. There are two high-power high-tower RF stations covering part of the city and both are broadcasting two services:

  1. Service 1 is the main feed and is 3840x2160px, HDR10, 60fps, uses LCEVC+VVC at 10 Mbps, and 5.1+4H immersive audio with MPEG-H at 540 kbps offering up to 5 audio objects.
  2. Service 2 is the "geographically segmented" feed (for Ads and interactivity features) and is 1920x1080px, HDR10, 60fps, uses VVC at 6 Mbps, and 5.1+4H immersive audio with MPEG-H at 540 kbps offering up to 5 audio objects.

To decode it, Globo uses a set-top box with Realtek RTD1319D running Android 14.

Commercial release for TV 3.0 in Brazil is set for June 2026, to broadcast World Cup 2026.

More info here (now the official name for TV 3.0 in Brazil is DTV+):

  1. https://g1.globo.com/tecnologia/noticia/2025/04/29/globo-lanca-estacao-piloto-da-tv-30.ghtml
  2. https://somos.globo.com/novidades/noticia/globo-lanca-estacao-piloto-da-dtv.ghtml
  3. https://www.tudocelular.com/mercado/noticias/n234458/globo-inaugura-primeira-estacao-piloto-dtv.html
  4. https://www.techtudo.com.br/noticias/2025/04/tv-do-futuro-globo-inaugura-transmissao-experimental-da-dtv-conheca-edinfoeletro.ghtml
  5. https://teletime.com.br/29/04/2025/globo-inicia-piloto-de-dtv-no-rio-de-janeiro/

cecosme avatar May 15 '25 23:05 cecosme

Hello @danielgomes96 ,

Thanks for the update. Let me share some from my side: by the end of April, Globo - the largest South America broadcaster - deployed in Rio de Janeiro city a project called Lighthouse. In this project, where Globo is broadcasting TV 3.0 technologies in a free-to-air experimental mode. There are two high-power high-tower RF stations covering part of the city and both are broadcasting two services:

  1. Service 1 is the main feed and is 3840x2160px, HDR10, 60fps, uses LCEVC+VVC at 10 Mbps, and 5.1+4H immersive audio with MPEG-H at 540 kbps offering up to 5 audio objects.
  2. Service 2 is the "geographically segmented" feed (for Ads and interactivity features) and is 1920x1080px, HDR10, 60fps, uses VVC at 6 Mbps, and 5.1+4H immersive audio with MPEG-H at 540 kbps offering up to 5 audio objects.

To decode it, Globo uses a set-top box with Realtek RTD1319D running Android 14.

Commercial release for TV 3.0 in Brazil is set for June 2026, to broadcast World Cup 2026.

More info here (now the official name for TV 3.0 in Brazil is DTV+):

  1. https://g1.globo.com/tecnologia/noticia/2025/04/29/globo-lanca-estacao-piloto-da-tv-30.ghtml
  2. https://somos.globo.com/novidades/noticia/globo-lanca-estacao-piloto-da-dtv.ghtml
  3. https://www.tudocelular.com/mercado/noticias/n234458/globo-inaugura-primeira-estacao-piloto-dtv.html
  4. https://www.techtudo.com.br/noticias/2025/04/tv-do-futuro-globo-inaugura-transmissao-experimental-da-dtv-conheca-edinfoeletro.ghtml
  5. https://teletime.com.br/29/04/2025/globo-inicia-piloto-de-dtv-no-rio-de-janeiro/

I heard about this project. I'm from Rio, Brazil. Thanks for the info, but my main question is: I work for a US company and they bought a modulator for atsc 3.0, but how in the Android app should I implement interactivity on the player? I foud lack of documentation regarding this :(

danielgomes96 avatar Jul 11 '25 18:07 danielgomes96