
En este articulo vamos a definir que es el Transport Streams y las tablas que lo componen, para que se tenga un conocimiento de como recibimos en nuestros receptores la señal televisiva.
Los proveedores de Television de Satelite envian el audio y video de los diferentes canales a traves de lo que se denomina Transport Streams siguiendo la normas ISO/IEC 13818-1, pero no solo se envia el audio y el video, si no que ademas se envian muchos otros mas datos de vital importancia mediante Tablas, que basicamente usara el receptor para recibir informacion y organizar lo que esta recibiendo o que por ejemplo contendran los datos para poder descifrar una señal en caso de que la misma se halle cifrada.
figura 1
Cada tabla o flujo de Transporte se identifica con los que se denomina PID (dentificador de paquete):
figura 2
Siendo las mas importantes:
- PAT (pid 0x0000): La primera a la que accede el receptor y donde se halla la informacion de todos los mapas de los programas que continene el transporte (PMT).
- SDT (Pid 0x0011): Descripcion y nombres de los canales que lleva el transporte.
Con estas tablas el receptor sabe cual es el pid del canal que hemos puesto en nuestro receptor.
- CAT (pid 0x0001): Contiene flujo de datos de gestion de derechos de un canal en el caso que este sea cifrado, es decir informacion de la codificacion asi como mensajes de descifrado (EMM – ECM(que contiene la CW de descifrado del video y audio)
- EIT (pid 0x0012): Contiene informacion del EPG del canal)
En este punto añadir que cada Transport Streams esta formado por varios canales:
Figura 3
Como hemos comentado un transport streams debe seguir en este caso la normativa internacional ISO/IEC 13818-1, la cual si quereis leerla con detenimiento, en el siguiente enlace:
- http://www.telemidia.puc-rio.br/~rafaeldiniz/public_files/normas/ISO-13818/iso13818-1/ISO_IEC_13818-1_2007_PDF_version_(en).pdf
En definitiva vamos a imaginar un embudo donde la plataforma Movistar+ va echando de una manera continua por la parte superior mas ancha, agua y diferentes paquetes con condimentos (sal, pimienta, azucar..), cada paquete de condimiento lo va etiquetando (PID), creandose y saliendo por la parte inferior del embudo un flujo constante. Cuando en nuestro receptor ponemos lo que denominamos programa, recibimos de ese embudo el flujo de los paquetes correspondientes a todos los canales correspondientes al mencionado embudo (figura 3), teniendo nuestro receptor la capacidad para leer la informacion de esos paquetes y ordenarlos para que al final podamos tener el visionado de estos canales.
Herramienta análisis Transport Streams
Una herramienta disponible en nuestros receptores enigma2, con la que podemos realizar un analisis de los transport Streams que recibimos en nuestro receptor es dvbsnoop, para realizar su instalacion:
opkg install dvbsnoop
A continuacion vamos a ver un ejemplo de la informacion que lleva un transport stream en este caso de satelite de la plataforma Movistar+ en Satelite Astra 19.2º frecuencia 18017 V:
Figura 4
Al poner un canal de esta frecuencia, el receptor comienza a recibir el flujo de datos (transport stream) relativa a todos los programas de la misma (figura 4), y como comentemos anteriormente en la Tabla PAT (pid 0), contiene un mapa de programas de este flujo (PMT), que podemos ver si logueamos el pid 0.
dvbsnoop -n 1 -nph 0x0000
figura 5
Como se observa en figura 5 nos aparece un mapa de tablas de los programas que lleva este transport stream, siendo cada programa identificado:
- Program number
asi como cada program number tiene su mapa de pid identificado en program map.
Anteriormente comentemos que cada transport stream contiene diferentes canales, para analizar un canal en concreto, analizaremos el program map de ese canal, por ejemplo Movistar Accion HD, si nos fijamos en la figura 4 (informacion disponible en web (https://es.kingofsat.net/pack-digitalplusa.php)el Servicio identificador de ese canal es 29961, por lo tanto el mapa pid de ese canal mirando la figura 5 es el que se corresponde con el pid 0x0408
figura 6
Si el servicio identificador para ese canal (29961), quisieramos saberlo sin acceder a ninguna web, como vimos en la figura 2, en la tabla SDT (pid 0x0011), nos da informacion de los canales que estamos recibiendo, por lo tanto si logueamos el pid 0x0011
dvbsnoop -n 100 0x0011
figura 7
En la descripcion para el service nama movistar+ accion HD nos aparece su service id: 29961
Una vez sabemos que el map pid para el service 29961 es 0x0408, logueamos este pid:
dvbsnoop -n 1 0x0408
figura 8
Nos aparecerian los pid correspondientes a ese canal en concreto (Movistar+ Accion HD), en este caso nos fijamos en la figura 8, al ser un canal cifrado, nos apareceria el pid CA de cifrado de ese canal, como este canal solo esta cifrado en nagra 3, nos apareceria solamente un pid por donde la plataforma enviaria los mensajes de descifrado bajo sistema nagravision para el canal (ECM), para este canal en concreto a traves del pid como vemos 0x0867.
En el caso que un canal este cifrado por varios sistemas de codificacion, por ejemplo, el canal La 2, si logueramos el map pid correspondiente:
figura 9
Observariamos que en este caso tendriamos dos pid de CA, en cada pid la plataforma enviaria los mensajes de descifrado (ECM), correspondientes a cada sistema (nagravision y seca).
Si loguearamos el pid 0x08df observariamos como recibimos del flujo las ECM correspondientes a nagravision:
figura 10
Si logueamos el pid 0x04f7 observariamos como recibimos del flujo las ecm correspondientes a Seca:
figura 11
La estructura de un mensaje ECM este definido en la norma ETSI TS 100 289
- Enlace: https://www.etsi.org/deliver/etsi_ts/100200_100299/100289/01.01.01_60/ts_100289v010101p.pdf
figura 12
Donde si observamos la figura 10 y 11 de las ECM recibidas, cumpliendo estas normas de emision, su cabezera:
nagravision: 81 30 8b 07 84
Seca: 81 00 61 41 06
- negrita: Tipo ecm 80/81
- rojo: Longitud en bites de la ecm
- azul: Identificador del sistema usado para el cifrado de esta ecm.
En este sentido recibimos un flujo continuo de ECM las cuales son distintas para cada Programa de servicio y sistema de cifrado, que contienen codificado la palabra control (CW), que descifra el video, la tarjeta de abonado descifra esa ECM (la ecm correspondiente al sistema cifrado de la tarjeta), es decir si tenemos un receptor con tarjeta nagravision esta descifraria la ecm correspondiente al pid de nagra y si tuvieramos una tarjeta seca esta descifraria la ecm correspondiente al pid de Seca. Una vez obtenida esa palabra control (CW), se descifra con ella el video.
Como hemos comentado el envio de ecm es continuo, pero la palabra control (CW) que contiene tiene una validez limitada, por ejemplo en movistar+ es de 15 segundos, por lo tanto durante 15 segundos el receptor a traves del transport stream estara recibiendo continuamente la misma ecm (que al ser descifrada por la tarjeta evidentemente se obtendra la misma cw), es decir durante esos 15 segundos estaremos recibiendo unas 166 ecm iguales, pasados esos 15 segundos empezaremos a recibir por el mismo periodo de tiempo otra ecm distinta que contiene cifrada otra CW distinta y asi sucesivamente.
Añadir en este aspecto que las ecm no se envian hacia una Tarjeta en concreto, sino que viajan en el transport stream y luego cada tarjeta una vez la descifre obtendra la CW.
Si pusieramos un canal libre que no esta cifrado como por ejemplo Extremadura SAT, evidentemente si logueamos su mapa de pid, observariamos como es normal que no tiene CA pid de descifrado al ser este libre:
figura 13
Como hemos comentado anteriormente en la ECM viaja cifrada la CW con la que se descifra el audio y el video, pero ademas en muchos sistemas de cifrado ademas se necesita tener los derechos de vision para ese canal, los cuales se envian a traves de la EMM, ademas con la EMM la plataforma puede actualizar el sistema operativo de la tarjeta asi como escribir datos en la misma, para este caso si logueamos la tabla CAT (pid 0x0001),
dvbsnoop -n 1 0x0001
figura 14
Observariamos que por cada sistema de cifrado que tenga el transport stream (en sus canales), nos aparecera un pid de CA, por ejemplo en figura 14 para nagravision es 0x009b, si logueamos dicho pid:
dvbsnoop -n 10 0x009b
figura 15
Nos aparecerian las emm que envia la plataforma, en este caso el envio de emm por ejemplo en nagravision puede ir dirigido:
- A todas las tarjetas Emm-G
- A un grupo de tarjetas emm-S
- Solo a una tarjeta en concreto emm-U
Un ejemplo de EMM-U:
83708B0AA4SERIALTARJETA48400CIFRADOEMM
- EMM-S: En este caso, la S, se corresponderia con shared, es decir, son enviadas a un grupo de tarjetas, por ejemplo todas las que tienen contratado el servicio de Deportes, por lo tanto las recibirian todas las tarjetas que tienen contratado un tipo de servicio de la plataforma.
Un ejemplo de EMM-S:
83708B0AA4GRUPTARJETAS48400CIFRADOEMM
- EMM-G: En este caso, la G, se corresponderia con globales, es decir son enviadas a todas las tarjetas de la plataforma.
Un ejemplo de EMM-G:
82708B0000000000048400CIFRADOEMM
Si compraramos por ejemplo una taquilla de la plataforma Movistar+ y en ese momento nos pusieramos a loguear las emm que recibimos a traves de este pid observariamos que entre las recibidas nos apareceria una emm-U que movistar va enviando y dirigidamente solo a nuestra tarjeta.
Hay que tener en cuenta que esta recepcion de derechos emm, el receptor debe estar encendido en algun canal de la plataforma menos en estos canales nickoledeon, nick junior, vh1 y Mtv rocks y evidentemente que no sea un canal fta (libre).
Para terminar como se menciono anteriormente en figura 2, a traves de la tabla EIT (pid 0x0012), recibimos el epg (informacion de eventos de los canales), por lo tanto si logueamos este pid:
dvbsnoop -n 10 0x0012
Nos aparecera informacion del evento de los canales, datos como :
- Descripcion del programa
- nombre del evento
- audios
- rating (control parental del canal), comentar que en movistar + en su emision siempre esta a 0, en otras plataformas si se indica la edad para la cual es el evento.
1 comentario en «Camarero una de Transport Streams y Tablas»