Conversión .sec a .py para tabla PAT

Iniciado por LesterVynn, 19 Agosto 2015, 21:12 PM

0 Miembros y 1 Visitante están viendo este tema.

LesterVynn

Saludos.

En Televisión Digital se utilizan unas tablas para la señalización. Estas tablas se escriben en archivos .py que luego se convierten a .sec y finalmente a .ts, donde pueden ser multiplexadas. Para esto se utiliza este código:

Código (python) [Seleccionar]
out = open("./pat.sec", "wb")
out.write(pat.pack())
out.close
out = open("./pat.sec", "wb") # python   flush bug
out.close
os.system('sec2ts 0 < ./pat.sec > ./pat.ts')
os.remove('pat.sec')


Donde PAT es el tipo de tabla, sec2ts es un comando de OpenCaster para transformar de .sec a .ts, y yo le agregué eliminar el archivo. sec pues no importa para este fin.

Ahora bien, de un archivo ya multiplexado .ts obtuve una de las tablas (PAT) en .sec, y necesito devolverla a .py para analizar su código. Mi pregunta es cómo puedo hacer esto.

De antemano, gracias. ;D

Por si acaso, todo el archivo .py que define a la tabla está anexo a continuación:

Código (python) [Seleccionar]
#!/usr/bin/python

import os

from dvbobjects.PSI.PAT import *
from dvbobjects.DVB.Descriptors import *
from dvbobjects.MPEG.Descriptors import *

pat = program_association_section(
table_id = 0,
section_syntax_indicator = 1,
current_next_indicator = 1,
transport_stream_id = 22,
version_number = 1,
section_number = 0,
last_section_number = 0,
program_loop = [
program_loop_item(
program_number = 47,
PID = 0x0010,
),
program_loop_item(
program_number = 49,
PID = 0x0013,
),
program_loop_item(
program_number = 51,
PID = 0x0014,
),
],
)

out = open("./pat.sec", "wb")
out.write(pat.pack())
out.close
out = open("./pat.sec", "wb") # python   flush bug
out.close
os.system('sec2ts 0 < ./pat.sec > ./pat.ts')
os.remove('pat.sec')