Media Fragments Working Group Teleconference

18 Sep 2009


See also: IRC log


Raphael, Michael, Guillaume, Davy, Silvia, Conrad, Yves, tmichel, franck




<trackbot> Date: 18 September 2009

<scribe> Scribe: raphael

<scribe> Scribenick: raphael

1. Wrap-up of F2F meeting Day 1

Raphael: a number of emails have been sent this morning

Frank: Jack proposed that we can have profiles
... it could be reasonable, for clearly clarifying the degree of conformance from the implementations
... useful for readability

<conrad> i think having separate definitions for how to handle #, how to handle ? etc. is useful

Conrad: I think this is useful too, but I'm not sure Profiles is the right terminology
... agree in principle on the separation

<silvia> I think the difference between # and query is substantial enough to define them separately

Raphael: I try to summarize the good cases, I count 3, see http://lists.w3.org/Archives/Public/public-media-fragment/2009Sep/0091.html
... does everybody agree with this view?


<mhausenblas> +1

<davy> +1

<silvia> +1

<Gui> +1

2. Implementation

<davy> http://www.w3.org/2008/WebVideo/Fragments/wiki/ImplementationExperiment#NinSuna_platform

Davy: I'm starting with NinSuna

<davy> http://schutz.elis.ugent.be:8080/DownloadServlet/fragf2f.mp4

<davy> http://schutz.elis.ugent.be:8080/DownloadServlet/fragf2f.mp4?t=2,9&track='mp4_1'

Davy: the above URI is a valid working URI
... we implement the query parameter
... the new headers considered by the group are not yet implemented
... the plan is to implement this part and consider the hash version

<silvia> can it resolve fragments with # locally in the user agent?

<silvia> ok, so all # use in media fragments is still due to be implemented with NinSuna

<tmichel> looks like zakim is not fonctionning well. Will redial


<mhausenblas> no

<mhausenblas> Yves, maybe we should ask w3c admin for help?

<tmichel> I redialed the french number and I can hear you again ...

Raphael: can you say a word about the parsing of the fragment syntax?

Davy: not yet a full parser
... we are progressing on that
... implemented in JAVA so I could use Yves's parser

Raphael: can you say a word about the extraction of the sequence and track on server side?

Davy: yes, everything is indexed, so based on the index, we do a bytes range extraction

<silvia> do you support the query-based temporal fragment requests for both HTTP and RTSP?

Davy: we create then new mp4 and ogg headers for serving a new resource
... only copy of existing bytes ranges are involved

<conrad> davy, can you post an ogg url?

Davy: for the temporal based selection of sequences, we also support rtsp
... I'm working on a hash-based version for rtsp

<davy> http://schutz.elis.ugent.be:8080/DownloadServlet/fragf2f.ogg

<silvia> could a normal webpage interact with your server?

Raphael: I also think this is a VERY good work :-)

<silvia> i.e. could somebody else write a client to interact with your server, Davy?

Raphael: Implementation page http://www.w3.org/2008/WebVideo/Fragments/wiki/ImplementationExperiment

<davy> for the moment, only query based access is possible

Michael: it would be great to document the implementation issues

Davy: yes it is possible to write a client to interact with our server ... but to the extend of what we process
... in the future, we plan to release an API
... this API could be used to develop other front ends
... such as requesting what are the existing tracks available before requesting them

Silvia: very good, it is a bit like the URI Template suggested by Yves, that is, asking a server what it is capable to do

Conrad: I think uri templates are great for this

Silvia: I think it is very cool and we should put together a web page for advertising
... as a proof of interoperability

Michael: I have also an action to investigate how javascript can do that
... it would be cool also to test existing implementations such as YouTube

Silvia: the problem is that YouTube has not the same syntax

Michael: agree, but will have a look at that, also to improve the test suite

Silvia: Davy, is your server publicly accessible?

Davy; yes

<davy> http://www.w3.org/2008/WebVideo/Fragments/wiki/ImplementationExperiment#MP4Box_as_media_slicing_tool_for_Media_Fragment_Web_servers

Davy: now, talking about the MP4 box, http://www.w3.org/2008/WebVideo/Fragments/wiki/ImplementationExperiment#MP4Box_as_media_slicing_tool_for_Media_Fragment_Web_servers
... this is a tool useful for Yves
... the tool does not do any transcoding

<davy> fragf2f.mp4#t=3,10&track='1'

Davy: but can be used to extract tracks and temporal sequence

<mhausenblas> Michael: btw, this is the -> http://tools.ietf.org/html/draft-gregorio-uritemplate-03 current draft of URI templates

Davy: fragf2f.mp4#t=3,10&track='1' will do the extraction

Raphael: who is developing MP4box ?

Davy: this is an open source project
... targeted at providing implementations related to MP4
... very handy for MP4 files
... handy for us, since it does NOT any kind of transcoding
... we have contacts with this project but do not contribute to them directly

Raphael: is this similar to oggchop ?

<conrad> http://www.xiph.org/oggz/

<silvia> oggzchop

Raphael: so good news, we have now libraries for mp4 and ogg files for doing tracks extraction and temporal sequences extraction
... any comment?


Silvia: about HTML5 implementation http://new.annodex.net/~silvia/itext/mediafrag.html

<silvia> http://new.annodex.net/~silvia/itext/mediafrag.html

Silvia: I'm thinking now of changing server and use Davy's server
... it would be cool to see interoperability
... it uses the existing capabilities of the browser
... see my blog post for the technical details
... Firefox has now implemented remote seeking on ogg file
... this is not the same thing that when we talk about seeking with ?
... Firefox makes a good guess of the correct bytes range to address
... this way, we can simulate the behavior of the hash, just using the capabilities of the web browser
... this is the purpose of this demo

Michael: great thing, are you willing to create a module for jquery?
... I would be interested

Silvia: I'm not sure what would go in this pluggin

Michael: I need to look at your code ... and see what can be packaged in a pluggin
... there are a lot of plugins for jquery out there
... it would be great for the outreach

Silvia: it is all available as Mozilla license, if you want to investigate
... I'm not sure I will have time to look at what needs to be done for packaging it in a plugin
... but feel free to do so
... it uses oggzchop
... it is dependent on firefox implementation
... I think Phillip from Opera was interested in implementing that too, it would be cool

<silvia> http://svn.annodex.net/itext/

<silvia> for source code

Michael: URL of the code ? use github or bitbucket?

<mhausenblas> Michael: another option would be Ubiquity command

<mhausenblas> ... see http://labs.mozilla.com/ubiquity/

Silvia: jquery is interesting, as Ubiquity, I just don't have time


<trackbot> ACTION-71 -- Michael Hausenblas to investigate whether he could have an implementation in Javascript that does the client-side media fragments parsing -- due 2009-10-14 -- OPEN

<trackbot> http://www.w3.org/2008/WebVideo/Fragments/tracker/actions/71

Michael: I have already my ACTION-71 ... I think I will dig into this and investigate the possibility of having a jquery plugin

Silvia: it might be possible that Safari and Chrome have also this functionality

Last implementation: Guillaume, about Gstreamer and the python-gst library

<Gui> can you hear me?


<Gui> alright

Guillaume: I look at Gstreamer and the python library
... it can be used as a command line, or through API in a programmatic way
... I will say what I manage to do and don't manage to do
... it seems that transcoding is always involved?

<silvia> ... when you create a gstreamer pipeline, I am trying to get the fragment information through to the time in the pipeline where the byte ranges can be extracted without decoding

Guillaume: the library interacts with the decoder, and locates the bytes ranges
... we can ask gstreamer to feed us the raw data

<silvia> ... however, gstreamer right now won't let me do it without decoding and re-encoding

Raphael: ok, but for example, how do you convert #t=10,20 into a gst.event_new_seek(...) ?

Guillaume: I don't have that yet
... I was investigating what is possible to do with gstreamer
... I wanted to know if gstreamer can give me back the bytes that correspond to this interval

Raphael: how do you want to make progress on that?

Guillaume: I post some questions, that need to be answered

The questions that must be further investigated are:

* Which GST elements can handle seek events?

* What unit formats (time ns (nano seconds), frames, bytes, percents, buffers) are supported by each GST elements?

* Can all encapsulation specific demuxers handle time and bytes?

* Can SEEK events be translated higher up in the chain into BYTES on the filesrc SOURCE? Then we could still decode the media, find the actual part of the stream required, make sure a filesrc or uridecodebin in random access can point to the fragment of the media we need, and SINK that MF into a filesink.

Until now I haven't been successful in implementing the GST SEEK events on a variety of media types ; neither directly in C or in Python) with gst.event_new_seek(..) or gst_element_seek(..).

Guillaume: who has experience with gstreamer?
... Jack ?

<silvia> Edward Hervey is the right person

Email ?

<silvia> he knows gstreamer inside out and because he implemented the pitivi editor has come across all the fragmentation issues

<conrad> http://blogs.gnome.org/edwardrv/

Silvia, can you provide his email in /me ?

<mhausenblas> Michael: also relevant is http://googlewebmastercentral.blogspot.com/2009/09/supporting-facebook-share-and-rdfa-for.html - promoting audiovisual content rather than consuming it in the first place


<trackbot> ACTION-90 -- Davy Van Deursen to provide a pointer to Yves to a lib he can use to slice media files -- due 2009-09-16 -- OPEN

<trackbot> http://www.w3.org/2008/WebVideo/Fragments/tracker/actions/90

close ACTION-90

<trackbot> ACTION-90 Provide a pointer to Yves to a lib he can use to slice media files closed

The MP4 box is the answer Yves :-)

<conrad> http://www.w3.org/2008/WebVideo/Fragments/wiki/images/9/92/Chop-sections.png

Raphael: there is also an ongoing action to update the grammar checker from Yves, as soon as the syntax evolves

great job guys

3. UA - Server communication and headers


<trackbot> ACTION-69 -- Conrad Parker to draw a representation of the general structure of a media resource, for streamable formats (H/H' + K + D1 + D2 + D3) -- due 2009-04-24 -- OPEN

<trackbot> http://www.w3.org/2008/WebVideo/Fragments/tracker/actions/69

close ACTION-69

<trackbot> ACTION-69 Draw a representation of the general structure of a media resource, for streamable formats (H/H' + K + D1 + D2 + D3) closed

The diagram is at http://www.w3.org/2008/WebVideo/Fragments/wiki/images/9/92/Chop-sections.png

Conrad: explaining the diagram
... the header packets can change, like the duration

Raphael: re-ordering of the packets ?

Conrad: this is coding-format dependent, in ogg, strict rules that the packets appear in order of time

Silvia: the arrows are not about re-ordering, but about pointing to the last "i-frame"

Raphael: will such a diagram help to explain what is going on in our document?

Conrad: this diagram or a similar one might help yes

<silvia> it also explains well what I tried to explain yesterday with the retrieval possibilities of a #t=12 request, where the result would start at t=11.85

Michael: we need to complement it with timestamps, and quantitative concrete values

Conrad: yes

raphael: can you put the source and png in our cvs ?

<scribe> ACTION: Yves to provide CVS access to conrad [recorded in http://www.w3.org/2009/09/18-mediafrag-minutes.html#action01]

<trackbot> Created ACTION-111 - Provide CVS access to conrad [on Yves Lafon - due 2009-09-25].

<tmichel> I can provide a CVS access to conrad

please go ahead then Thierry

Raphael: headers discussion ...
... I feel we have various proposals on the table
... regarding the use of the Range headers, or new custom headers

<conrad> my proposals are for these 3 sets of headers: http://www.w3.org/2008/WebVideo/Fragments/wiki/UA_Server_HTTP_Communication#Conrad.27s_proposal

Raphael: what is documented in the current document and what Conrad has proposed

<silvia> I am not even sure the proposals that we have are alternatives

<silvia> I think they may be complimentary for the query and the fragment case

<conrad> time ranges has already been discussed yesterday

<silvia> somebody definitely needs to compose it all together

Raphael: I volunteer to provide a digest ... anyone else to give it a try ?

<scribe> ACTION: troncy to propose a digest of Conrad and current's proposal regarding the use of existing and custom headers for the communication UA server [recorded in http://www.w3.org/2009/09/18-mediafrag-minutes.html#action02]

<trackbot> Created ACTION-112 - Propose a digest of Conrad and current's proposal regarding the use of existing and custom headers for the communication UA server [on Raphaƫl Troncy - due 2009-09-25].

4. Test Cases

<mhausenblas> http://www.w3.org/2006/07/SWD/RDFa/testsuite/xhtml1-testcases/rdfa-xhtml1-test-manifest.rdf

Michael: quick update ... I know it is actually quite painful to create the final test cases
... i wanted to automatized that

<mhausenblas> http://rdfa.digitalbazaar.com/rdfa-test-harness/

Michael: because it is not funny to generate the rdf files _manually_ from the wiki
... Corrib is my solution: http://ld2sd.deri.org/corrib/
... if you click on the dashboard, you can see the tags and set some filters on the tags
... first criteria would be the dimensions considered, and then the second criteria, the nature of the response (defined, undefined, etc.)
... the filter works as string match on the whole table currently


<trackbot> ACTION-108 -- Michael Hausenblas to add the missing test cases in corrib -- due 2009-09-16 -- OPEN

<trackbot> http://www.w3.org/2008/WebVideo/Fragments/tracker/actions/108


<trackbot> ACTION-93 -- Michael Hausenblas to revisit the TC and see which are effected by the temporal-optional-comma-decision -- due 2009-07-29 -- OPEN

<trackbot> http://www.w3.org/2008/WebVideo/Fragments/tracker/actions/93

Raphael: at least identify the TC impacted ... this is the action-93

Michael: any questions ? is this what you expect to have ?
... I will of course use it, I'm interested in feedback, what is missing ?

<silvia> I think we need to get the existing test cases into it first and then we can see what we are still missing

<silvia> I think it looks very promising

<mhausenblas> thanks ;)

Michael: there is also a atom feed if you want to subscribe :-)
... corrib works on product, so it can deal with the various version of MF ... 1st draft, 2nd draft, etc.

Raphael: amazing feature :-)

<jackjansen> Hi everyone! (count on me being flakey: busy here)

4. Next steps

Accessible media workshop: http://lists.w3.org/Archives/Public/public-media-fragment/2009Sep/0093.html

Raphael: who will make TPAC ?

TPAC is in Santa Clara, CA, 2-6/11

<conrad> i can't be there then

Erik will go to TPAC

Davy: I might go there too if necessary

Raphael: should we prepare something for the attendees in order to discuss with the groups there ?
... we will have a 2nd WD published

<silvia> it would be good to discuss in HTML5 WG

<silvia> I will probably be at TPAC

Raphael: target is to publish a 2nd WD at the end of the month
... we have a number of actions in the tracker
... how much more planning can we do

Michael: your action is important regarding the syntax / header part
... the other actions are clarification

<silvia> If within the next 2-3 weeks we can get everything watertight for temporal media fragments, I think that would be great progress

<conrad> yay

<mhausenblas> +1


<davy> +1

Motto: work hard to make it

Question: next meeting ?

<silvia> keep going with the weekly meetings

<silvia> see how far we get by the end of the year

<silvia> Raphael: has a big concern about the turnout for every weekly meeting

<conrad> how about a vote page with times like we did for this f2f time?

<silvia> ... is it a problem of the hour at which it is taking place?

Proposal for changing telecon time:

Wednesday, 09:00 AM TC

<Gui> ok

3 hours earlier Silvia


<silvia> ok - should work for me

Raphael: I meant, 09:00 AM UTC

<Gui> http://www.timeanddate.com/worldclock/fixedtime.html?day=17&month=09&year=2009&hour=09&min=0&sec=0&p1=0

<mhausenblas> +1

<tmichel> should check if Yves can make it


Need to check with Yves, and Jack

<conrad> +1

<tmichel> +1

<mhausenblas> +!

<Gui> +1

<davy> +1

I will ask Yves and Jack

5. AOB

People wants to party

We need to publish in 3 weeks time max

<franck> Thanks, bye!


<silvia> bye! and thanks!

Summary of Action Items

[NEW] ACTION: troncy to propose a digest of Conrad and current's proposal regarding the use of existing and custom headers for the communication UA server [recorded in http://www.w3.org/2009/09/18-mediafrag-minutes.html#action02]
[NEW] ACTION: Yves to provide CVS access to conrad [recorded in http://www.w3.org/2009/09/18-mediafrag-minutes.html#action01]
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.135 (CVS log)
$Date: 2009/09/18 09:49:36 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.135  of Date: 2009/03/02 03:52:20  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Succeeded: s/targetted/targeted/
Succeeded: s/Harvey/Hervey/
Succeeded: s/query/request/
Succeeded: s/identified/identify/
Found Scribe: raphael
Inferring ScribeNick: raphael
Found ScribeNick: raphael
Default Present: raphael, mhausenblas, +0329331aaaa, davy, Gui, conrad, tmichel, franck, +61.2.800.5.aabb, silvia, +
Present: Raphael Michael Guillaume Davy Silvia Conrad Yves tmichel franck
Regrets: Erik
Agenda: http://www.w3.org/2008/WebVideo/Fragments/wiki/FourthF2FAgenda
Found Date: 18 Sep 2009
Guessing minutes URL: http://www.w3.org/2009/09/18-mediafrag-minutes.html
People with action items: troncy yves

[End of scribe.perl diagnostic output]