¿Cuál es la diferencia entre flujo de programa y flujo de transporte en la transmisión digital por cable? ¿Cuál es el flujo de una determinada frecuencia grabado con un analizador de flujo llamado flujo?
En el sistema MPEG-2, el proceso de combinación/separación de información se denomina multiplexación/demultiplexación del sistema. La información estándar para la transmisión real se genera mediante la multiplexación de secuencias ES de vídeo, audio y datos auxiliares. La transmisión se llama MPEG-2 Transport Stream (TS: TransportStream). Dependiendo de la calidad de los medios de transmisión, MPEG-2 define dos flujos de información compuestos: flujo de transporte (TS) y flujo de programa (PS: ProgramStream). La diferencia entre el flujo TS y el flujo PS es la estructura del paquete del TS. El flujo tiene una longitud fija. La estructura del paquete del flujo PS es de longitud variable.
Esta diferencia estructural entre los paquetes PS y los paquetes TS da como resultado su diferente resistencia a los errores de transmisión y, por tanto, sus entornos de aplicación también son diferentes. Dado que el flujo de código TS adopta una estructura de paquete de longitud fija, cuando un error de transmisión destruye la información de sincronización de un determinado paquete TS, el receptor puede detectar la información de sincronización en el paquete detrás de él en una posición fija, restaurando así la sincronización y evitando información. pérdida. Dado que la longitud de los paquetes PS cambia, una vez que se pierde la información de sincronización de un determinado paquete PS, el receptor no puede determinar la posición de sincronización del siguiente paquete, lo que provocará una desincronización y provocará una pérdida grave de información. Por lo tanto, cuando el entorno del canal es relativamente severo y los errores de transmisión son altos, generalmente se usan flujos de código TS; cuando el entorno del canal es bueno y los errores de transmisión son bajos, generalmente se usan flujos de código PS, como los DVD; Dado que el flujo de código TS tiene una gran capacidad para resistir errores de transmisión, los flujos de código MPEG-2 actualmente transmitidos en los medios de transmisión utilizan básicamente el flujo de código TS.
TS/PES es el formato estándar definido por MPEG. Tanto MPEG1 como MPEG2 proporcionan definiciones que incluyen la sintaxis de flujo de bits. Lo que llamamos TS/PS se define aquí. Por lo tanto, MPEG sigue siendo indispensable cuando se habla de TS/PS, aunque los datos AVS e IP también se pueden encapsular en TS, porque la definición de TS/PES en MPEG permite encapsular otros datos.
Aunque es posible transmitir flujos de código de diferentes formatos de codificación a través de TS/PS sin cambios, esto es de hecho una utilización o expansión de MPEG. Normalmente, al encapsular diferentes tipos de datos, necesitamos agregar descripciones estándar (si las hay) o personalizadas a TS/PES y, en algunos casos, en principio, debemos usar las descripciones especiales definidas por MPEG, TS/PES. No siempre es transparente. .
En pocas palabras, si la transmisión ps (utilizada principalmente en DVD) pierde un poco de secuencia de código en el medio, el resto no se puede reproducir y si la transmisión TS (DVB-T, DMB-; TH, etc.) Si se interrumpe el flujo de código, puede comenzar a decodificar nuevamente en cualquier momento, sin importar cómo lo mire.
------------------------------------------- -- ---
PS stream:
El formato MPEG2 en los programas de DVD es MPEG2-PS, cuyo nombre completo es Program Stream, o PS stream para abreviar. El nombre completo de TS es Transport Stream. MPEG2-PS se utiliza principalmente para programas almacenados con una duración fija, como películas en DVD, mientras que MPEG-TS se utiliza principalmente para la transmisión de programas en tiempo real, como programas de televisión transmitidos en tiempo real.
¿Cuáles son las principales diferencias entre estos dos formatos? Si corta la primera parte del archivo VOB en el DVD (o simplemente los datos están dañados), no se decodificará el archivo completo. Sin embargo, los programas de TV se pueden decodificar (ver) cada vez que encienda el televisor, por lo tanto. La característica del formato MPEG2-TS es que requiere que cualquier segmento del flujo de vídeo pueda decodificarse de forma independiente.
------------------------------------------- -- ---
Transmisión TS:
La transmisión TS se compone de muchos tipos diferentes de paquetes. Estos paquetes de datos tienen un tamaño de 188 bytes. Estos 188 bytes contienen. Dos partes, el encabezado del paquete y la carga. El encabezado del paquete incluye información de sincronización, información del paquete, etc., mientras que la carga son los datos transmitidos, y estas cargas pueden formar un flujo PES o un flujo privado y otros flujos de datos. p>
Por ejemplo, una secuencia TS incluye 100 paquetes, de los cuales 20 son paquetes de información PSI y 80 son paquetes de datos PES. Solo hay un conjunto de secuencias de programa en esta secuencia TS y no contiene secuencias privadas, por lo que. Las cargas útiles de estos 80 paquetes PES están conectadas. Juntos, hay 2 flujos PES (video, audio). Si la longitud de la carga útil de cada paquete PES es de 100 bytes, entonces la longitud máxima de estos dos flujos PES es 8000 bytes. La longitud del flujo PES del video es de 6000 bytes. El flujo PES del video de 6000 bytes está compuesto por paquetes PES. El paquete PES no tiene una longitud fija, pero está determinada por los datos en el encabezado del paquete. Similar al método de descomposición del flujo TS, inverso Se encapsula los paquetes PES en paquetes, en los que se debe agregar PACKET_HEAD, SYSTEM_HEAD y otra información. Entonces, el programa realizado la última vez no fue la conversión de TS-gt;PS, sino el filtrado. sacar un conjunto de programas de una secuencia TS compleja, el proceso de construir una secuencia TS simple.
----------------------. ---------- -------------
Conversión mpeg-ts, mpeg-ps
Los archivos mpeg2 se entregan en paquetes de datos, y los mismos 188 bytes constituyen un paquete, pero como flujo de transporte y flujo de programa, la estructura organizativa del paquete sigue siendo diferente. Como flujo de transporte, contiene muchos tipos de paquetes (de hecho, no lo es). El tipo de paquete, pero hay muchos tipos de datos para diferentes propósitos), como PAT con PID 0x0000, EIT, TDT, TOT y PMT, y otras tablas o paquetes diferentes. El flujo del programa contiene relativamente pocos, siempre y cuando. ya que contiene paquetes PAT, PMT y PES que contienen audio y video, es relativamente simple en la conversión de TS y PS, simplemente elimine los paquetes relativamente inútiles y modifique PAT y. Tablas PMT.
Por ejemplo, el almacenamiento DVB-T MPEG2 que estoy haciendo ahora es obtener primero el paquete de datos comprimido MPEG2 (el paquete completo, incluida toda la información, como la sincronización, etc., es 188). bytes), que contiene paquetes de datos de audio y video (los dos se distinguen por diferentes PID). Luego, cuando se almacena como una secuencia PS, se debe crear una nueva tabla PAT y PMT. Si la tabla se agrega a la secuencia PS, PAT y. Se requieren PMT. Lo que se modifica es que el valor de PID de las transmisiones de audio y video en el PMT debe ser el PID de los paquetes de datos de audio y video que se almacenarán. Esto completa la conversión de PS-gt.
En resumen: primero filtre el TS, conserve las transmisiones de audio y video correspondientes al programa que se va a almacenar y elimine todos los demás paquetes. Luego cree una nueva tabla PAT y PMT, en la que se guarden los punteros de las transmisiones de audio y video. debe apuntar a las transmisiones de audio y video almacenadas. Esto completa la conversión.
Preguntas: 1. ¿En qué proporción se deben transmitir de forma cruzada estos dos paquetes? ¿Cuántos paquetes de video se deben enviar en el medio? ¿Qué? Si esta relación no está bien controlada, fácilmente provocará que el audio y el video no estén sincronizados.
2. Para nuestro PAT ficticio, ¿A qué frecuencia se debe enviar la tabla PMT? En otras palabras, ¿cuántos paquetes PES se deben enviar antes de enviar un paquete PSI? Parece que no hay problemas durante la reproducción. p>
3. Aunque el método que estoy usando ahora resuelve el problema del almacenamiento y luego la reproducción, no parece realizar la conversión de TS-gt. Lo que se implementa es el filtrado de secuencias TS, es decir, un archivo que contiene múltiples; conjuntos de El flujo TS del programa se convierte en un flujo TS que contiene solo un conjunto de programas. ¿Es correcto?
4. Otro problema importante es el de los paquetes que transmiten información PES en el flujo TS. , ¿cómo forman los datos en la información de carga una secuencia PES? Debe aclararse a través de la información de control en la parte del encabezado. También debe mirar detenidamente el documento.