[streaming] Re: Reliable streaming format for wireless links

Marshall Eubanks tme at multicasttech.com
Tue Mar 14 12:59:57 CET 2006


Hello;

On Mar 14, 2006, at 5:40 AM, Niall Donegan wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Marshall Eubanks wrote:
>>
>> On Mar 13, 2006, at 12:18 PM, Thomas Kernen wrote:
>>
>>>> The other thing is the size of your GOP. Can you shorten it ?
>>>> Suppose you are sending out 100 pps
>>>> (packets per second) and the GOP is 30 seconds. Then, 1 packet   
>>>> lost
>>>> out of 3000 will mess things up,
>>>> on average for 15 seconds. If you can lower the GOP to 30  
>>>> frames  (1
>>>> second), then the same packet loss rate
>>>> will case errors for 1 second out of 30, lasting on average for   
>>>> 0.5
>>>> seconds, which is a lot
>>>> more tolerable.
>>>> I always try and lower the GOP for streaming.
>>>
>>>
>>> Shorter GOP would therefore mean a higher bitrate due to the
>>> increased number of I-frames. So that may cause more issues with   
>>> APs
>>> that can't handle multicast properly?!?
>>>
>>
>> Yes, if the quality is kept constant. (Well, sort off. This is  
>> true  if
>> your packet losses are caused by thermal noise. In many cases,   
>> however,
>> packet losses are caused by other events, and are thus not   
>> random. If
>> the WLAN is overloaded for 1 second, then for a 30 second  GOP you  
>> are
>> killed by
>> on average 15 seconds, regardless of the bit rate.)
>>
>> In any case, in the streaming projects I have worked with, the bit
>> rate is more or less constant (or at least has an upper bound), which
>> is set by cost of bandwidth or
>> availability of bandwidth.
>>
>> In that case a shorter GOP means (in some average sense) lower   
>> quality
>> if the bit rate is kept constant. That's how I generally  think of  
>> it,
>> and I was assuming that the bit rate is constant or at  least capped.
>
> Pardon my ignorance, but what exactly is GOP? From the description of
> how it would affect the performance, I'm thinking that it's related to
> the Beacon setting on the Linksys APs. Would I be anywhere close to  
> the
> mark?
>

Sorry, no, the GOP is MPEG jargon; it stands for "Group of Pictures".  
In MPEG-1, 2 and 4 (but not necessarily in
H.264), a GOP is started by an I frame (which is independent of  
what's gone on before) and is followed by one or more B frames and P  
frames. The first P frame is predicted from the I frame, subsequent  
ones are predicted from the previous P frame. One simple way of doing  
this would be to just difference each successive frame. Since in
most video, most of the time, successive frames change slowly, there  
is a lot less information to encode in the
difference than in the complete frame. But, of course, things move  
around, so you can do better by estimating the
motion, and differencing a block with a previous block in another  
location, which MPEG also allows for.

See, for example,
http://bmrc.berkeley.edu/frame/research/mpeg/mpeg_overview.html
for more information.

So, in MPEG, frames in a GOP are all linked. If you lose an I frame  
(they're typically bigger), then the entire
GOP is hosed. If you loose a P frame, everything after that point to  
the next I frame is corrupt. You can generally easily tell this if  
you are watching the stream this because a moving person will have a  
trail behind them, moving things may leave bits behind them, etc.  
These will last until suddenly they clear up (the next I frame).

In H.264, you can actually drive this down into the slice level - you  
can have "I slices" (they call them something different), so every  
frame can include both independent and predicted content. I haven't  
seen any streaming implementations of this, but I have seen it used  
in videoconferencing.

Regards
Marshall

> - --
> Niall Donegan
> niall\at\moybella\dot\net
> Public-Key: http://moybella.net/~niall/public.gpg
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.2.2 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
>
> iD8DBQFEFp2FtYqd1KeuQA8RAv36AJ9vn4LTgPjFZd4Qqr1yxJLiYsYT/ACgko4K
> tMzqRZmw/7Otm2LV++PUFbo=
> =DGCk
> -----END PGP SIGNATURE-----
>
> -- 
> This is the streaming mailing-list, see http://www.videolan.org/ 
> streaming/
> To unsubscribe, please read http://www.videolan.org/support/lists.html
>

-- 
This is the streaming mailing-list, see http://www.videolan.org/streaming/
To unsubscribe, please read http://www.videolan.org/support/lists.html



More information about the streaming mailing list