Yeah I've experienced the exact same thing and I really don't know why
this happens. We're doing lectures with an associated chat and five
seconds is somewhat tolerable, but we are planning a feature to let
students ask questions via voice where five second delays will be
problematic.
I've tried using Adobe Flash Media Live Encoder and dvgrab+ffmpeg for
input, which didn't affect delay. I've used flvplayback and flowplayer
as clients, and it didn't affect delay. I hadn't tried a different
rtmp server though.
If you find any way of improving this, I'm very interested!
--
Marc Juul
V - video
A - audio
This is the order in which the packets arrives from RTSP
A1 A2 A7 V5 V6 A9 V8 V12 A13
They are in sync, but out of order when considering them on the same timeline. This needs to be delivered on RTMP like this:
A1 A2 V5 V6 A7 V8 A9 V12 A13
For that to happen, I need to keep a buffer server side.
Right now the re-ordering is happening quite brutally (I keep a queue of 100 packets). I think (not sure) wowza is doing the same and they call that the "low-latency" feature.
To test this behavior, go to
sources/thelib/src/streaming/packetqueue.cpp at line 58 and lower from 100 to 10. The difference should be quite visible.
I will modify the algorithm of re-ordering to be event-driven (detecting transitions) instead of packets-count-driven (wait for 100 packets in the queue).
When that will be implemented, the queue will only contain minimum amount of packets (2 or 3).
To test what's happening to extremes, modify that number to 0 (no packet re-ordering). The flash player will start act weird
Cheers,
Andrei
> You received this message because you are subscribed to "C++ RTMP Server" mailing list.
> To post to this group, send email to c-rtmp...@googlegroups.com
> To unsubscribe from this group, send email to
> c-rtmp-serve...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/c-rtmp-server?hl=en
------
Eugen-Andrei Gavriloaie
Web: http://www.rtmpd.com
But the packet re-ordering is only needed for RTSP right?
Couldn't there be an option to disable packet re-ordering, which will
then disable RTSP but otherwise function normally?
--
Marc Juul