MPEG-TS
Transport Stream ( TS , TP , MPEG-TS o M2TS ) es un protocolo para la transmisión de datos de audio y video descrito en MPEG2 Parte 1 [1] . El objetivo de desarrollar este estándar es multiplexar datos de audio y video y sincronizar su salida. Transport Stream abre oportunidades para la corrección de errores de vehículos como DVB y ATSC .
TS es un formato de contenedor de medios que encapsula paquetes de flujos elementales y otros datos.
Estructura de flujo
En el flujo de transporte, se pueden distinguir varios niveles de abstracción, cuya estructura jerárquica se asemeja al modelo de red OSI . Por ejemplo, una secuencia que contiene video se puede representar de la siguiente manera:
- Una mezcla de diferentes programas.
- Flujo elemental paquetizado (PES)
- Corriente elemental (ES)
- Grupo de imágenes (GOP): proporciona acceso aleatorio a la imagen
- Imagen única (marco)
- Slice: parte del marco asignado para evitar la propagación de errores de cuantificación
- Macroblock - en la composición - de 6 a 12 bloques DCT.
- Bloque de codificación elemental (bloque DCT) 8x8 píxeles
Elementos importantes del flujo de tráfico
Paquete
Paquete, la unidad básica de un flujo de transporte.
Encabezado del paquete:
- el encabezado comienza con un byte de sincronización predefinido (8 bits) 0x47 (0100 0111).
- Los siguientes tres indicadores de bits se utilizan para indicar cómo debe manejarse la carga útil.
- 1. La primera bandera indica un error de transporte (Indicador de error de transporte)
- 2. La segunda bandera indica el comienzo de la carga útil (Indicador de inicio de la unidad de carga útil). Cuando la carga útil del flujo de transporte del paquete contiene datos PSI, payload_unit_start_indicator se establece en 1. Si el paquete del flujo de transporte no contiene datos PSI, el valor de payload_unit_start_indicator será 0. Consulte las Secciones 2.4.4.1 y 2.4.4.2. Esto también se aplica a transmisiones privadas con stream_type 5 (consulte la Tabla 2-29).
- 3. La tercera bandera indica el bit de prioridad de transporte (Transport Priority)
- Las banderas van acompañadas de un identificador de paquete (13 bits) - PID. Se utiliza para identificar de forma única el flujo al que pertenece un paquete (p. ej., paquetes PES correspondientes a ES) generados por el multiplexor. El PID permite al receptor diferenciar el flujo al que pertenece cada paquete recibido. Algunos valores de PID están predefinidos y se utilizan para indicar diferentes flujos de información de control. Un paquete con un PID desconocido que no es requerido por el destinatario simplemente se descarta. El valor específico de PID 0x1FFF está reservado para indicar que el paquete es un paquete nulo (y el receptor debe ignorarlo).
- los siguientes dos bits de servicio son utilizados por los procedimientos de acceso condicional a la carga útil cifrada de algunos paquetes TS (Transport Scrambling Control):
- 1.00 - Paquete sin cifrar.
- 2.01 - RESERVADO para uso futuro.
- 3.10 - El paquete se cifra con una clave par.
- 4. 11 - El paquete se cifra con una clave impar.
- Dos bits de servicio del campo de adaptación, que pueden tener cuatro valores:
- 1. 01 - sin campo de adaptación (adaptation_field), solo carga útil (payload_data)
- 2. 10 - solo campos de adaptación (adaptation_field), sin carga útil (payload_data)
- 3. 11 - campos de adaptación (adaptation_field) seguidos de payload (payload_data)
- 4.00 - RESERVADO por ISO/IEC para uso futuro
- Finalmente está el Contador de Continuidad (4 bits)
El resto del paquete consiste en información útil. Los paquetes tienen una longitud de 188 bytes, pero el entorno de comunicación puede agregar algunos bytes para corregir errores de paquetes. DVB-ASI utiliza ATSC de 204 bytes y 208 bytes como paquete de flujo de transporte. (DVB t=8 y ATSC t=10, es decir, bytes adicionales = 2*t). La transmisión ATSC agrega 20 bytes de corrección de errores avanzada Reed-Solomon para crear un paquete de 208 bytes de largo. El tamaño de paquete de 188 bytes se eligió originalmente por su compatibilidad con los sistemas ATM.
Campo de Adaptación
título AF:
- Longitud AF: byte, longitud AF antes de los datos del paquete
- DI (indicador de discontinuidad): establezca en 1 si este paquete tiene una discontinuidad en el flujo CC o PCR.
- RAI (indicador de acceso aleatorio): instalado en un paquete desde el cual es posible comenzar a decodificar sin errores
- Indicador de prioridad de flujo elemental: establecido, para que un flujo elemental sea tratado como "alta prioridad"
- PCR presente: establezca si AF contiene un campo de PCR (Referencia de reloj del programa, 48 bits)
- OPCR presente: se configura si AF contiene un campo OPCR (referencia de reloj del programa original, 48 bits), que se usa al copiar TS
- Indicador de punto de empalme: establezca si AF contiene un campo de cuenta regresiva de empalme (8 bits)
- Indicador de transporte de datos privados: establezca si AF contiene datos privados (campo de longitud de 8 bits + datos)
- Indicador de extensión de campo de adaptación: establece si la extensión AF (encabezado + datos) está presente en el paquete
PID
Cada tabla o flujo elemental en un flujo de transporte se identifica mediante un PID de 13 bits. El demultiplexor extrae flujos elementales del flujo de transporte común, combinándolos en flujos con el mismo PID. La mayoría de las aplicaciones planean usar la multiplexación de tiempo para decidir con qué frecuencia aparecerá un PID en particular en el flujo de transporte.
Programas
El flujo de transporte utiliza el concepto de "programa". Cada programa se describe en una tabla de mapa de programas (PMT), que tiene un PID único, y los flujos elementales asociados con ese programa, que tienen sus propios PID, se enumeran en el PMT. Por ejemplo, un flujo de transporte utilizado en la televisión digital puede constar de tres programas y transportar tres canales de televisión. Suponga que cada canal consta de un flujo de video y uno o dos flujos de audio, y los metadatos necesarios. Un receptor que desea decodificar uno de los canales usa para decodificar solo canales que tienen PID que están asociados con el programa de interés.
Información Específica del Programa (PSI)
Información específica del programa
- Tabla de asociación de programas (PAT),
- Tabla de mapa de programas (PMT),
- Tabla de acceso condicional (CAT),
- Tabla de información de red (NIT).
La especificación MPEG-2 no especifica el formato CAT y NIT.
PAT
La tabla de asociación de programas (PAT) contiene los PID de todos los PMT. Su propio PID es siempre 0x0.
PMT
La tabla de mapa de programas (PMT) contiene los PID y las características principales de los flujos elementales de un programa en particular: video, sonido, datos adicionales. Cada programa tiene su propio PMT con su propio PID. Además, el PMT contiene mensajes de CA ECM si el programa contiene flujos elementales cifrados.
RCP
Para que un decodificador reproduzca programas en el momento correcto, a la velocidad correcta y sincronizados, es común que los programas transmitan periódicamente una referencia de reloj de programa , o PCR, en una de las secuencias del programa. Esto también se llama el 'Reloj maestro'. Los intervalos de tiempo en MPEG2 se calculan a partir de esta frecuencia. Por ejemplo, el sello de tiempo, presentación ( PTS ), corresponde al PCR. Los primeros 33 bits corresponden a una frecuencia de referencia de 90 kHz. Una extensión de secuencia de 9 bits corresponde a una frecuencia de 27 MHz.
Paquetes nulos
Algunos protocolos de transmisión, como los de los estándares ATSC y DVB , están severamente limitados por los requisitos de tasa de bits del flujo de transporte. Por lo tanto, para que el flujo de datos mantenga una tasa de bits constante codificada, el multiplexor debe poder agregar paquetes adicionales al flujo. Los paquetes con PID 0x1FFF solo sirven para este propósito. El campo de carga útil de estos paquetes no contiene ninguna información útil, por lo que el receptor, al recibir dicho paquete, ignora su contenido.
Modificación del flujo de transporte, Especificación de acceso a medios aleatorios (M2TS)
código de tiempo
El flujo de transporte se creó para cassette y transmisión, por lo que se requirieron cambios para su uso en dispositivos de medios de acceso aleatorio, como la nueva generación de cámaras digitales que graban en DVD, Blu-ray, discos duros o SSD, tarjetas de memoria.
El sistema de acceso aleatorio puede almacenar paquetes de datos en un búfer si el dispositivo de almacenamiento no está listo (por ejemplo, mientras el dispositivo se está iniciando).
Los paquetes se escriben desordenados. Una pista especial almacena su código de tiempo (TC) de 4 bytes agregado a los paquetes estándar de 188 bytes. El resultado es un paquete de 192 bytes. Todo esto se denomina informalmente flujo M2TS. La Blu-ray Disc Association lo llamó "flujo de transporte BDAV MPEG-2". JVC lo llamó TOD (quizás un acrónimo de "Transport stream on disc") cuando lo usó en videocámaras HDD como la GZ-HD7. El flujo de transporte M2TS también se usa para archivos de video AVCHD, que a menudo tienen la extensión MTS.
Programas que admiten archivos M2TS
Multiplataforma
Notas
- ↑ net.net - Una de las principales direcciones de Internet (enlace no disponible) . Consultado el 6 de julio de 2008. Archivado desde el original el 11 de junio de 2010. (indefinido)
- ↑ Entrando en la página de inicio de MPlayer . Consultado el 8 de julio de 2009. Archivado desde el original el 16 de junio de 2008. (indefinido)
- ↑ VideoLAN: página web oficial de VLC media player, un marco de trabajo de vídeo de código abierto . Fecha de acceso: 8 de julio de 2009. Archivado desde el original el 23 de febrero de 2011. (indefinido)
- ↑ CCCP - Paquete de códecs comunitarios combinados (enlace descendente) . Consultado el 29 de agosto de 2018. Archivado desde el original el 9 de junio de 2017. (indefinido)
- ↑ Los foros de KMPlayer . Fecha de acceso: 14 de septiembre de 2009. Archivado desde el original el 24 de diciembre de 2009. (indefinido)
- ↑ 1 2 Squared 5-MPEG Streamclip convertidor de video para Mac y Windows . Consultado el 13 de mayo de 2022. Archivado desde el original el 9 de mayo de 2022. (indefinido)
- ↑ Software de edición de video VideoReDo MPEG . Consultado el 13 de mayo de 2022. Archivado desde el original el 17 de mayo de 2008. (indefinido)
- ↑ Free-Codecs.com:: Descargar VobEdit 0.6: VobEdit es una herramienta para unir, cortar y demultiplexar archivos DVD VOB . Consultado el 8 de julio de 2009. Archivado desde el original el 3 de agosto de 2009. (indefinido)
- ↑ El reproductor multimedia, el reproductor de películas, el reproductor de YouTube, el reproductor de video, el reproductor AVCHD, el reproductor divx, el reproductor gratuito: BS.Player.com . Consultado el 13 de mayo de 2022. Archivado desde el original el 24 de diciembre de 2017. (indefinido)
- ↑ Jet Audio . Consultado el 29 de diciembre de 2009. Archivado desde el original el 30 de diciembre de 2009. (indefinido)
Enlaces
MPEG (Grupo de expertos en imágenes en movimiento) |
---|
|
Secciones MPEG-1 |
|
---|
Secciones MPEG-2 |
|
---|
Secciones MPEG-4 |
|
---|
Secciones MPEG-7 |
- Parte 2: Lenguaje de descripción de definiciones (DDL)
|
---|
Secciones MPEG-21 |
- Partes 2, 3 y 9: Objeto Digital
- Parte 5: Lenguaje de descripción de derechos (REL)
|
---|
Secciones MPEG-D |
- Parte 1: audio espacial MPEG
|
---|