Re: Streaming of WebVTT

On Fri, Jul 27, 2012 at 6:57 PM, Cyril Concolato
<cyril.concolato@telecom-paristech.fr> wrote:
> Hi Silvia,
>
> Le 7/27/2012 12:59 AM, Silvia Pfeiffer a écrit :
>
>> On Thu, Jul 26, 2012 at 7:33 PM, Cyril Concolato
>> <cyril.concolato@telecom-paristech.fr> wrote:
>>>>
>>>> No, not quite. Everything until the first empty line is regarded as
>>>> the header.
>>>
>>> I don't understand. The syntax (http://dev.w3.org/html5/webvtt/#syntax)
>>> says
>>> that the "WEBVTT" string can optionally be followed by "either a U+0020
>>> SPACE character or a U+0009 CHARACTER TABULATION (tab) character followed
>>> by
>>> any number of characters that are not U+000A LINE FEED (LF) or U+000D
>>> CARRIAGE RETURN (CR) characters.". Since it says "that are not LF or CR"
>>> you
>>> can't have text on another line. The line starting with "WEBVTT" must be
>>> followed by an empty line. This seems to be also the interpretation of
>>> Anne's validator, which says "no blank line after the signature". But
>>> this
>>> does not change the fact that the header, indeed, may carry interesting
>>> things.
>>
>> That's the Syntax definition. In step 11 in the parser, thought it says:
>> http://dev.w3.org/html5/webvtt/#parsing
>>
>> "Header: Collect a sequence of characters that are not U+000A LINE
>> FEED (LF) characters. Let line be those characters, if any."
>>
>> The way I read this is that while we haven't defined in the Syntax
>> that there should be a header, the parser allows putting extra
>> characters beyond the identifier line and skips everything until it
>> finds the two line terminators it requires (i.e. the empty line).
>
> So although the file would be syntactically invalid, it would be acceptable
> to the parser. Urgh!


Not at all. See Glenn's answer: it's about extensibility.


>>> Right. So what about the Random Access Point problem that I mentionned in
>>> a
>>> my previous email? Don't you think it should possible to rewrite any
>>> WebVTT
>>> file such that any (or some) cue doesn't need information from previous
>>> cues
>>> to be processed? Just like you can re-encode a video to have all (or
>>> some)
>>> frames to be an I frame?
>>
>> You can already do that. "Random access" for video or audio also
>> doesn't mean that you can get to any time point that you like. You can
>> always only get to the resolution of the data that you're looking at.
>> E.g. if you seek to a time position that lies exactly in the middle of
>> two video frames, what are you going to rewrite when you re-encode it?
>> Do the same for WebVTT.
>
> I've never said that ""Random access" for video or audio [...] mean that you
> can get to any time point that you like". I'm saying that for video and
> audio you can always (at the cost of bitrate) reencode a file such that all
> frames are I-frames (or equivalent). To my understanding, this is not
> possible for WebVTT and I think that's a problem.

There's no reason it wouldn't be possible with WebVTT. You jump to a
time point, you take all the cues that are active at that time point
and drop all the ones before that and you have exactly what you're
after. That's "re-encoding" the WebVTT way - even simpler than what
you have to do for video or audio.

Regards,
Silvia.

Received on Saturday, 28 July 2012 07:27:27 UTC