> I’m having difficulty streaming live H264 video captured from a PCI Express 
> board. It appears that the data acquisition is too slow for the Live555 
> streaming application and hence the displayed video (in VLC) is sticky. For 
> the time being I am assuming that the hardware is okay and would like to 
> investigate the possibility that the Live555 application is attempting to 
> grab the data too quickly for the hardware.
>  
> Could you tell me how Live555 calculates the time period between calls to 
> ByteStreamFileSource::doReadFromFile() and also where this is implemented in 
> the code.

You haven't said exactly how you're reading H.264 data from your video capture 
device, but because you mentioned "ByteStreamFileSource", I'm assuming that 
you're treating the device as a file (a byte stream), and feeding the output 
from a "ByteStreamFileSource" (i.e., your video capture device) into a 
"H264VideoStreamFramer" (which parses the byte stream into a sequence of H.264 
NAL units).

In this case, the code (in "H264VideoStreamFramer") figures out the frame rate 
(and thus, how long to delay between frames) from the "time_scale" parameter in 
"Sequence Parameter Set" (i.e., SPS) NAL units.  If this parameter is not 
present, then the code can't figure out the frame rate, so it uses a default 
frame rate of 25 fps.

If, however, your video capture device delivers 'discrete' H.264 NAL units - 
i.e., one at a time - rather than an unstructured byte stream, then you should 
*not* attempt to read it as a file.  Instead, you should write your own 
subclass of "FramedSource" (perhaps, based on the "DeviceSource" model) that 
delivers the NAL units, and feed these into a "H264VideoStreamDiscreteFramer" - 
*not* a "H264VideoStreamFramer".  If you do this, then your 'input device' 
class - i.e., the subclass of "FramedSource" that you'll write - *must* set 
"fDurationInMicroseconds" for each NAL unit, before it delivers it to its 
downstream object (a "H264VideoStreamDiscreteFramer").


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

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

Reply via email to