There are more advanced options, depending on your h.264 encoder. For example the TI h.264 encoder supports a couple of features, Temporal Scalability and Chain Free P Frame encoding.
http://processors.wiki.ti.com/index.php/H.264_DM36x_Ver_2.0_Codec#Scalable_video_coding_.E2.80.93_Temporal
http://processors.wiki.ti.com/index.php/H.264_DM36x_Ver_2.0_Codec#Chain_Free_P_frame_encoding

Both of which allow one to transmit and decode some subset of the encoded bit stream, usually on some even multiple of the key frame frequency.

Both of these methods requires you to know or at least discover some pretty detailed information about the bit stream you are retransmitting but it can be done.

Matt S.

On 10/14/2012 6:24 AM, Jeff Shanab wrote:
In the simplest case, H264 defines a protocol that starts with a key frame and has a succession of difference frames that are much smaller. ie the 24KByte key frame has all the information needed to draw the whole frame and the 1Kbyte diff frame has only the changes needed to update the key frame to the new display frame. The first difference frame depends on the key frame and each diff frame depends on the key frame and the changes made by all the proceeding diff frames.

One trick would be to have a key frame per second and send and display only keyframes. But since the keyframes are big you can expect at most a 60% reduction on 30fps video.

Anything else is transcoding. Decode the video at the source fps and re-encode at the fps you want to display.
This can be done in software with libavcodec, but it takes CPU!
This also would let you reduce the resolution, sometimes the client is not viewing it at full resolution and that effects bandwidth considerably.
------------------------------------------------------------------------
*From:* live-devel-boun...@ns.live555.com [live-devel-boun...@ns.live555.com] on behalf of Tarun Batra [tbatr...@gmail.com]
*Sent:* Thursday, October 11, 2012 10:20 AM
*To:* live-de...@ns.live555.com
*Subject:* [Live-devel] How to re transmit

Hello Sir,

I have implemented "testOnDemandRTSPServer" on my machine which receives h264 transport stream from my streamer application.

Is there any way to re transmit this received stream from streamer, to my RTSP clients with different fame rates? As some of my RTSP clients do not have sufficient bandwidth to receive stream with high frame rate. My streamer uses MPEG1or2VideoStreamDiscreteFramer to stream a video from digital camera.



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

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

Reply via email to