View Full Version : How to generate OTA TS stream?
duanbingnan
24th June 2010, 14:37
I want to make OTA TS stream by myself, I think I should insert the OTA data into some TS stream to generate the OTA TS stream.
Is there exist such software to insert OTA data into TS stream?(the generated OTA TS stream by this software should be comply with all DVB standards.)
Or Is there someone be familiar with the OTA issue? can you teach me how to make the OTA TS stream?
Thanks in advance :-)
Bingnan
Guest
24th June 2010, 14:47
http://www.manzanitasystems.com/products/ts-mux-tsmm-specs.html
pandy
24th June 2010, 18:28
http://www.avalpa.com/the-key-values/15-free-software/33-opencaster
Blue_MiSfit
25th June 2010, 00:01
I'd vote for Manzanita as well. Their software isn't exactly cheap, but it's extremely fast and does EVERYTHING you'd ever possibly need. Their support is also fantastic!
I have no experience with OpenCaster, but it looks interesting. Can it mux H.264, or is it restricted to MPEG-2?
Derek
duanbingnan
25th June 2010, 09:36
Hi neuron2 pandy: Thank you very much!!
Hi pandy:
Did you use the OpenCaster to generate OTA TS stream before? can you give me a quick simple guide?
I download this software and its user manual. but it's description about the OTA issue is not much, I read it but still not clear.
Quote from the user manual below:
//-------------------------------------------------
Working with DSMCC carousels
DSMCC is one of the standard to broadcast files over transport streams.
The most common uses are to broadcast decoder software upgrades and/or applications
for interactive television like MHP/OCAP(tru2way)/MHEG5/...
Unluckily the standard is very complex that's because was born for another scope in mind
but now implements a very complex semantic about a circular filesystem supporting delta
upgrades that's where the "carousel" word comes from.
To implement carousels into OpenCaster architecture a directory has to be marshalled into
a transport stream and the transport stream file need to be recreated every time the
directory change, like PSI tables.
If the carousel is created properly you will just need to add it as all the other transport
stream to your multiplexing.
To add more carousels you will need just to add them like any other transport stream file to
the multiplexing.
Carousel generation is done with python scripts and libraries because it's like a complex
psi signalling but a bash script comes for help leading all the operations, that's called oc-
update.sh and is found in tools directory
Tools oc-update.sh
Usage:
oc-update.sh object_carousel_directory association_tag module_version dsmcc_pid carousel_id
[compress_on] [padding_on] [clean_off]
carousel_directory: the directory to marshal in an object carousel
association_tag aka common tag: is referenced by PMTs and AITs, every carousel has its own
(check Application signalling chapter for more information)
modules_version: all the modules will have the same version, you need to change this if you
want to change the carousel content and to notify to the box files are changed, goes from 0 to 15
pid: the pid of the transpor stream that will be generated
carousel_id: referenced by PMTs using this carousel, every carousel has its own (check
Application signalling chapter for more information)
compress_on, compress the carousel, default off
padding_on, every section is padded, usuful with some buggy decoder, waste bandwith, default
off
clean_off, don't delete temp file, default off
Here is an example, assuming ocdir1 is the directory you want to broadcast:
oc-update.sh ocdir1 0xB 5 2003 1 1 0 0
will generate ocdir1.ts than can be muxed as all the other transport stream files, the
parameters passed specified that:
● the carousel directory to marshal is: ocdir1
● the association_tag to use for PMT and AIT is: 0xB (11)
● the version of the modules and sections of the carousel is: 5
● the pid of the stream is: 2003
● the id of the carousel to use in the PMT is: 1
and finally: the carousel will be compressed, without padding and temp files deleted
Running again the command with a different version number will generate a new ocdir1.ts
marshalling again the directory
oc-update.sh ocdir1 0xB 6 2003 1 1 0 0
//-------------------------------------------------
Is that all? I put my OTA data into "ocdir1", use oc-update tool generate the ocdir1.ts. after this, I analyze this ts stream with TSReader, in this stream contains only PID=2003 packet, and there is no PAT, PMT, etc tables~
pandy
25th June 2010, 13:23
Did you use the OpenCaster to generate OTA TS stream before? can you give me a quick simple guide?
Hi duanbingnan,
No, i never used opencaster then i can't help You - sorry for that - i found opencaster during searching - one of my friends use opencaster however and seems that this software is quite ok for him so definitely worth to spend some time on it.
Once more sorry - i use regularly Tektronix tools and i have some limited experience with Manzanita but not with opencaster.
(for my needs opencaster is to limited - only MPEG-2 CBR - but for all OTA stuff seems that it is really useful and it is for free)
From my point of view - You can create TS with at least one service - ie video, audio - if everything works ok then add data to working stream.
Seems that You create already TS wit some DATA however You need additional TS that have all required PSI/SI tables and video\audio. Try to create such stream then add TS with DATA (combine both TS in remultiplexer )
I'd vote for Manzanita as well. Their software isn't exactly cheap, but it's extremely fast and does EVERYTHING you'd ever possibly need. Their support is also fantastic!
I have no experience with OpenCaster, but it looks interesting. Can it mux H.264, or is it restricted to MPEG-2?
As i have some limited experience with Manzanita i can say that they are ok in terms of user support - at least user support exist when comparing to TEK products and also Manzanita is less expensive than TEK (with better functionality on some areas)
But OpenCaster is a bit limited - only MPEG-2 CBR as i mentioned... but there is good news - seems that OpenCaster is really open for ideas and i think for code so maybe some programmers can help those guys to support VBR, H.264 and other things. Also seems that DIY modulators begin exist so lot of STB can be used - having small home broadcast cable network... maybe this is possible - DVB-C\DVB-T headend for less than 250$?
duanbingnan
29th June 2010, 08:12
Hi duanbingnan,
No, i never used opencaster then i can't help You - sorry for that - i found opencaster during searching - one of my friends use opencaster however and seems that this software is quite ok for him so definitely worth to spend some time on it.
Hi pandy:
Thank you all the same!!
I'm inverstigating the OpenCaster now, I hope I can make OTA stream successfully with it.
I'd vote for Manzanita as well. Their software isn't exactly cheap, but it's extremely fast and does EVERYTHING you'd ever possibly need. Their support is also fantastic!
Derek
Hi neuron2,Blue_MiSfit:
I got a trial version of MP2TSME from Manzanitasystems.com. do you know how to use it?
It's configuration file seems a lillte complex. Is there some common templates?
Thanks in advance~
Guest
29th June 2010, 12:32
I got a trial version of MP2TSME from Manzanitasystems.com. do you know how to use it?
It's configuration file seems a lillte complex. Is there some common templates? Use the GUI. The manual is pretty good but it assumes you know about transport streams.
sakthisam
29th November 2011, 05:18
Hi can any one tell me Open source Multiplexer for audio video , from RAW to MpegTS out with PMT .Also my PID values will be changing randomly.I have also tried Open caster and Mplex Muxer but , my PID values will be changed , so i cant write descriptor manually always , so it has any solution , which to be predict PID values and descriptor it, for muxing, I was trying for this more than year , plz kindly help me.
Else give me some solution to find out the same.
sakthisam
29th November 2011, 05:20
Hi duanbingnan can you tell me Open source Multiplexer for audio video , from RAW to MpegTS out with PMT .Also my PID values will be changing randomly.I have also tried Open caster and Mplex Muxer but , my PID values will be changed , so i cant write descriptor manually always , so it has any solution , which to be predict PID values and descriptor it, for muxing, I was trying for this more than year , plz kindly help me.
Else give me some solution to find out the same. Hi neuron2 pandy: Thank you very much!!
Hi pandy:
Did you use the OpenCaster to generate OTA TS stream before? can you give me a quick simple guide?
I download this software and its user manual. but it's description about the OTA issue is not much, I read it but still not clear.
Quote from the user manual below:
//-------------------------------------------------
Working with DSMCC carousels
DSMCC is one of the standard to broadcast files over transport streams.
The most common uses are to broadcast decoder software upgrades and/or applications
for interactive television like MHP/OCAP(tru2way)/MHEG5/...
Unluckily the standard is very complex that's because was born for another scope in mind
but now implements a very complex semantic about a circular filesystem supporting delta
upgrades that's where the "carousel" word comes from.
To implement carousels into OpenCaster architecture a directory has to be marshalled into
a transport stream and the transport stream file need to be recreated every time the
directory change, like PSI tables.
If the carousel is created properly you will just need to add it as all the other transport
stream to your multiplexing.
To add more carousels you will need just to add them like any other transport stream file to
the multiplexing.
Carousel generation is done with python scripts and libraries because it's like a complex
psi signalling but a bash script comes for help leading all the operations, that's called oc-
update.sh and is found in tools directory
Tools oc-update.sh
Usage:
oc-update.sh object_carousel_directory association_tag module_version dsmcc_pid carousel_id
[compress_on] [padding_on] [clean_off]
carousel_directory: the directory to marshal in an object carousel
association_tag aka common tag: is referenced by PMTs and AITs, every carousel has its own
(check Application signalling chapter for more information)
modules_version: all the modules will have the same version, you need to change this if you
want to change the carousel content and to notify to the box files are changed, goes from 0 to 15
pid: the pid of the transpor stream that will be generated
carousel_id: referenced by PMTs using this carousel, every carousel has its own (check
Application signalling chapter for more information)
compress_on, compress the carousel, default off
padding_on, every section is padded, usuful with some buggy decoder, waste bandwith, default
off
clean_off, don't delete temp file, default off
Here is an example, assuming ocdir1 is the directory you want to broadcast:
oc-update.sh ocdir1 0xB 5 2003 1 1 0 0
will generate ocdir1.ts than can be muxed as all the other transport stream files, the
parameters passed specified that:
● the carousel directory to marshal is: ocdir1
● the association_tag to use for PMT and AIT is: 0xB (11)
● the version of the modules and sections of the carousel is: 5
● the pid of the stream is: 2003
● the id of the carousel to use in the PMT is: 1
and finally: the carousel will be compressed, without padding and temp files deleted
Running again the command with a different version number will generate a new ocdir1.ts
marshalling again the directory
oc-update.sh ocdir1 0xB 6 2003 1 1 0 0
//-------------------------------------------------
Is that all? I put my OTA data into "ocdir1", use oc-update tool generate the ocdir1.ts. after this, I analyze this ts stream with TSReader, in this stream contains only PID=2003 packet, and there is no PAT, PMT, etc tables~
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.