Integrating media playback on embedded devices. DTG HTML5 workshop, London, 3 rd July 2015.

Slides:



Advertisements
Similar presentations
W3C Media Pipeline TF Requirements November 1-4, 2011.
Advertisements

W3C Media Pipeline TF Requirements November 1-4, 2011.
W3C Media Pipeline TF Requirements November 1-4, 2011.
Russell Taylor. Sampling Sampled a file from an on-line/on-board source Edited that file by Deleting a section of the original file Added a Fade-in section.
What is Multimedia ? Multi ( Multiple ) and Media ! So…. Information in multiple formats, including text, images, audio, video and animation :) It makes.
Lesson 15 Presentation Programs.
W3C Web & TV Workshop 2014 UPnP, W3C and TV W3C Web & TV Workshop March 2014.
BrightAuthor v3.7 software and BrightSign XD v4.7 firmware
Embedded Streaming Media with GStreamer and BeagleBoard ESC-228 Presented by Santiago Nunez santiago.nunez (at) ridgerun.com.
HTML5 Media API.
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 17: Video, Audio, and Other MultiMedia.
Section 9.1 Identify multimedia design guidelines Identify sources of multimedia files Explain the ethical use of multimedia files Describe multimedia.
Will Law | Chief Media Architect | Akamai Optimizing the Black Box of HTML.
HTML 5 and CSS 3, Illustrated Complete Unit K: Incorporating Video and Audio.
Neal Stublen Pre-HTML5 Solutions  Audio and video were embedded in pages using plug-ins Apple Quicktime Microsoft Silverlight Adobe.
UNIT K: INCORPORATING VIDEO AND AUDIO 1 Encoding: the process of transforming moving image and/or sound into a digital file. Each encoding method known.
Microsoft Office Illustrated Fundamentals Unit N: Polishing and Running a Presentation.
White Master Replace with a graphic 5.5” Tall & 4.3” Wide © 2010 Adobe Systems Incorporated. All Rights Reserved. Video Distribution Philippe Degery DMO.
The E/R model, triggers, HTML5 Reminder … next Tuesday is the first exam. 1.
School of Computer Science & Information Technology G6DPMM - Lecture 18 Synchronized Multimedia Integration Language (SMIL)
CORE 2: Information systems and Databases HYPERTEXT/ HYPERMEDIA.
 What is Windows Azure Media Services  Reach Story w/ SDKs and Player Frameworks  Media applications on Windows 8  Web: a Flash player for Smooth.
HTML Tags. Objectives Know the commonly used HTML tags Create a simple webpage using the HTML tags that will be discussed.
Section 9.1 Section 9.2 YOU WILL LEARN TO…
Session: 11. © Aptech Ltd. 2HTML5 Audio and Video / Session 11  Describe the need for multimedia in HTML5  List the supported media types in HTML5 
3dtv.at DV/HDV Tape Drive Synchronization Stereoscopic Displays and Applications Conference 29 th – 31 th January 2007 San Jose, United States.
Chapter 11 Adding Media and Interactivity. Flash is a software program that allows you to create low-bandwidth, high-quality animations and interactive.
© 2011 Delmar, Cengage Learning Chapter 11 Adding Media and Interactivity with Flash and Spry.
CHAPTER 18 INTEGRATING AUDIO AND VIDEO. LEARNING OBJECTIVES How the HTML 5 and tag pair can be used to include a video file within a webpage How video.
And Mobile Web Browsers
1 Skip Cave Chief Scientist, Intervoice Inc. Multimodal Framework Proposal.
…Dedicated Micros has introduced a new Hybrid DVR….
Building the User Interface by Using HTML5: Text, Graphics, and Media Lesson 2.
Speech Recognition ECE5526 Wilson Burgos. Outline Introduction Objective Existing Solutions Implementation Test and Result Conclusion.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
U.01 General File Upload As a file uploader, I want to be able to upload files to Media Vault so that I can safely store and access these files. Acceptance.
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
CSCE Chapter 5 (Links, Images, & Multimedia) CSCE General Applications Programming Benito Mendoza 1 By Benito Mendoza Department.
Your Metro style app, video and audio, Part 1
MULTIMEDIA Multimedia Industries WJEC GCSE ICT. STARTER  Multimedia is the combination of different elements:  Multimedia is used in many different.
Introduction to Flash Animation CS 318. Topics Introduction to Flash and animation The Flash development environment Creating Flash animations  Layers.
Provides a rich set of media features in easy-to-use APIs Allows you to build cutting-edge apps with advanced media functionality taking full advantage.
Sony Pictures Confidential Watermarking in AACS. Sony Pictures Confidential SPE Forensic Watermarking Goals Goals: – Identify the device that was compromised.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
HTML5 Audio and Video. Slide 2 History Playing audio and video used to be something of a novelty You would embed a control (with the element) into your.
Copyright © 2003 Pearson Education, Inc. Chapter 6 – Slide 1 by Michael Kay The Web Wizard’s Guide to Flash.
HTML 5. Introduction In modern browsers, adding a video to your page is as easy as adding an image. No longer do you need to deal with special plug-ins.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
Introducing the Silverlight Rough Cut Editor (RCE) An Olympics case study Jason Suess Principle Technical Evangelist Media Delivery Scenarios.
See it. Click it. Get it. INTERACTIVE VIDEO “Where Psychology Meets Technology” THE FUTURE IS NOW.
ON-AIR play ¬ ast Features ON-AIR Systems. ON-AIR play ¬ ast … not just a playout server It’s a… Multi Format Playout Server Live News Production Control.
HTML 5 The Future of Web Development. What is HTML5? “HTML5 is a specification of how the web’s core language, HTML, should be formatted and utilized.
Processing Hardware, Software. Hardware Hardware Processing is performed by a computer ’ s central processing unit and is measured by the clock speed.
2 If aliens came to this solar system and observed humans over the last several years, what would they think is the most significant benefits of the.
Chapter 11 Adding Media and Interactivity. Chapter 11 Lessons Introduction 1.Add and modify Flash objects 2.Add rollover images 3.Add behaviors 4.Add.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Learning Aim B.  In this section, you will consider the resources necessary for designing your website.  You will also think about any constraints that.
Chapter 8 Adding Multimedia Content to Web Pages HTML5 & CSS 7 th Edition.
CHAPTER 8 Multimedia 1. Using Multimedia ❖ Multimedia: the combination of text, sound, and video to express an idea or convey a message. ❖ Podcasts: a.
XHTML. What Is XHTML? XHTML stands for EXtensible HyperText Markup Language XHTML is almost identical to HTML XHTML is stricter than HTML XHTML is HTML.
Chapter 17 The Need for HTML 5.
Advanced HTML Tags:.
Viewing Station Applications
Section 9.1 Section 9.2 Identify multimedia design guidelines
Chapter 9 HTML 5 Video and Audio
MPEG-4 Binary Information for Scenes (BIFS)
Chapter 4: Scalable Vector Graphics (SVG)
Client-Side Internet and Web Programming
Presenting with Prezi.com: Using Mind Maps for Virtual Lectures
POV-Clients Sync.
Presentation transcript:

Integrating media playback on embedded devices. DTG HTML5 workshop, London, 3 rd July 2015

Who am I? uk.linkedin.com/in/asrashley github.com/asrashley

Page composition

The user sees…

The browser is compositing…

The hardware is compositing…

Typical QtWebKit Media Pipeline

Our Device Media Pipeline

One decoder === one video element Or does it?

Mapping to HTML media elements Direct mapping between elements and hardware resources is problematic Removing a video element from the DOM doesn’t instantly clean up its resources Application might want to preload a video while another is playing

Removing a video element $(vidElt).off(); /* unbind all event listeners */ vidElt.pause(); vidElt.src=''; /* remove the source */ try { delete vidElt.src; } catch(e){ } vidElt.load(); /* force source change */ /* remove from DOM */ $(vidElt).remove();

Back-to-back videos Use cases –Pre-roll branding idents –Advert insertion –Seamless start of next episode Options –Removing one video before loading next –Changing source URL of video element –Media Source Extension –Multiple video elements

HbbTV 2.0 multiple video elements The terminal shall support at least one HTML5 media element that is playing together with at least two HTML5 media elements in a paused state The terminal may use hardware audio and video decoders to decode and render and HTML5 media elements.

Multiple video elements, single decoder Main video HTML application Advert h/w decoder h/w

Video resizing Not all platforms support moving / resizing video elements There might be hardware limitations on accuracy –Granularity of 4, 8, 16 pixels Probably a good idea to avoid animated moves or resizes –Sync between video and graphics planes might not be perfect –Might trip over race conditions in underlying implementation

Position reporting Ad insertion needs accurate reporting of playback position –To find the correct point to pause main content HTML position reporting needs to match position of video on screen –From hardware presentation timestamp Needs to work for live streams –Where timecodes don’t start at zero, but HTML5 requires that they do

Seek For live streams, need to accurately report seekable range –Needs support from HLS/DASH/PDL implementation HTML5 applications can be quite challenging in their use of trick play –Overlapping seeks –Multiple pause/play transitions during seek –Seek to end while paused –Difficult to create test harnesses

Other media events stalled –Binding to FIFO empty signal from hardware error –Network errors –Codec errors –DRM errors Metadata events –loadedmetadata –canplay –durationchange –resize

Recommendations Have only one media element in the playing state –There might be only one hardware decoder Avoid using opacity on a video element –Graphics under video might not be supported Avoid video inside canvas elements –Platform might not allow access to decoded video Clean up after yourself –Media elements consume scarce resources Keep it simple when moving/resizing video elements Try to avoid lots of state changes during seek –If possible, store up the changes until the seeked event