[Live-devel] RTP stream retransmit

2013-02-05 Thread Zvika Meiseles
Ok, 10x Ross. My initial implementation was a little simpler: MPEG1or2VideoRTPSource --> MPEG2TransportStreamFromESSource --> SimpleRTPSink This produced valid TS video, but some of the frames were sent a little late (causing "frame may be too late to be displayed (0.0)"

Re: [Live-devel] RTP stream retransmit

2013-02-03 Thread Ross Finlayson
Nonetheless, I suggest that you debug your code by first doing: MPEG1or2VideoRTPSource --> MPEG2TransportStreamFromESSource --> FileSink Then, verify (by trying to play the resulting file with a media player (like VLC)) that the resulting file is a proper Transport Strea

Re: [Live-devel] RTP stream retransmit

2013-02-03 Thread Zvika Meiseles
This looks correct. Note that - as I noted earlier - it's the "MPEG2TransportStreamFramer" that computes the 'presentation times' of the outgoing packets. It does this by inspecting the PCR timestamps in the Transport Stream packets that are fed to it. Ok, I got that. Assuming that the input Tr

Re: [Live-devel] RTP stream retransmit

2013-02-01 Thread Ross Finlayson
> I think I figured the cause - many of the incoming RTP frames "get" the same > presentation time (via 'receptionStatsDB().noteIncomingPacket(...)'. No, this is a 'wild goose chase'. The presentation times that get set for the outgoing Transport Stream packets are determined *entirely* by the

Re: [Live-devel] RTP stream retransmit

2013-02-01 Thread Zvika Meiseles
That's strange. The "MPEG2TransportStreamFramer" class should be scanning the "PTS" (timestamps) in the incoming MPEG Transport Stream packets, and using this to compute an estimated 'duration' for each. So I don't know why this is not working for you. I think I figured the cause - many of the i

Re: [Live-devel] RTP stream retransmit

2013-01-31 Thread Ross Finlayson
> My problem is that the "Framer" reports most of the frames' duration as > "0.0", and as a result 'uSecondsToGo' in the RTPSink is always 0, and the > frames are sent out too fast. That's strange. The "MPEG2TransportStreamFramer" class should be scanning the "PTS" (timestamps) in the incoming

[Live-devel] RTP stream retransmit

2013-01-30 Thread Zvika Meiseles
I've written some code using the live555 library that receives an RTP MPEG2 stream, converts it to TS and transmits it using RTP to another address. The incoming RTP stream is a live feed coming from a camera. In order not to be vulnerable to networking delays, I've implemented a FramedFilter that