[Live-devel] Live555 limiting network traffic?
Wiser, Tyson
TWiser at logostech.net
Fri Dec 9 15:38:02 PST 2011
This is kind of a shot in the dark, but I have been puzzling over a problem for several days and I am hoping someone here can either rule out Live555 or confirm that it could be contributing.
I am running an RTSP server application based on Live555 that receives live H.264 encoded video from a hardware encoder (which gets its data from a camera), muxes it into an MPEG2-TS and then sends it out as multicast raw UDP data (our customer's requirements do not allow us to use RTP/RTCP). My setup is as follows. I get a signal from a camera that a new frame is available, which triggers the encoder to encode the frame and then pass it off to my server. After my server muxes the data it writes it to a Linux pipe that is used as the input to a ByteStreamFileSource. The ByteStreamFileSource is used as the input to an MPEG2TransportStreamFramer. The MPEG2TransportStreamFramer is returned by an OnDemandServerMediaSubsession subclass's createNewStreamSource function.
This has been working very well for us, though we have noticed what we have assumed were decoder buffering problems when viewing the live video. Recently, however, I was analyzing a Wireshark capture and noticed a very strange traffic pattern (see attached image) that I am now convinced has caused most if not all of what we were considering decoder buffering problems.
The graph plots the number of packets received per millisecond. The blue bars indicate the receipt of the signal that a new frame is available from the camera. The red bars indicate the receipt of the resulting multicast stream packets. For about the first quarter of the graph you will see the expected pattern of frame available signal followed by a burst of multicast traffic followed by nothing until the next frame available signal (our camera frame rate is about 7Hz). The remaining three quarters of the graph, however, show the pattern that we get most of the time. After a signal we will occasionally get a burst of multicast traffic, but most often we seem to be limited to one multicast packet every 10 milliseconds or so. Occasionally it will clear up and go back to the expected pattern for a brief time period but then it will return to the bad pattern. It is definitely not a firewall, bandwidth, or networking equipment issue.
Is there anything in BasicUDPSink (which is created by OnDemandServerMediaSubsession for raw UDP transfer), MPEG2TransportStreamFramer, or ByteStreamFileSource that could somehow be limiting the rate at which the UDP packets are sent under any circumstances?
Thanks in advance for your attention and response.
Tyson Wiser
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111209/8717e309/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: multicast-traffic-graph.png
Type: image/png
Size: 10341 bytes
Desc: multicast-traffic-graph.png
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111209/8717e309/attachment.png>
More information about the live-devel
mailing list