0.4.1&0.4.0 Linux&Windows client MPEG2 PS&TS broken?

Jean-Paul Saman jpsaman at wxs.nl
Wed Jul 10 20:41:46 CEST 2002

Johann Hanne wrote:

>>PAT (pid 0) --> PMT (pid ??) --> Video (pid ??)
>>                              --> Audio (pid ??)
>>                              --> Audio(n) (pid ??)
>>                              --> PCR (pid??)
> Ok. This was my level of knowledge for the MPEG (MP)TS. I was confused by 
> the SPTS term as i assumed there must be substantial difference between 
> MPTS and SPTS. But as the only difference is the number of referenced PMT 
> PIDs in the PAT I think the usage of two different terms for the same 
> thing is not very logical...
By my knowledge that is what they call a Single Program Transport 
Stream. For the sake of discussion let us separate MPTS and SPTS out, 
know we have determined it's exact meaning.

>>Can you read the stream directly from the DVB-card with vlc. Either 
>>through the satellite plugin or with "cat /dev/ost/dvr" | vlc /dev/stdin" ?
> I didn't try it out. However I was able to play the recorded TS with WMP 
> and the Elecard MPEG2 stuff. It also worked to convert the stream with 
> ts2ps and to play the result with MPlayer.
This should work, we can do it here with a DVB-S card. I guess it must 
be similar with a DVB-C card.

>>>I *have* a DVB-C. But as far as I have understood the only (?) problem is, 
>>>that the full-featured DVB-cards (not-Nova) cannot pass the complete TS 
>>>through, but only up to 8 (?) single PIDs. So if I modify the PAT to only 
>>>reference one program, the TS should be "complete" again?
>>No, the driver forgets a "start unit indicator". It indicates the start 
>>of a new PES packet in the TS header. We notified the author of the DVB 
>>On top of that there are not PCR's and DTS in the stream. The lack of 
>>DTS possibly does not need to be fixed. But the PCR time base needs to 
>>be recreated. However this is not an easy task.
> So the whole point of our discussion is that the stream coming from my 
> card isn't complete/correct. I'll try to make some workaround for it, 
> including the PCR recreation although I'm not quite sure if I will 
> succeed. If I do, I will post a report on the list. If anyone has some 
> hints/links on PCR creation, please let me know.
Our conclusion: you *cannnot* recreate the exact PCR timing. The PTS and 
DTS in the stream depends upon a correct value of the PCR, within 0.3 
ppm (MPEG spec) about 1 ms on pc clock!.

The best thing to do is for the receiver to ignore the TS-header 
entirely and make some assumptions on bitrate/playoutrate. Which is 
probably not good enough if the file misses a DTS.

With not good enough I mean:
- it doesnot respect MPEG decoder model
- playout is to fast or to slow (not exact the original stream)
- audio and video are hard to synchronize exactly

> However, I still wonder why I can play the recorded stream with MPlayer as 
> well as with WMP with the MPEG2 stuff added. The POSSIBILITY to modify vlc 
> to also support that kind of stream must exist?!

It probably depends on how the stream is treated. If MPlayer and WMP 
ignore the MPEG-TS headers and only look at the PS headers, then with 
some assumptions you can more or less view the stream. At the same time 
it means that the decoder (MPlayer or WMP) ignore the MPEG standard.

> Cheers, Jonny <jonny at 1409.org>

Jean-Paul Saman.

This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>

More information about the vlc-devel mailing list