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

<<attachment: multicast-traffic-graph.png>>

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to