[Live-devel] Sync problems with dvb-t streams
Heintje Müller
live-devel
Mon Jun 13 22:58:10 PDT 2005
>> I've got a question. I'm working together with Heintje Mueller on a
>> project.
>> We got a DVB-T card for input of audio/video streams. We first tried
>> 2 use
>> es streams for video/audio but didn't get it sync :( So we want to
>> try to
>> use two PES-streams (one for audio, one for video). (no, we can't
>> just cut
>> the pes header and use es !?)
>
>
> Why not? In your input source class's "doGetNextFrame()", just do
> something like
> fFrameSize = PES_packet_size - PES_header_size;
> memmove(fTo, &dataPtr[PES_header_size], fFrameSize);
> instead of
> fFrameSize = PES_packet_size;
> memmove(fTo, dataPtr, fFrameSize);
>
>> We didn't find a solution :( Is there any
>> class in liveMedia which allows us to use PES ?
>
>
> Well, you could use "MPEG2TransportStreamFromPESSource", which
> generates a Transport Stream. (See the code for the
> "testMPEG2TransportStreamer" demo application.)
>
>
Hi ;o)
The problem is that DVB sources' ESs are not sync at all. Instead, it
has to be "resynced" via the presentation timestamps in the PES headers.
That's why we changed our DVB parser again to deliver two PESs to our
streaming server application and not to cut their headers and deliver
the rest as ES.
So our question is, is there already an implementation to stream PES via
RT(*)P in the liveMedia library (not as TransportStream!) or do we have
to write an own one. We were told that we would just have to take the
PTS out of the PES header, use it as RTP stamps and _then_ fill the RTP
packets normally with the now cutted ES. (Perhaps you guys of
networkmultimedia.org are reading this and can approve this?)
If we have to write it on our own, can you please point us to a starting
class, we can begin with (derive or modify)?
Thank you for your great support!
Heintje ;o)
More information about the live-devel
mailing list