Page 1 of 1

Handling of private PES stream

Posted: 08 Oct 2009 15:14
by Kazooi
Hi all,

I'm interested in developing a way to extract data from a private PES stream. I have a transport stream which contains a private stream with KLV (Key Length Value) data. I need this data in sync with the video on an output such that I can interpret this data and display it together with the video (but not on the video itself like subtitles).
In the implementation the KLV data is added to the encoded video using a iVDO h264 encoder. The KLV data is provided in udp packets to this encoder. The content of the private PES stream seems fairly specific such that I do not expect it to be part of VLC itself, just another output (vout ?) which will allow the content of the private PES stream to be output on an UDP socket for instance.

I have followed the instructions to compile VLC on win32 was was able to do so. I have found the location where the transport stream is decoded and the private stream is handled to "unknown". I'll continue to add code to handle the private pes (0x06) and add a module to handle the resulting stream.
Any pointers as to whether there have been plans to handle private streams in a more general way or how to properly add a vout which will go to a udp instead of audio/video are welcome.

K

Re: Handling of private PES stream

Posted: 08 Oct 2009 19:06
by Jean-Baptiste Kempf
I believe you need to work on the demuxer, but I don't see why VLC shouldn't be able to support KLV that seems to be a standard...

I don't see why a Vout should take place in that, but maybe I don't understand how TS works properly.

Re: Handling of private PES stream

Posted: 10 Oct 2009 15:26
by Kazooi
I believe you need to work on the demuxer, but I don't see why VLC shouldn't be able to support KLV that seems to be a standard...

I don't see why a Vout should take place in that, but maybe I don't understand how TS works properly.
KLV might be fairly standard, but the contents needs to be interpreted in a specific way. The KLV data are specific in a sense that they describe positional information of where and how the video was taken. In general it does not seem a function of VLC to interpret this very specific data (although decoding KLV can be general of course).
I'm not sure about the Vout either, just looking into were the stream stops at this point. since the elementary stream is not of type VIDEO_ES or AUDIO_ES it does not find a destination module. I'll just have to find the right general mechanism to instruct the "decoder" to find the module for a private pes stream.

F

Re: Handling of private PES stream

Posted: 13 Jan 2010 16:19
by gforce
Hi,
I realise this thread is very old, but I was wondering if anyone has successfully done this - use VLC to extract KLV data from an MPEG file?

I'm looking at doing this myself, and not sure whether to try using VLC, or a different library.
Also, does anyone know of a source of example MPEG files containing KLV data?

Many thanks