dsmcc-mhp-tools - DSM-CC MHP ObjectCarousel MPEG2 encoding tools
"dsmcc-mhp-tools" is a collection of utilities for generating MPEG2 elementary streams that include DSM-CC MHP ObjectCarousels and other MPEG2/MHP-specific structures, especially the ones used for proper signalling.
The project is developed under Linux, completely written in C and has no dependencies on other projects. All tools are well tested and work on Little- and BigEndian machines.
Notes about possible problems and their solutions are included in the README file provided with the project.
In addition to the one-step ObjectCarousel encoder, the project also provides tools for the generation of the PMT, AIT, continuous NPT-streams and StreamEvent descriptors. There is also support for incremental ObjectCarousel updates.
All DSM-CC object types (File, Directory, Stream, StreamEvent and LiteOptionsProfile) are supported and can be included in the generated streams.
The encoder programs can be used by broadcasters to include MHP-Applications or other data in a MPEG2 stream, or by companies and MHP-Application developers for testing.
Support for incremental DSM-CC ObjectCarousel updates has been implemented and tested successfully, allowing updates from one ObjectCarousel version to another. The update-tool compares a previously created ObjectCarousel with its updated source directory tree to be broadcast and so creates an updated ObjectCarousel MPEG2 elementary stream.
This mechanism enables broadcasters to change contents of an ObjectCarousel and can be used, e.g. to update MHP-Xlets data (pictures, news, etc.) while its ObjectCarousel has been already mounted and the Xlet is running.
Finally, support for encoding of multi-layered ObjectCarousels got also implemented.
Now, an ObjectCarousel can be distributed over multiple PIDs within the same CarouselID, i.e. the encoder is able to create DataCarousels from subdirectories of the ObjectCarousel's root, where each DataCarousel gets encoded into a separate MPEG2 elementary stream.
The dsmcc-mhp-tools sources can be checked out from CVS with
cvs -d :pserver:firstname.lastname@example.org:/cvs/linuxtv login
cvs -d :pserver:email@example.com:/cvs/linuxtv co -P dsmcc-mhp-tools