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
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.
Por si acaso, todo el archivo .py que define a la tabla está anexo a continuación:
Código
#!/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')