Re: [httpstreaming] Current Status and Our Goal

Qin Wu <sunseawq@huawei.com> Fri, 15 October 2010 08:08 UTC

Return-Path: <sunseawq@huawei.com>
X-Original-To: httpstreaming@core3.amsl.com
Delivered-To: httpstreaming@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8BE103A6A3C for <httpstreaming@core3.amsl.com>; Fri, 15 Oct 2010 01:08:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.128
X-Spam-Level:
X-Spam-Status: No, score=0.128 tagged_above=-999 required=5 tests=[AWL=0.623, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qOrsQGjevoNL for <httpstreaming@core3.amsl.com>; Fri, 15 Oct 2010 01:08:43 -0700 (PDT)
Received: from szxga02-in.huawei.com (unknown [119.145.14.65]) by core3.amsl.com (Postfix) with ESMTP id 2BACB3A6C67 for <httpstreaming@ietf.org>; Fri, 15 Oct 2010 01:07:44 -0700 (PDT)
Received: from huawei.com (szxga02-in [172.24.2.6]) by szxga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LAB00IZFNYSS5@szxga02-in.huawei.com> for httpstreaming@ietf.org; Fri, 15 Oct 2010 16:08:53 +0800 (CST)
Received: from huawei.com ([172.24.2.119]) by szxga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LAB00LUNNYS6K@szxga02-in.huawei.com> for httpstreaming@ietf.org; Fri, 15 Oct 2010 16:08:52 +0800 (CST)
Received: from w53375 ([10.138.41.48]) by szxml06-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTPA id <0LAB007PHNYREP@szxml06-in.huawei.com> for httpstreaming@ietf.org; Fri, 15 Oct 2010 16:08:52 +0800 (CST)
Date: Fri, 15 Oct 2010 16:08:51 +0800
From: Qin Wu <sunseawq@huawei.com>
To: Ye-Kui Wang <yekuiwang@huawei.com>, "'Ali C. Begen (abegen)'" <abegen@cisco.com>, 'Roni Even' <Even.roni@huawei.com>, "'David A. Bryan'" <dbryan@ethernot.org>
Message-id: <061d01cb6c40$34a89000$30298a0a@china.huawei.com>
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3664
X-Mailer: Microsoft Outlook Express 6.00.2900.3664
Content-type: text/plain; charset="ISO-8859-1"
Content-transfer-encoding: 7bit
X-Priority: 3
X-MSMail-priority: Normal
References: <00df01cb5de2$2ac49730$4f548a0a@china.huawei.com> <03f501cb65a1$50699d70$f13cd850$%roni@huawei.com> <04CAD96D4C5A3D48B1919248A8FE0D540D5BEADB@xmb-sjc-215.amer.cisco.com> <03f901cb65a5$7ee4bc80$7cae3580$%roni@huawei.com> <04CAD96D4C5A3D48B1919248A8FE0D540D5BEB08@xmb-sjc-215.amer.cisco.com> <074201cb66c1$1a192d50$4f548a0a@china.huawei.com> <04CAD96D4C5A3D48B1919248A8FE0D540D5BF360@xmb-sjc-215.amer.cisco.com> <017101cb6924$bc093410$30298a0a@china.huawei.com> <04CAD96D4C5A3D48B1919248A8FE0D540D5BF70B@xmb-sjc-215.amer.cisco.com> <03ce01cb6b67$fdb9d910$30298a0a@china.huawei.com> <04CAD96D4C5A3D48B1919248A8FE0D540D689385@xmb-sjc-215.amer.cisco.com> <009c01cb6c03$f2125320$30298a0a@china.huawei.com> <04CAD96D4C5A3D48B1919248A8FE0D540D689412@xmb-sjc-215.amer.cisco.com> <022c01cb6c0b$5fc75490$30298a0a@china.huawei.com> <04CAD96D4C5A3D48B1919248A8FE0D540D68946C@xmb-sjc-215.amer.cisco.com> <F838F912276B4CE7B5BE50E4E1460D23@china.huawei.com>
Cc: httpstreaming@ietf.org
Subject: Re: [httpstreaming] Current Status and Our Goal
X-BeenThere: httpstreaming@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Network based HTTP Streaming discussion list <httpstreaming.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/httpstreaming>, <mailto:httpstreaming-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/httpstreaming>
List-Post: <mailto:httpstreaming@ietf.org>
List-Help: <mailto:httpstreaming-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/httpstreaming>, <mailto:httpstreaming-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Oct 2010 08:08:58 -0000

No, we are talking about difference between pull model and push model and their advantage, disavantages.
The model specified in 3GPP is just client based pull model which gives client the whole control to handle playout.
Another model we need to look at is push model. The technolgoies related to this model  are server push technology, websocket protcol. 
The difference between them is:
pull model is client based solution, rely on existing web infrastructure including cache behavior, require nothing from network. 

push model network based solution, network should be enhanced to provide better transport and satisfy better QOE.

Also I would like to point out what 3GPP is doing for this pull model is just standardizing manifest component, which is similar
to Apple's draft-pantos-http-live-streaming-04 and specify how these component work in the pull model.

However in the push model, this component is not neccessary. 
Also in the push model, the cache may be enhanced as pointed out by Wenbo Zhu.

Regards!
-Qin
----- Original Message ----- 
From: "Ye-Kui Wang" <yekuiwang@huawei.com>
To: "'Ali C. Begen (abegen)'" <abegen@cisco.com>; "'Qin Wu'" <sunseawq@huawei.com>; "'Roni Even'" <Even.roni@huawei.com>; "'David A. Bryan'" <dbryan@ethernot.org>
Cc: <httpstreaming@ietf.org>
Sent: Friday, October 15, 2010 3:32 PM
Subject: RE: [httpstreaming] Current Status and Our Goal


> 
>> > [Qin]: I don't doubt giving more control to client has its 
>> advantages. 
>> > But I think giving some control to the server also has its 
>> advantage. e.g.,  you may not need to prepare multiple stream 
>> of the same content with different bitrate.
>> 
>> Well, AFAICT the method in which people (including me) are 
>> interested in is this so-called multi-bitrate streaming, 
>> which implies the same content being encoded at multiple bitrates.
>> 
>> > the server control the transmission rate based on the 
>> network condition and client requirements.
>> 
>> How would this work if you have only one bitrate on the 
>> server? Is your approach as follows:
>> 
>> Rather than offering the same content encoded at multiple 
>> bitrates and serving them based on what the client wants, you 
>> wanna serve the content encoded at a single bitrate and by 
>> manipulating the transmission rate on the server (based on 
>> server's knowledge of network and client), you "adaptively" 
>> send it. Is that the scenario you have in mind?
> 
> I guess what Qin had in mind is something called "dynamic mode" of HTTP
> streaming, wherein there can be just one file containing all alternatives
> (i.e. multiple bitrates, resolutions, frame rates, etc.), as what can be
> stored in ISO base media file format, but the Media Presentation Description
> (MPD, i.e. manifest) describes the content as if it was fragmented,
> segmented and stored in multiple files/URLs. Upon receiving a request of a
> segment, the server creates the segment on-the-fly. Thus, caches and clients
> work as determined by the HTTP streaming spec (e.g. MPEG DASH or 3GPP AHS),
> but the server needs enhanced capability (and thus the mode can also be
> called server-enhancing mode). However, there seems no need to specify
> anything (as a standard) to do this.
> 
> BR, YK
> 
> 
>> -----Original Message-----
>> From: httpstreaming-bounces@ietf.org 
>> [mailto:httpstreaming-bounces@ietf.org] On Behalf Of Ali C. 
>> Begen (abegen)
>> Sent: Friday, October 15, 2010 1:14 AM
>> To: Qin Wu; Roni Even; David A. Bryan
>> Cc: httpstreaming@ietf.org
>> Subject: Re: [httpstreaming] Current Status and Our Goal
>> 
>> > But, in http streaming scenario, the ratio of download/upload (from 
>> > the client's perspective) is much larger than 1. BTW, if 
>> you keep your 
>> > chunk duration relatively longer, the amount of requests 
>> that you will end up sending will be almost nil compared to 
>> what you will receive.
>> > 
>> > [Qin]: No, I just compare pull and push with the same chunk 
>> duration.
>> 
>> You can choose whatever chunk size you wanna use. Does not 
>> matter. The fact remains the same. Unless someone uses chunks 
>> of a few hundreds of ms, it won't matter.
>>  
>> ...
>> > Sorry if "playback time" meant the duration of the 
>> playback. I rather 
>> > meant the start time of the playback. So, if a client keeps 
>> a larger buffer hoping that it will avoid buffer underruns, 
>> this may delay the playback start time.
>> > 
>> > [Qin]: Right. So we need to choose approporiate buffer size to seek 
>> > balance between buffer underflow and startup time delay. 
>> The buffer size can be changed at any time.
>> 
>> It is not up to me or you. Any implementation (depending on 
>> the device, scenario, network type, etc.) can choose any size 
>> for the buffer.
>>  
>> > Or, the client can start the playback quickly and build the 
>> buffer over time by requesting lower-bitrate chunks.
>> > 
>> > [Qin]: I think the presumption is the server should prepare 
>> multiple 
>> > streams of the same content with different bitrates. the 
>> server may have a big load if the content is live contents.
>> 
>> It is not the server who prepares the content. Not 
>> necessarily and not often. So, serving the same content at 
>> different bitrates does not pose any extra load on the server 
>> (except where the caching comes into play).
>>  
>> > Whether it paces the presentation speed down or not in 
>> order to avoid 
>> > buffer underruns is something up to the client. Most 
>> implementations I 
>> > have seen simply switch to a lower-bitrate profile well 
>> before the buffer is fully drained. So, they don't experience 
>> buffer underruns and they don't need to pace the video 
>> presentation speed down.
>> > 
>> > [Qin]: I don't doubt giving more control to client has its 
>> advantages. 
>> > But I think giving some control to the server also has its 
>> advantage. e.g.,  you may not need to prepare multiple stream 
>> of the same content with different bitrate.
>> 
>> Well, AFAICT the method in which people (including me) are 
>> interested in is this so-called multi-bitrate streaming, 
>> which implies the same content being encoded at multiple bitrates.
>> 
>> > the server control the transmission rate based on the 
>> network condition and client requirements.
>> 
>> How would this work if you have only one bitrate on the 
>> server? Is your approach as follows:
>> 
>> Rather than offering the same content encoded at multiple 
>> bitrates and serving them based on what the client wants, you 
>> wanna serve the content encoded at a single bitrate and by 
>> manipulating the transmission rate on the server (based on 
>> server's knowledge of network and client), you "adaptively" 
>> send it. Is that the scenario you have in mind?
>> 
>> -acbegen
>> _______________________________________________
>> httpstreaming mailing list
>> httpstreaming@ietf.org
>> https://www.ietf.org/mailman/listinfo/httpstreaming
>> 
> 
>