[vdr] cReceiver vs cFilter and PTS questions

Udo Richter udo_richter at gmx.de
Fri Nov 4 16:39:49 CET 2005


Patrick Fischer wrote:
> 2. I want to get the PTS from the current V-PID. I have looked at the
> femon Plugin. This use a cReceiver which gives me an repacked TS with
> 188byts. I have surched for a Spec. which gives me more informations
> about the 188Byts.
> The first 16bit (12bit used) are the PID
> 8bit are the (PAYLOAD/ADAPT_FIELD)(don't know what it is)
> 8bit some kind of offset
> ......

The mpeg-TS format (and all the other mpeg sream formats) is specified
in ISO/IEC 13181-1.

The difficult thing about these mpeg formats is that often unused parts
of the headers get skipped, which causes all data behind the hidden part
to move forward. In case of TS, the layout changes depending on whether
the adaption field exists or not. (ADAPT_FIELD flag, officially called
adaption_field_control)

TS packets can contain an adaption field and/or payload, depending on
adaption_field_control. If the adaption field exists, its first byte is
adaption_field_length, your 'some kind of offset'. Payload will be right
after the adaption field, if present, and is usually a PES stream.

However, the PTS is not in the TS headers. The PTS first appears in the
PES packet headers. Not every PES header has a PTS entry, you have to
check the stream_id and the PTS_DTS_flags field...

> 3. I want to get all PTS from all V-PID's on the transponder. Is it
> possible?

You would have to receive all the video streams of that transponder at
the same time. May cause trouble with the PID filters and with the data
throughput.

Cheers,

Udo




More information about the vdr mailing list