[Live-devel] How to multiplex several PES sources into one MPEG2 TS

chrisenpingouin at free.fr chrisenpingouin at free.fr
Wed Oct 19 19:22:48 PDT 2005


Hi,

I want to be able to stream audio/video which comes from the linuxtv DVB driver
but in such a way that I'll be able to stream several services at once, each
one in its own MPEG2 transport stream at its own multicast IP address.

Before sending my questions, I first had a look at VLC source code since I know
they can stream a satellite/cable/terrestrial service on a network. However, the
code I saw does not seem to allow me to send at once, several services, each one
on its own multicast address. This is due to the fact that they seem to open the
driver's demux filters in such a way that all their output are gathered into a
single source called "/dev/dvb/adapterX/dvrY where X is the number of the
adapter, (0 in my case since I have only one board), and Y is the number of the
DVR, (digital video recording) device, (also 0 in my case).

Then, I thought of opening each driver's demux filter as a separate
"DeviceSource" delivering
PES data. Then, I don't know how to multiplex two separate PES sources into one
SPTS.

Is there some sort of "MPEG2TransportStreamMultiplexor" subclass which would do
the trick? If such a subclass doesn't exist, what should I be aware of to write
one?

Alternatively, is it simple to gather data coming from two different file
descriptors into a single "FramedSource", some sort of
"MPEG1or2DemuxedElementaryStream" for instance, in order for the output of this
FramedSource
 to be suitable for "MPEG2TransportStreamFromPESSource"?

Many thanks. Have a nice day. Chris


More information about the live-devel mailing list