- From: Davy Van Deursen <davy.vandeursen@ugent.be>
- Date: Tue, 4 Nov 2008 13:35:43 +0100
- To: "'Jack Jansen'" <Jack.Jansen@cwi.nl>
- Cc: "'Media Fragment'" <public-media-fragment@w3.org>
- Message-ID: <002a01c93e79$daf9d1e0$90ed75a0$@vandeursen@ugent.be>
Hi Jack, all, From: public-media-fragment-request@w3.org [mailto:public-media-fragment-request@w3.org] On Behalf Of Jack Jansen Sent: Tuesday, November 04, 2008 11:34 AM To: Davy Van Deursen Cc: 'Media Fragment' Subject: Re: Squid experts On 3-Nov-2008, at 15:00 , Davy Van Deursen wrote: Davy, I would think that any format that can be streamed over RTSP must meet these 2 requirements: otherwise the RTSP server would have to do recoding on the fly when the user agent does a seek. I do not agree that these two points are requirements to stream media fragments over RTSP in general. On server side, syntax element modifications can be performed on the fly. Also, if a server has some transcoders at its disposal, on the fly transcoding of the media fragments is also possible, or not? As long as you stay on the server side, all possible operations can be performed to obtain the requested fragments. However, when proxies need to be taken into account (and we do not want to modify them), you should be able to express these server-side adaptation operations in terms of byte ranges. In order to express an adaptation operation in terms of byte ranges, the two above described requirements are necessary. Ok. I have never come across an RTSP server yet that did this, but obviously there's nothing in RTSP that forestalls this. And as we're in your field of expertise here I gladly concur:-) If we limit support for temporal fragments to media that meet requirements (1) and (2), and if RTSP has the same requirements, it seems that it isn't really limiting our support. Moreover, if the server does support fragments on media items that need to be recoded it is in the position to forestall caching by sending out rttp reply headers to that effect, or not? Do you mean that in the case of recoding, we do not cache the fragment at all? Of course, if we do not make any changes on the caches, then we are stuck to these byte ranges and is indeed the caching of a recoded fragment impossible. However, it would be nice if the cache really understands the concept of a fragment and does not (only) rely on byte ranges to cache the fragment. But that, I think, will not be an easy task :-). Here I'm not sure. I think we could do the caching in only one of two ways: 1. Cache byte ranges. This means that overlapping fragments or adjacent fragments will get merged. This works well for formats that match the two constraints (compressed extraction and no modification). It would break for formats where modification is required, unless we can turn caching off. 2. Cache time ranges. This would also allow caching of exact matches for formats that need to be modified during serving. However, we would lose the ability to coalesce fragments, unless the cache understands the underlying media format. It seems to me that (2) not only is a lot of extra implementation work for the cache, but there's also the risk that we lose a lot caching performance because not everything cacheable under (1) is cacheable under (2), unless each cache server understands every media format. What do you mean by 'a lot of extra implementation work'? Are you referring to the different time schemes that should be supported [1] or also other things? I agree that there will be extra implementation work in case of these time ranges, but I wonder what is worse for the performance of a cache: no support for coalescing fragments or no support for a list of media formats? [1] http://lists.w3.org/Archives/Public/public-media-fragment/2008Nov/0014.html Best regards, Davy
Received on Tuesday, 4 November 2008 12:50:37 UTC