Implementing the Media
         Fragments URI
          Specification
Raphaël Troncy <raphael.troncy@eurecom.fr>,
Davy Van...
Use Case
 Aidem received on her Facebook
  wall a status message containing a
  Media Fragment URI
    Use a ‘#’ !
    ...
Media Fragments URI

                                                                      Provide URI-based
             ...
Requirements
 r01: Temporal fragments:
    a clipping along the time dimension from a start to an end time that
     are...
Side Conditions
 Restrict to what the container format (encapsulating the
  compressed media content) can express (and ex...
Media Fragments processing

 General principle:
   Smart UA will strip out the fragment definition and
    encode it int...
Recipe 1: UA mapped byte ranges
 The User Agent knows how to map a custom unit into bytes and
  sends a normal Range requ...
Recipe 1: UA mapped byte ranges




  29/04/2010 -   Implementing the Media Fragments URI Specification - WWW 2010, Raleig...
Recipe 2: Server mapped byte ranges
 The UA sends a Range request expressed in a custom unit (e.g.
  seconds), the server...
Recipe 2: Server mapped byte ranges




  29/04/2010 -   Implementing the Media Fragments URI Specification - WWW 2010, Ra...
Recipe 3: Proxy cacheable variant
 The UA sends a Range request expressed in a custom unit (e.g.
  seconds), the server a...
Recipe 3: Proxy cacheable variant




  29/04/2010 -   Implementing the Media Fragments URI Specification - WWW 2010, Rale...
Recipe 4: Serving playable resources
 The UA sends a Range request expressed in a custom unit (e.g.
  seconds), the serve...
Recipe 4: Serving playable resources




  29/04/2010 -   Implementing the Media Fragments URI Specification - WWW 2010, R...
Implementation
 Media Fragment server (4 recipes supported):
    Ninsuna: http://ninsuna.elis.ugent.be/MediaFragmentsSer...
Issues
 Communicating with the media player
   HTML5 browser: patch submitted for Firefox
   Flash: need to build a cus...
Upcoming SlideShare
Loading in...5
×

Implementing the Media Fragments URI Specification

63,566

Published on

Implementing the Media Fragments URI Specification - Talk given at the Developer's Track of the 19th World Wide Web Conference (WWW'2010), Raleigh (NC), USA, April 29th 2010

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
63,566
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Implementing the Media Fragments URI Specification

  1. 1. Implementing the Media Fragments URI Specification Raphaël Troncy <raphael.troncy@eurecom.fr>, Davy Van Deursen, Erik Mannens Silvia Pfeiffer, Yves Lafon
  2. 2. Use Case  Aidem received on her Facebook wall a status message containing a Media Fragment URI  Use a ‘#’ !  Highlight a video sequence  Highlight a region to pay attention to 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA -2
  3. 3. Media Fragments URI Provide URI-based mechanisms for uniquely identifying fragments for media objects on the Web, such as video, audio, and images. Photo credit: Robert Freund 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA -3
  4. 4. Requirements  r01: Temporal fragments:  a clipping along the time dimension from a start to an end time that are within the duration of the media resource  r02: Spatial fragments:  a clipping of an image region, only consider rectangular regions  r03: Track fragments:  a track as exposed by a container format of the media resource  r04: Named fragments:  a media fragment - either a track, a time section, or a spatial region - that has been given a name through some sort of annotation mechanism 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA -4
  5. 5. Side Conditions  Restrict to what the container format (encapsulating the compressed media content) can express (and expose), thus no transcoding  Protocol covered: HTTP(S), FILE, RTSP, RTMP http://www.w3.org/TR/media-frags-reqs/ 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA -5
  6. 6. Media Fragments processing  General principle:  Smart UA will strip out the fragment definition and encode it into custom http headers ...  (Media) Servers will handle the request, slice the media content and serve just the fragment while old ones will serve the whole resource  Four recipes proposed 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA -6
  7. 7. Recipe 1: UA mapped byte ranges  The User Agent knows how to map a custom unit into bytes and sends a normal Range request expressed in bytes 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA -7
  8. 8. Recipe 1: UA mapped byte ranges 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA -8
  9. 9. Recipe 2: Server mapped byte ranges  The UA sends a Range request expressed in a custom unit (e.g. seconds), the server answers directly with a 206 Partial Content and indicates the mapping between bytes and the custom unit 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA -9
  10. 10. Recipe 2: Server mapped byte ranges 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA - 10
  11. 11. Recipe 3: Proxy cacheable variant  The UA sends a Range request expressed in a custom unit (e.g. seconds), the server answers first with just a Head and the mapping between the custom unit and bytes so that the UA issues another normal Range request expressed this time in bytes making the answer cacheable. 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA - 11
  12. 12. Recipe 3: Proxy cacheable variant 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA - 12
  13. 13. Recipe 4: Serving playable resources  The UA sends a Range request expressed in a custom unit (e.g. seconds), the server provides a multipart message body reply (multipart/byte-ranges) containing not only the bytes corresponding to requested media fragment but also the media header data making the resource playable. 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA - 13
  14. 14. Recipe 4: Serving playable resources 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA - 14
  15. 15. Implementation  Media Fragment server (4 recipes supported):  Ninsuna: http://ninsuna.elis.ugent.be/MediaFragmentsServer  Media Fragment user agents:  Ninsuna Flash player: http://ninsuna.elis.ugent.be/MediaFragmentsPlayer Supports recipe 1  Silvia Pfeiffer's experiment with HTML5 + JS: http://annodex.net/~silvia/itext/mediafrag.html Supports recipe 1 (for .ogg files and time dimension)  Firefox pluggin development in order to support all recipes (HTML5 + XMLHttpRequest) 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA - 15
  16. 16. Issues  Communicating with the media player  HTML5 browser: patch submitted for Firefox  Flash: need to build a custom player  Media Fragments rendering  Spatial dimension?  Names/Tracks discovery  Media Multitrack (JS) API: http://www.w3.org/WAI/PF/HTML/wiki/Media_MultitrackAPI  Get involved? http://www.w3.org/TR/media-frags/ http://lists.w3.org/Archives/Public/public-media-fragment/ 29/04/2010 - Implementing the Media Fragments URI Specification - WWW 2010, Raleigh, USA - 16

×