Tras mucho buscar por internet y probar miles de software (emulados con wine, compilados, crackeados…) al final como siempre la solución estaba más cerca de lo que creía. Y es que al final es posible generar este tipo de streams con FFMPEG. La solución es sencilla:
ffmpeg -i input.mpg -vcodec copy -acodec copy -mpegts_original_network_id 0x1122 / -mpegts_transport_stream_id 0x3344 / -mpegts_service_id 0x5566 / -mpegts_pmt_start_pid 0x1500 / -mpegts_start_pid 0x150 / -metadata service_provider="Iker Perez de Albeniz" / -metadata service_name="TeleAlbeniz" / -y out.ts
la primera línea indicamos el input y como el formato original es MPEG2 indicamos que copie el códec de video y audio. Las siguientes líneas completan las tablas e información necesarias para los receptores de TDT
4 Responses to Generar un TS (Transport Stream) valido para DVB-T y DVB-T2 (TDT)
Yuki mayo 24, 2012
Me imagino, que con una capturadora que tenga salida, puedes redirigir la este stream por la salida de la “capturadora”, y si lo juntas a la toma de casa, la tele detectará un nuevo canal, no?
Se podrían hacer varios canales (uno para pelis, otro para series…) y sacarlos todos una única capturadora?
Iker mayo 28, 2012
Claro.. necesitas un hardware que coja ese TS y lo encapsule en DVB-T o DVB-T2 y lo module..
http://www.dektec.com/Products/PCI/DTA-115/index.asp
También podrías encapsular y codificar por software y luego intentar emitirlo usando tarjetas radio tipo USRP..
https://www.ettus.com/product
es decir.. el post solo indica como generar un TS valido.. pero para emitir/recibir hace falta bastante mas..
Carlos julio 13, 2012
Hola,
Les comento que trabajo en un modesto Canal Cable de una ciudad del interior de Uruguay.
Desde hace unos meses estoy desarrollando una serie de scripts en BASH y PHP (como frontend) para que el canal local se maneje enteramente por la web y sin tramas análogas. El equipo que toma la señal en la cabecera me exije que le envíe un stream en TS con PAT y PMT. Despues de mucho googlear y muchas pruebas realizadas, comencé a utilizar el avconv (que es igual al ffmpeg pero consume menos procesador) y basicamente la linea que le envia el stream a la cabecera es algo asi (solo lo elemental):
avconv -re -i “cualquier_archivo_de_video” -f mpegts -vcodec mpeg2video -b ${vbr} -s ${res} -acodec copy -metadata service_provider=”Canal Local” -metadata service_name=”TV Cable” -threads 1 udp://10.222.1.10:56008?pkt_size=188
Fue mas que importante, escencial! utilizar el: ?pkt_size=188 sin eso salian puras rayas por los receptores.
Me gustaria ponerme en contacto con personas que esten interesadas en intercambiar experiencias acerca de este tema ya que podemos ayudarnos mutuamente y asi aprender mas.
Dejo mis datos para el que quiera contactarme.
Carlos Giurleo
cgiurleo@gmail.com
Gracias
Saludos
Iker julio 17, 2012
Muchas gracias Carlos!! La verdad es que la razón por la que escribí esta entrada era para que existiera una referencia en castellano explicando claramente como generar trasport streams validos y tu aportación es muy interesante.. espero que gente interesada llegue a este post y puedan servirles de ayuda ambas “recetas”.