[Ffmpeg-devel] Split H 263 frame at GOB boundaries for RTP

bagwan ali bagwani
Tue Sep 6 13:26:01 CEST 2005


I am trying to stream H 263 over RTP.

I use ffmpeg 4.9.0 pre1 for H 263 encoding and
jrtplib v3.1.0(http://research.edm.luc.ac.be/jori/jrtplib/jrtplib.html) for 
rtp streaming.

The whole testlab setup is as follows:

Grabber/RTP streamer -> darwin streamserver v1.5.5  -> quicktime player 

So far I am streaming QCIF(=176x144) H 263 at 50kbit/sec over UDP/RTP 
but only if ONE H 263 frame fits completly in the payload of ONE RTP packet.
In my case the MTU (Maximum Transmission Unit) is 1450 bytes,
so the maximum RTP payload size is around 1398 bytes.

Now I red somewhere on the internet that if a H 263 frame is too large to 
fit in ONE RTP packet,
I have to split the H 263 frame at GOB(Group of Block) or MB(Macroblock) 
boundaries, I prefer to do it at GOB boundaries.
And in my case an QCIF H263 I(ntra) Frame has 9 GOBs in total.

So if I am correct, the start of a GOB frame begins with a GBSC (Group of 
Blocks Start Code),
which is an 17-bit word with the binary value 0000 0000 0000 0000 1. This 
value is ALWAYS byte-aligned.
So I should at least find 8 times a hexadecimal value starting with 0000. 
Not 9 times because
for GOB number 0 in each frame, no GOB header is encoded.

But the problem is that I cannot find the start of those GOB's in an H263 
encoded I Frame.
There is only a singel occurance of hexadecimal value 0000. and this is at 
the beginning of the frame
which is part of the 22 bit Picture Start Code (PSC ) of an H 263 Frame.

Can somebody help me with this?

Muchos gratias in advance


Express yourself instantly with MSN Messenger! Download today it's FREE! 

More information about the ffmpeg-devel mailing list