Hi Im currently working on a OSX project to transcode Mjpeg from IP camera to RTSP mpeg4 with libavcodec
The Stream from camera is 1280x960 at 4fps. I implemented the subclass of FrameSource and use MPEG4DescreteVideoFramer and feed FramerSource Mjpeg streaming and encoding is done in separate thread and the output AVPackets are stored in a que FramedSource::doGetNextFrame check if there is any packet in the que and deliver it, otherwise schedule a delayed call on FramedSource::doGetNextFrameStatic to do frame checking again. the program works but got serious latency problem (3~12 seconds ), seen from FFplay it complains 100+ RTP packet lost. 1.For comparision I tried ffserver+ffmpeg the latency is ~1seconds. FFplay complains RTP lost too but much less 1~2 packet lost. 2. In my implementation, I can confirm the mjpeg receiving/decoding and mpeg4 encoding too less than 100ms for each frame. 3. I notice doNextFrame often couldn't get data and issue a delayed retry, the problem is it is called repeatedly more than 20 times per seconds since I use 0ms delay, wondering this could be the problem? I did tried 100ms but seems doesn't really help... Is it possible doGetNextFrame is called too frequently? Is there any other reason can cause the problem? PS: I'm running EVERYTHING on a MacBook Pro with 2.4Ghz CPU and 8GB ram. Thanks! Regards Steven Sent from my iPhone _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel