HEVC en Smart TV: por qué se oye y no se ve
Es un fallo desconcertante: cambias a un canal, el sonido arranca a la primera, el indicador de red está perfecto… y la imagen no aparece nunca. Ni rueda de carga, ni error. Negro. Pasa sobre todo en canales marcados como HEVC, H.265 o 4K, y solo en el televisor: en el móvil el mismo canal se ve sin problemas.
Lo reproducimos en un televisor LG real durante el desarrollo de nuestra app para webOS, y la causa es más sencilla de lo que parece. Te la contamos porque explica muchos «mi tele no soporta HEVC» que en realidad no son ciertos.
Dos caminos para el vídeo dentro de una Smart TV
Las apps de Samsung (Tizen) y LG (webOS) no son apps de Android: son aplicaciones web que corren sobre un navegador integrado en el televisor. Y ese navegador tiene dos formas distintas de reproducir vídeo:
| Camino | Cómo funciona | HEVC / H.265 |
|---|---|---|
| MSE (Media Source Extensions) | La app descarga el flujo con JavaScript, lo trocea y se lo va pasando al navegador; es lo que hacen bibliotecas como hls.js o mpegts.js. Decodificación por software del navegador. | No: el navegador interno de estas teles no descomprime H.265 por esta vía |
| <video> nativo | La app le da la URL directamente al televisor y es el firmware quien descarga y decodifica, con el mismo chip que usa el sintonizador de antena. | Sí: usa el decodificador HEVC por hardware del televisor |
El chip del televisor decodifica HEVC perfectamente. Lo que no lo hace es el navegador interno. Cuando una app elige el camino MSE para un canal HEVC, le está pidiendo al navegador algo que no sabe hacer.
Por qué se oye
Aquí está el detalle que hace tan confuso el fallo. Un flujo MPEG-TS o HLS lleva dos pistas: audio (normalmente AAC) y vídeo (H.264 o H.265). El navegador sí sabe decodificar AAC. Así que por la vía MSE ocurre esto:
- La biblioteca lee el flujo y detecta las dos pistas correctamente.
- Pasa la pista de audio al navegador, que la reproduce.
- Pasa la pista de vídeo H.265 al navegador, que la acepta sin quejarse… y no descomprime ni un solo fotograma.
Ningún componente lanza un error, porque para cada uno «todo va bien»: el demuxer leyó las pistas, el audio suena, el elemento de vídeo tiene datos. Solo que su ancho de imagen se queda en cero para siempre. Por eso el síntoma es sonido con pantalla negra y no un mensaje de error.
El fallo dentro del fallo
Muchas apps dan el canal por «arrancado» en cuanto la biblioteca detecta las pistas. En ese momento ya han dejado de vigilar, así que nunca se enteran de que el vídeo no llegó a decodificarse. El usuario se queda en negro indefinidamente, y la app cree que está reproduciendo.
Lo que hace Kraid en Samsung y LG
La app de Kraid para Tizen y webOS aplica dos medidas, una preventiva y otra de rescate:
1. HLS nativo por defecto
Cuando el proveedor ofrece el canal en HLS, Kraid entrega la URL directamente al elemento de vídeo nativo del televisor en lugar de pasarla por MSE. Así el H.265 va al chip del televisor, que es quien sabe decodificarlo, y la app se limita a dibujar la interfaz encima.
2. Detector de pantalla negra
Para los casos en que el flujo tiene que pasar por MSE (por ejemplo, MPEG-TS puro, que el reproductor nativo de la tele no abre), Kraid no se fía de que «las pistas se detectaron». Deja pasar unos segundos de reproducción y comprueba dos cosas: que el tiempo avanza y que el vídeo tiene ancho y alto reales. Si el reloj avanza pero la imagen sigue midiendo cero píxeles, es la firma exacta de este fallo: la app cierra ese camino y relanza el canal por el reproductor nativo, prefiriendo la variante HLS si el proveedor la tiene.
El cambio ocurre una sola vez por canal (no hay riesgo de bucle) y en la práctica el usuario solo nota que el canal tarda unos segundos más en aparecer la primera vez.
Qué puedes hacer tú mientras tanto
- Si tu proveedor ofrece el mismo canal en HLS (.m3u8) y en MPEG-TS (.ts), elige HLS en los ajustes de la app de tu televisor: es la variante que puede ir al reproductor nativo.
- Si la app solo tiene un camino y se queda en negro, no es que tu televisor no soporte HEVC: es la app. Un Fire TV Stick o una caja Android por HDMI usa su propio chip y evita el problema por completo.
- Si además ves estela en esos mismos canales cuando sí se ven, es otro problema distinto: la cadencia de 50 fps en paneles de 60 Hz.
Las apps de Kraid para Samsung y LG están construidas y probadas con estos arreglos sobre televisores reales, y en este momento se encuentran en revisión en las tiendas de ambos fabricantes. Puedes consultar el estado actualizado en la página de Samsung y LG.
Preguntas frecuentes
¿Por qué un canal HEVC se oye pero se ve en negro en mi Smart TV?
Porque la app está enviando el vídeo al navegador del televisor (vía MSE, decodificación por software), que sí sabe descomprimir el audio AAC pero no el vídeo H.265. Las pistas se detectan, el audio arranca y el vídeo no decodifica ni un fotograma. La solución es entregar el flujo al reproductor nativo del televisor, que sí usa el chip HEVC.
¿Mi televisor no soporta HEVC entonces?
Casi seguro que sí: cualquier Samsung o LG 4K de los últimos años decodifica H.265 por hardware para su sintonizador y sus apps nativas. Lo que no lo soporta es la vía por software del navegador interno. Es la app la que tiene que elegir bien el camino.
¿Es lo mismo que el canal que se ve con estela?
No. La pantalla negra con audio es un problema de decodificación (el vídeo no se descomprime). La estela o ghosting en canales a 50 fps es un problema de cadencia del panel, y lo explicamos en otro artículo. A veces coinciden en los mismos canales porque los HEVC suelen ser los de 50 fps, y de ahí la confusión.
¿Por qué en el móvil el mismo canal se ve bien?
Porque la app de Android usa el decodificador de hardware del teléfono directamente, sin pasar por un navegador. El problema es específico de las plataformas donde la app corre sobre un motor web, como Tizen y webOS.
Pensado para el chip de tu televisor
La app de Kraid para Samsung Tizen y LG webOS entrega HEVC al decodificador nativo del televisor y detecta la pantalla negra sola. Construida y probada en televisor real, en revisión en ambas tiendas; mientras tanto, Kraid funciona hoy en Android, Fire TV y Windows.
Descargar Kraid IPTV gratisNota legal: Kraid IPTV es un reproductor multimedia genérico y no incluye, vende ni enlaza ningún contenido, canal ni lista. El usuario es responsable de las fuentes que utiliza y de disponer de los derechos necesarios para su visionado. Más información.