[Live-devel] MPEG2TransportStreamMultiplexor

Stefan De Laere Stefan.Delaere at DZINE.BE
Fri Feb 9 07:53:38 PST 2007


Hi Ross,

Some context: I have the following setup:
- An in house designed embedded x86 platform
- An in house designed add-on module (PCIExpress interface) which features
an nGene-Decypher (Micronas-WISChip) High definition
(MPEG2/H264/MPEG4/VC1) decoder solution. This add-on module must be fed
with a Constant Bitrate Transport Stream (possibly containing null
packets) using DMA transfers over the PCIExpress bus. Actually I need a
transport stream source with a fixed bitrate and a stable clock with a
precision better than 100ppm

With this setup, I have to achieve the following functionality:

1. Play prerecorded constant bitrate transport streams (already containing
null packets) that are stored on harddisk. This is already implemented.

2. Play MPEG1/MPEG2 program streams stored on harddisk (because our
product supports program streams and we have to be backwards compatible).

3. Play transport streams coming in from the network using RTP/RTCP. I'm
already using the live555 libraries for this purpose.

My question concerns the creation of a transport stream. 
For the moment I am using the MPEG1or2Demux,
MPEG1or2DemuxedElementaryStream and MPEG2TransportStreamMultiplexor
classes for creating the transport stream in case of MPEG2. Problem is
that this transport stream is not a constant bitrate one and I need to
insert null packets. The data output from the
MPEG2TransportStreamMultiplexor is fed to a MediaSink derived object but
it is missing fPresentationTime and durationInMicroseconds. Can this
easily be added to the doGetNextFrame() function in
MPEG2TransportStreamMultiplexor? Or do you have any other suggestions of
how I can create such a constant bitrate transport stream. 

Likewise, for MPEG4, H264 and VC1, I will also have to create a constant
bitrate transport stream...

Best Regards,

Stefan De Laere
R&D Department
Email: stefan.delaere at dzine.be
't Hoge 49
B-8500 KORTRIJK
BELGIUM
www.dzine.be




More information about the live-devel mailing list