WebM Project


Published on

Published in: Education
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

WebM Project

  1. 1. WebM Background & Technical Review
  2. 2. Content • WebM Overview • WebM & HTML5 Video Background • WebM Components ▫ MKV ▫ VP8
  3. 3. WebM Overview • Google Sponsored Project • Aims to create: Open, Royalty free media coding formats for the open web • Defines ▫ File Format / Container ▫ Audio CODEC ▫ Video CODEC
  4. 4. Fragmented Web - Description • Multimedia coding on the web is fragmented • Many video codecs: ▫ DIVX, XVID, H.264 ▫ WMV, VC-1, VP6 • Many containers (File Format) ▫ AVI, MKV ▫ MPEG4 FF, 3GPP • Many delivery methods ▫ RTSP/RTP Streaming, Progressive download ▫ Live HTTP, Smooth Streaming
  5. 5. Fragmented Web - Challenges • Proprietary Plug-ins - like Flash • Vertical market control on media distribution – like Apple • Media Distributers need to support many: ▫ Codecs ▫ Containers ▫ Delivery Formats • in order to support all device and audiences
  6. 6. XIPH • XIPH.org is a non profit organization which aims to create free multimedia coding standards • XIPH defined ▫ Vorbis – Audio codec ▫ Ogg – a free file format media container ▫ Speex – voice codec ▫ Theora – Video Codec • HTML5 Video first based its video codec and container standard on XIPH Standards
  7. 7. HTML5 • Drafts by WHAT WG ▫ Web Hypertext Application Technologies • Merging into W3C specifications • “One of HTML5’s goals is to move the Web away from proprietary technologies such as Flash, Silverlight, and JavaFX, says Ian Hickson, co-editor of the HTML5 specification.” —Paul Krill, reporting for InfoWorld, June 16, 2009 • Browser support
  8. 8. HTML5 Video • HTML5 video first defined XIPH formats as the base HTML5 video: “User agents should support Theora video and Vorbis audio, as well as the Ogg container format.” December 10, 2007, the HTML5 specification • This was later replaced by a statement which basically stated: we cant make up our mind, use whatever you like.
  9. 9. H.264 vs Theora • Theora is a royalty free code but has lower quality than H.264 • H.264 requires royalties for IP owners but has better quality • Some browser used H.264 video some stayed with Theora. Source: Wikipedia • HTML5 video fragments Browser Ogg Theora H.264 the web instead of unit it Internet NO 9.0 Explorer Mozilla 3.5 No Firefox Google 3.0 3.0 Chrome Safari No 3.1 Opera 10.50
  10. 10. WebM • WebM fills the gap left by HTML5 standardization. • Defines: video, audio and container formats • Solves the royalty free Theora vs the superior quality H.264 by providing a royalty free video codec with the same (or better) video quality as H.264 Source: On2
  11. 11. MKV FILE FORMAT XML Based File-Format
  12. 12. MKV - File Format • Container file format for videos, audio tracks, pictures and subtitles all in one file. • Announced on Dec. 2002 by Steve Lhomme. • Based on Binary XML format called EBML (Extensible Binary Meta Language) • Complete Open-Standard format. (Free for personal use). • Source is licensed under GNU L-GPL.
  13. 13. MKV - Specifications • Can contain chapter entries of video streams • Allows fast in-file seeking. • Metadata tags are fully supported. • Multiple streams container in a single file. • Modular – Can be expanded to company special needs. • Can be streamed over HTTP, FTP, etc.
  14. 14. MKV Support software & hardware • Players: ▫ All Player, BS.Player, DivX Player, Gstreamer-Based players, VLC media, xine, Zoom Player, Mplayer, Media Player Classic, ShowTime, Media Player Classic and many more… • Media Centers: ▫ Boxee, DivX connected, Media Portal, PS3 Media Server, Moovida, XBMC etc. • Blu-Ray Players: ▫ Samsung, LG and Oppo. • Mobile Players: ▫ Archos 5 android device, Cowon A3 and O2.
  15. 15. MKV - EBML in details • A binary format for representing data in XML- like format. • Using specific XML tags to define stream properties and data. • MKV conforms to the rules of EBML by defining a set of tags. ▫ Segment , Info, Seek, Block, Slices etc. • Uses 3 Lacing mechanisms for shortening small data block (usually frames). ▫ Uses: Xiph, EBML or fixed-sized lacing.
  16. 16. MKV – Simple representation Type Description Header Version info, EBML type ( matroska in our case ). Meta Seek Optional, Allows fast seeking of other level 1 elements in file. Information Segment File information - title, unique file ID, part number, next file Information ID. Track Basic information about the track – resolution, sample rate, codec info. Chapters Predefines seek point in media. Clusters Video and audio frames for each track Cueing Data Stores cue points for each track. Allows fast in track seeking. Attachment Any other file relates to this. ( subtitles, Album covers, etc… ) Tagging Tags that relates to the file and for each track (similar to MP3 ID3 tags).
  17. 17. MKV – Streaming • Matroska supports two types of streaming. • File Access ▫ Used for reading file locally or from remote web server. ▫ Prone to reading and seeking errors. ▫ Causes buffering issues on slow servers. • Live Streaming ▫ Usually over HTTP or other TCP based protocol. ▫ Special streaming structure – no Meta seek, Cues, Chapters or attachments are allowed.
  19. 19. VP8 Features • Loop Filter • Golden Frames • Multi-Core support • Decode Efficiency • Low Latency
  20. 20. Adaptive Loop Filter • Improved Loop filter provides better quality & preformance in comparison to H.264 Source: On2
  21. 21. Golden Frames • Golden frames enables better decoding of background which is used for prediction in later frames Source: On2
  22. 22. Decoding efficiency • CABAC is an H.264 feature which improves coding efficiency but consumes many CPU cycles • VP8 has better entropy coding than H.264, this leads to relatively lower CPU consumption under the same conditions • Decoding efficiency is important for smooth operation and long battery life in netbooks and mobile devices Source: On2
  23. 23. Contact • For information, lectures and development project request, contact: Yossi Cohen info@dsp-ip.com +972.9.8850956