Embedding WebVTT in WebM (RFC)

85 views
Skip to first unread message

Matthew Heaney

unread,
Jan 25, 2012, 7:16:29 PM1/25/12
to webm-d...@webmproject.org
The WebM development team (with a big dose of help from Silvia --
thanks!) has put together a proposal for embedding WebVTT in a WebM
file.

I have hosted the document at my personal gmail account
<matthew...@gmail.com>. You should have permission to both read
the document and leave comments. Here is the link:

https://docs.google.com/document/d/1-tVXd1mRlWNvZrdIkLAJEp5xt3gDVDwfVubyUm9oNJ4/edit

Essentially, the content of the WebVTT file becomes a WebM track, and
each WebVTT cue is embedded as the data portion of a WebM block. The
block timestamp and block duration is synthesized from the cue's
timestamp (in this case, the block is part of a block group).

A muxer has the option of embedding some (or all, or none) of the
WebVTT file in the CodecPrivate area of the track header. This is
mostly intended for embedding WebVTT chapter cues, but it will also
handle the proposal for WebVTT file-wide metadata.

Our goal in the design was to make it relatively simple for muxers and
demuxers to handle WebVTT cues in WebM. Given a WebVTT file, the only
thing a muxer should need to do is demarcate cues, and then parse
enough of the cue to extract just the timestamp. A WebVTT cue is
embedded as a BLOB in WebM, so a WebM demuxer does not need to do
anything special, and it should suffice for a demuxer to simply hand
the data off to some downstream entity.

This is an RFC, so comments are welcome. You can either leave
comments on the document itself, or leave them here on this list.

Regards,
Matt


On Wed, Jan 25, 2012 at 5:18 PM, Ralph Giles <gi...@xiph.org> wrote:
> On 26 January 2012 08:23, Basil Mohamed Gohar
> <abu_hu...@hidayahonline.org> wrote:
>
>> Right.  I misremembered something Silvia mentioned earlier in the
>> thread.  *SRT* has an encapsulation, WebVTT is *like* SRT, so it should
>> be *possible*.  I hope I got *that* right now...
>
> That's my understanding as well. There's no proposal for how exactly
> to encapsulate webvtt in webm, but we should should be able to reuse
> the current matroska srt mapping:
> http://matroska.org/technical/specs/subtitles/srt.html
>
> An open question is how to handle any of the positioning directives.

Thomas K. Stone Jr.

unread,
Jan 29, 2012, 4:01:19 PM1/29/12
to WebM Discussion


On Jan 25, 7:16 pm, Matthew Heaney <matthewjhea...@google.com> wrote:
> The WebM development team (with a big dose of help from Silvia --
> thanks!)  has put together a proposal for embedding WebVTT in a WebM
> file.
>
> I have hosted the document at my personal gmail account
> <matthewjhea...@gmail.com>.  You should have permission to both read
> the document and leave comments.  Here is the link:
>
> https://docs.google.com/document/d/1-tVXd1mRlWNvZrdIkLAJEp5xt3gDVDwfV...
>
> Essentially, the content of the WebVTT file becomes a WebM track, and
> each WebVTT cue is embedded as the data portion of a WebM block.  The
> block timestamp and block duration is synthesized from the cue's
> timestamp (in this case, the block is part of a block group).
>
> A muxer has the option of embedding some (or all, or none) of the
> WebVTT file in the CodecPrivate area of the track header.  This is
> mostly intended for embedding WebVTT chapter cues, but it will also
> handle the proposal for WebVTT file-wide metadata.
>
> Our goal in the design was to make it relatively simple for muxers and
> demuxers to handle WebVTT cues in WebM.  Given a WebVTT file, the only
> thing a muxer should need to do is demarcate cues, and then parse
> enough of the cue to extract just the timestamp.  A WebVTT cue is
> embedded as a BLOB in WebM, so a WebM demuxer does not need to do
> anything special, and it should suffice for a demuxer to simply hand
> the data off to some downstream entity.
>
> This is an RFC, so comments are welcome.  You can either leave
> comments on the document itself, or leave them here on this list.
>
> Regards,
> Matt
>
>
>
> On Wed, Jan 25, 2012 at 5:18 PM, Ralph Giles <gi...@xiph.org> wrote:
> > On 26 January 2012 08:23, Basil Mohamed Gohar

Ruta Dutkina

unread,
Feb 3, 2012, 3:34:43 PM2/3/12
to WebM Discussion


On Jan 26, 1:16 am, Matthew Heaney <matthewjhea...@google.com> wrote:
> The WebM development team (with a big dose of help from Silvia --
> thanks!)  has put together a proposal for embedding WebVTT in a WebM
> file.
>
> I have hosted the document at my personal gmail account
> <matthewjhea...@gmail.com>.  You should have permission to both read
> the document and leave comments.  Here is the link:
>
> https://docs.google.com/document/d/1-tVXd1mRlWNvZrdIkLAJEp5xt3gDVDwfV...
>
> Essentially, the content of the WebVTT file becomes a WebM track, and
> each WebVTT cue is embedded as the data portion of a WebM block.  The
> block timestamp and block duration is synthesized from the cue's
> timestamp (in this case, the block is part of a block group).
>
> A muxer has the option of embedding some (or all, or none) of the
> WebVTT file in the CodecPrivate area of the track header.  This is
> mostly intended for embedding WebVTT chapter cues, but it will also
> handle the proposal for WebVTT file-wide metadata.
>
> Our goal in the design was to make it relatively simple for muxers and
> demuxers to handle WebVTT cues in WebM.  Given a WebVTT file, the only
> thing a muxer should need to do is demarcate cues, and then parse
> enough of the cue to extract just the timestamp.  A WebVTT cue is
> embedded as a BLOB in WebM, so a WebM demuxer does not need to do
> anything special, and it should suffice for a demuxer to simply hand
> the data off to some downstream entity.
>
> This is an RFC, so comments are welcome.  You can either leave
> comments on the document itself, or leave them here on this list.
>
> Regards,
> Matt
>
>
>
> On Wed, Jan 25, 2012 at 5:18 PM, Ralph Giles <gi...@xiph.org> wrote:
> > On 26 January 2012 08:23, Basil Mohamed Gohar
Reply all
Reply to author
Forward
0 new messages