[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