[Live-devel] streaming live H263 video

Ross Finlayson finlayson at live555.com
Sun Mar 6 16:52:10 PST 2011


>I am trying to make Live555 work with live video source. My H263 
>encoder writes encoded frames to Unix named pipe (FIFO) with a rate 
>of 15 fps. I created a RTSPServer instance, ServerMediaSession and 
>added a H263plusVideoFileServerMediaSubsession 
>(reuseFirstSource=True), passing the FIFO file name as the 
>subsession parameter.
>
>VLC and/or QuickTime player start playing the stream, then 
>repeatedly freeze for several seconds, then play again. However, 
>everything works fine if I stream pre-recoded H.263 encoded 
>elementary stream from file (without using named pipe). Is this 
>happening when RTSPServer is getting EOF while trying to read the 
>data from the pipe?

No, it's most likely because the server is trying to read more data 
from the pipe than is currently available, so the operating system is 
blocking the reading server until the other end (the encoder) makes 
enough data available.

One way to fix this is to - if you can - increase the internal (i.e., 
OS) buffering in your named pipe.  Our server tries to read up to 
150000 bytes at a time (the constant BANK_SIZE in 
"StreamParser.cpp"), so you should try to make the pipe's buffer at 
least this large.

Alternatively - if you can't increase the amount of buffering in your 
pipe - you could try reducing the value of the constant BANK_SIZE in 
"StreamParser.cpp".  You should not make this too small, though; it 
needs to be at least as large as the largest possible H.263 frame 
that you expect to see.
I don't recommend doing this except as a last resort, though, because 
it requires modifying the supplied source code.
-- 

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/20110306/748ba90d/attachment.html>


More information about the live-devel mailing list