[Live-devel] how to add arbitrary data to an MPEG2 transport stream

Ross Finlayson finlayson at live555.com
Mon Aug 12 08:09:16 PDT 2019



> On Aug 12, 2019, at 6:05 AM, Hallmann, Dietmar <dietmar.hallmann at airbus.com> wrote:
> 
> I’m working on a project where I capture a video framebuffer, encode it with NVIDIA encoder and stream it as an elementary h264/265 video stream via live555 mpeg2 transport container. It works fine and it’s really fast with negligible latencies.  I use an instance of MPEG2TransportStreamFromESSource and add an elementary video stream by using addNewVideoSource. I saw that this is possible for both video and audio elementary streams.
> Maybe it’s a stupid question and I don’t want to waste your time but is it possible to add arbitrary data, for instance meta data, as a source to the same container

Probably not with the existing code; it assumes that the streams being multiplexed into a Transport Stream are audio or video.

If we were to support adding a new type of stream to a Transport Stream, it would have to be something that’s been standardized (not some arbitrary, non-standard data).

An alternative would be to stream your H.264/H.265 video data as RTP, rather than packing it into a Transport Stream.  Then, if your metadata is textual (timed text), then you could also stream it as RTP, using our “T140TextRTPSink” class.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/




More information about the live-devel mailing list