Education·7 min

Por Shamir

Qué es un archivo .TS y por qué tus streams están hechos de ellos

Si alguna vez has mirado el interior del manifiesto de un stream, habrás visto una lista de archivos que terminan en .ts. Si alguna vez has extraído vídeo de un grabador o una tarjeta de captura, es posible que hayas acabado con uno. Y si alguna vez has intentado abrirlo haciendo doble clic, es bastante probable que no haya ocurrido nada.

.ts significa MPEG Transport Stream y es uno de los formatos más discretamente importantes del vídeo. Se diseñó para emisiones por satélite y terrestres en los años 90, y tres décadas después acabó transportando una enorme parte del streaming por internet, por una razón que resulta realmente ingeniosa cuando la entiendes.

Qué es realmente un Transport Stream

La mayoría de los formatos de vídeo que conoces son archivos: un contenedor con una cabecera al principio, un índice que indica dónde está cada cosa y un final definido. MP4 funciona así. Está diseñado para almacenarse en un disco y poder desplazarse por él.

Un transport stream no tiene esa estructura. Es un flujo continuo de pequeños paquetes de tamaño fijo —188 bytes cada uno— que se puede empezar a recibir en cualquier momento.

Esta decisión de diseño surgió de la radiodifusión. Cuando sintonizas un canal de televisión, no empiezas por el principio de nada. Te incorporas a una señal que ya está en curso, y la imagen tiene que aparecer en uno o dos segundos. Un formato con una cabecera al principio y un índice no serviría de nada: no hay principio.

Por eso, un transport stream repite continuamente todo lo necesario. Cada cierto tiempo vuelve a enviar las tablas que describen qué streams contiene, e incluye con regularidad un fotograma clave completo desde el que se puede empezar a descodificar. Puedes incorporarte en cualquier punto y empezar a reproducir en un segundo.

Esa es toda la idea, y explica todo lo demás.

Por qué lo adoptó el streaming por internet

HLS —el método de streaming en el que se basa la mayor parte del vídeo en directo que ves— funciona dividiendo el contenido en segmentos cortos, normalmente de entre dos y diez segundos, y enumerándolos en un manifiesto. El reproductor descarga los segmentos en orden y, si tu conexión se debilita, empieza a solicitar discretamente versiones de menor calidad en lugar de quedarse bloqueado.

Para que funcione, cada segmento tiene que poder descodificarse de forma independiente. El segmento 47 no puede depender de una cabecera que solo exista en el segmento 1, porque el reproductor podría incorporarse en el 47 o cambiar de calidad entre el 46 y el 47.

El transport stream ya tenía exactamente ese formato. Se describe a sí mismo, se puede iniciar desde cualquier punto y tolera las pérdidas. HLS no tuvo que inventar un formato de segmentos: heredó uno de la radiodifusión que llevaba resolviendo el mismo problema desde antes de que la web tuviera vídeo.

Por eso, cuando miras dentro de un manifiesto .m3u8 y ves:

#EXTINF:6.000,
segment000.ts
#EXTINF:6.000,
segment001.ts

son fragmentos de transport stream de seis segundos. Tu stream no es un solo vídeo. Son miles de pequeños vídeos que se solicitan en orden. (Por qué eso significa que no puedes simplemente «convertir» un stream a MP4.)

.TS frente a .MP4

.ts (MPEG-TS).mp4
EstructuraFlujo continuo de paquetesArchivo indexado con una cabecera
¿Se puede empezar desde cualquier punto?No: necesita la cabecera
¿Tolera las pérdidas?, se resincroniza en el siguiente paqueteLos daños pueden inutilizar todo el archivo
DesplazamientoLento, sin índiceRápido, indexado
SobrecargaMayor (las cabeceras se repiten constantemente)Menor
Diseñado paraEmisiones y streaming en directoAlmacenamiento y reproducción de archivos completos

Ninguno es mejor. Resuelven problemas opuestos. .ts está optimizado para llegar; .mp4, para permanecer almacenado.

Por eso también es habitual convertirlos entre sí y, en principio, sin pérdida: el vídeo y el audio del interior pueden ser idénticos y solo cambia la envoltura.

Dónde puedes encontrarte archivos .TS

  • Dentro de streams HLS. Los segmentos, como hemos visto. Nunca los ves por separado: el reproductor los descarga y los descarta.
  • En una fuente de estilo Xtream con output=ts. Ese parámetro solicita al servidor un transport stream sin procesar en lugar de HLS segmentado. (Cómo se construyen esas URL.)
  • En hardware de captura de emisiones. Los sintonizadores, las tarjetas de captura y los grabadores suelen escribir directamente en .ts, porque es lo que reciben por antena.
  • En discos Blu-ray, como .m2ts, un formato estrechamente relacionado.
  • En videocámaras, especialmente en los modelos AVCHD, que también utilizan .m2ts.

Cuando un archivo .TS no se reproduce

Es algo habitual y normalmente se debe a una de estas cinco cosas.

1. No hay ninguna asociación de archivos. Windows y macOS no incluyen un controlador para .ts. Al hacer doble clic no ocurre nada o se abre algo que no sirve de mucho. No significa que esté dañado: el archivo no tiene ningún problema. Ábrelo desde el propio reproductor.

Y hay algo peor: en algunos sistemas, .ts está asociado a un editor de código, porque también es la extensión de los archivos de código fuente de TypeScript. Que un vídeo se abra en un editor de texto resulta confuso, pero no es peligroso.

2. El códec del interior, no el contenedor. .ts es una envoltura. Dentro puede haber MPEG-2 (emisiones antiguas), H.264 o HEVC. Si tu dispositivo no puede descodificar el códec, el contenedor es irrelevante. El síntoma clásico es que el audio se reproduzca con la imagen en negro. (Pantalla negra, pero el audio funciona.)

MPEG-2 suele ser el culpable: es antiquísimo y algunos dispositivos modernos ya no incluyen un descodificador para él porque nadie esperaba seguir necesitándolo.

3. Audio inusual. Los transport streams de radiodifusión suelen incluir audio AC-3, E-AC-3 o DTS. El vídeo se reproduce, pero no hay sonido. Es un problema del códec de audio o de la transmisión directa, no del contenedor. (Soluciones para cuando no hay sonido.)

4. Una captura truncada. Una grabación interrumpida mientras se estaba escribiendo produce un archivo parcial. El transport stream se degrada con elegancia: normalmente se reproduce hasta el punto de interrupción. Esa es una de sus ventajas reales frente a MP4, ya que un archivo truncado puede no abrirse en absoluto.

5. El desplazamiento es lento y parece que está roto. Como no hay índice, el reproductor tiene que escanear al desplazarse por un .ts grande. Que el desplazamiento vaya lento en un archivo transport stream de gran tamaño es normal, no un fallo.

Qué programas pueden abrirlo

Para abrir un archivo .ts en el ordenador, los reproductores de uso general funcionan bien. VLC y mpv son las opciones habituales y ambos abren directamente los transport streams, incluso los más problemáticos. Es precisamente para lo que mejor funcionan.

En el caso de los streams que llegan por red como transport stream —una fuente Xtream con output=ts, una lista de reproducción HLS con segmentos .ts, un dispositivo de tu red local—, esa es la función principal de un reproductor, y Tuneline lo gestiona en macOS, Windows, Linux, iPhone, iPad, Android, Android TV, Google TV y Apple TV.

Para precisar la diferencia, porque es importante: Tuneline abre listas de reproducción y streams, no archivos de vídeo locales. Si tienes una grabación .ts en el disco duro, utiliza VLC o mpv. Si recibes un transport stream a través de una red, para eso está diseñado Tuneline.

La cuestión de output=ts frente a output=m3u8

Si tu fuente te permite elegir —y las fuentes de estilo Xtream lo permiten—, merece la pena entenderlo, porque cambiar esta opción resuelve muchos problemas de reproducción.

output=ts te proporciona el stream continuo sin procesar. Ofrece la máxima compatibilidad y funciona prácticamente en cualquier sitio, pero no tiene bitrate adaptativo. Con una conexión débil, se bloquea en lugar de reducir la calidad.

output=m3u8 te proporciona HLS segmentado. Funciona mejor con conexiones poco fiables, porque el reproductor puede bajar a una calidad inferior durante el stream, y suele adaptarse mejor a las redes móviles.

Consejo práctico: prueba primero m3u8 en móviles y redes Wi-Fi inestables; prueba ts cuando algo se niegue a reproducirse. Cambiar el parámetro solo requiere editar un carácter y resuelve una proporción sorprendentemente alta de los avisos de «no se reproduce». (Por qué los streams dan tirones y qué los soluciona de verdad.)

En resumen

  • .ts es MPEG Transport Stream, diseñado para emisiones: un flujo continuo de paquetes al que puedes incorporarte en cualquier momento.
  • HLS lo adoptó porque el streaming necesita segmentos que se puedan descodificar de forma independiente, exactamente lo que ya era.
  • Tu stream en directo consta de miles de segmentos .ts cortos, no de un solo archivo.
  • .ts permite empezar desde cualquier punto y resiste los daños; .mp4 permite desplazarse rápidamente y almacena de forma eficiente. Cada uno está pensado para una tarea distinta.
  • Los fallos de reproducción suelen deberse al códec interno (MPEG-2, HEVC, AC-3), no al contenedor.
  • Es normal que la búsqueda sea lenta en un .ts grande: no hay ningún índice.

¿Tienes un flujo de transporte que llega a través de la red? Descarga Tuneline — gratis, sin contenido incluido y en todas las plataformas que tengas.

Compartir el artículo

The fast fix

Get Tuneline free

A clean, no-account media player for macOS, Windows, Linux, Android, TV, and iOS. Bring your own playlist.

Download free

The cross-platform media player behind these answers — new platforms, sync updates, the honest build story. No spam, unsubscribe anytime.

Lee este artículo en otro idioma

Tuneline es una aplicación de reproducción multimedia. No proporciona, aloja ni distribuye ningún contenido. Tú aportas tu propia lista de reproducción, igual que harías con VLC.