[Live-devel] Live H264 Streaming Timing Problem

Ross Finlayson finlayson at live555.com
Wed Apr 11 12:38:00 PDT 2012


> I am reading in H.264 data from a named pipe (which is essentially a file) and feeding into a H264VideoStreamFramer. I basically copied ByteStreamFileSource and read from a pipe rather than a file.

You shouldn't need to 'copy' the "ByteStreamFileSource" code.  Because your pipe appears - to the application - just like a named file, you should be able to use the "ByteStreamFileSource" class directly, without modification.


> Incidentally, I used pipes because I am using visual studio

Oh god, you're using Windows.  I suspect that that's the cause of your problem (see below).


> I am confident that the streamer application is receiving the frame count and of the integrity of the video input to the streamer application. I think the issue may lie with the speed of the capture from the hardware. Before I focus on this, can I ask a further question?
>  
> I am capturing H.264 data with low compression from a video encoder in 2Mb chunks and from the Live555 application to play in VLC player. Is this type of application well tested with the Live555 software?

Yes, I believe so.


> i.e. high data content streaming in real time. When I capture to file and stream from the file the application works perfectly.

In other words, if you capture H.264 video to a file named "test.264", and then use "testH264VideoStreamer" or "testOnDemandRTSPServer" to stream it, then VLC (acting as a RTSP client) plays the stream OK??

If so, then I suspect that your problem is that the "ByteStreamFileSource" code - when run on Windows - reads from files (including pipes) synchronously - i.e., blocking if there's no data currently in the pipe.  Unfortunately there's no easy way to fix this, other than using a real operating system (one that treats open files as sockets).  I suspect that - if you want to stick with Windows - you will need to write your own "FramedSource" subclass to encapsulate your video capture device, and use that instead of "ByteStreamFileSource".


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20120411/70ad2f90/attachment.html>


More information about the live-devel mailing list