Will Law | Chief Media Architect | Akamai Optimizing the Black Box of HTML.

Slides:



Advertisements
Similar presentations
BrightAuthor v3.7 software and BrightSign XD v4.7 firmware
Advertisements

HTML5 ETDs Edward A. Fox, Sung Hee Park, Nicholas Lynberg, Jesse Racer, Phil McElmurray Digital Library Research Laboratory Virginia Tech ETD 2010, June.
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 17: Video, Audio, and Other MultiMedia.
The Client-Server Model for the Web 1. A Web Client (usually in the form of a web browser) makes an HTTP request to a specific web server. 2. The Web Server.
Saamer Akhshabi, Constantine Dovrolis Georgia Institute of Technology An Experimental Evaluation of Rate Adaptation Algorithms in Adaptive Video Streaming.
HTML 5 and CSS 3, Illustrated Complete Unit K: Incorporating Video and Audio.
Confused, Timid, and Unstable: Picking a Video Streaming Rate is Hard Published in 2012 ACM’s Internet Measurement Conference (IMC) Five students from.
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.
Video, audio, embed, iframe, HTML Form
Windows Azure 4/15/2017 Building media streaming apps and sites without plug-ins using MPEG-DASH Daniel Schneider Senior Lead Program Manager, Microsoft.
Suphakit Awiphan, Takeshi Muto, Yu Wang, Zhou Su, Jiro Katto
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
Video Streaming in Flash CSCI 4220 – Network Programming Kacper Harabasz.
Tutorial 7 Working with Multimedia. XP Objectives Explore various multimedia applications on the Web Learn about sound file formats and properties Embed.
 What is Windows Azure Media Services  Reach Story w/ SDKs and Player Frameworks  Media applications on Windows  Monetize your content  Road to.
Mingfei Yan Program manager Windows Azure Media Services.
 What is Windows Azure Media Services  Reach Story w/ SDKs and Player Frameworks  Media applications on Windows 8  Web: a Flash player for Smooth.
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
Chapter Objectives Explain Web page multimedia issues
Paul Trani Adobe Certified Instructor/Expert Resources:
Audio and Video on the Web Sec 5-12 Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
Session: 11. © Aptech Ltd. 2HTML5 Audio and Video / Session 11  Describe the need for multimedia in HTML5  List the supported media types in HTML5 
Chapter 11 Adding Media and Interactivity. Flash is a software program that allows you to create low-bandwidth, high-quality animations and interactive.
Using Multimedia on the Web
© 2011 Delmar, Cengage Learning Chapter 11 Adding Media and Interactivity with Flash and Spry.
Building video application for windows 8 with Windows Azure Media Services Mingfei Yan Program Manager Microsoft Corporation WCL332.
Video on the Web. The Evolution of web video formats… WebM (Supported by Google) Ogg (Supported by Theora) Mp4 (h264 video encoding) WebM (Supported by.
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.
Using HTML 5.  HTML 5 uses a standard method to embed audio into Web pages.  Prior to HTML 5, browser plug-ins or separate applications such as Windows.
APP205 Key technologies for building great video experience on Windows 8.
Computer Concepts 2014 Chapter 7 The Web and .
Introduction to Silverlight. Slide 2 What is Silverlight? It’s part of a Microsoft Web platform called Rich Internet Applications (RIA) There is a service.
 Please write (legibly) the name you wish me to call you on the name card 
2.02G Publishing Animated Videos 2.02 Develop Computer Animations.
Chapter 13-Tools for the World Wide Web. Overview Web servers. Web browsers. Web page makers and site builders. Plug-ins and delivery vehicles. Beyond.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
Motif 2.0 Summary Motif is built on the strength on Macromedia and Double Click. The heart of Motif is the Motif Ad Kit – let you create preview and publish.
Streaming Media A technique for transferring data on the Internet so it can be processed as a steady and continuous stream.
Session: 1. © Aptech Ltd. 2Introduction to the Web / Session 1  Explain the evolution of HTML  Explain the page structure used by HTML  List the drawbacks.
 What is Windows Azure Media Services  Architecture and Features  SDK and REST API.
The MPEG-DASH Standard for Multimedia Streaming Over the Internet Chih-Hsiang Chou Advisor: Prof Dr. Ho-Ting Wu Department of Computer Science and Information.
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.
HTML 5 Tutorial Chapter 3 Video. Video HTML 5.0 provides a standard for showing video. Using the element we can easily embed video within our web page.
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.
Using RSS Feeds for Distributing Videos Dr. Rick Jerz St. Ambrose University Davenport, Iowa 1.
Fs Streaming Media a presentation by Florian Seidel.
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.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
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.
Πολυμεσικό Υλικό στο Internet: Συγχρονισμός, Επεξεργασία και Διακίνηση Διακίνηση Video με χρήση του HTTP 17/12/2015 Β. Μάγκλαρης Μ. Γραμματικού
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.
CHAPTER 8 Multimedia 1. Using Multimedia ❖ Multimedia: the combination of text, sound, and video to express an idea or convey a message. ❖ Podcasts: a.
1 Using jQuery JavaScript & jQuery the missing manual (Second Edition)
Streaming Video without Plugins The future of online media Jeff Tapper Digital
Web Design, 5 th Edition 6 Multimedia and Interactivity Elements.
Flix Premiere Web App Product Development Architecture Prepared by Alexander Adu-Sarkodie Flix Premiere Confidential.
Advanced HTML Tags:.
Enterprise Town Hall solution
Embedding Media into Web Pages
Chapter 4: HTML5 Media - <video> & <audio>
BTEC NCF Dip in Comp - Unit 15 Website Development Lesson 05 – Website Performance Mr C Johnston.
Introduction to Silverlight
Playing Audio (Part 2).
Essentials of Web Pages
Playing Audio (Part 1).
Playing Video (Part 1).
Gigabit measurements – quality, not (just) quantity
Performance and Scalability Issues of Multimedia Digital Library
Presentation transcript:

Will Law | Chief Media Architect | Akamai Optimizing the Black Box of HTML

The video tag seems like the simple solution to our online video problems

Let’s take a typical site

and dress it up by adding some video tations/velocitynyc13/preloadnone/oreilly -preload-none.html

Problem #1: Embedding a video object on page load nearly always causes additional download penalty.  Add a poster image to the page, in the same size and location as the video  When the user clicks it, hide the poster and dynamically add a video element in its place, with autoplay enabled  If we perform this in the same function that handles the image click then we can autostart the video under iOS and Android.  Solution: defer instantiation of the object until we need it How:

Problem #2: progressive videos continue downloading when you pause. Solution: remove the video object source on pause. How:  Instantiate the element when the user wants the video  When they click pause, store the playhead position, set the src to “”, remove the element.  Add the element back to the page with the correct src  When they hit play, issue a seek() to the stored position. 

The myth of SBR  Any single bitrate you choose for a video is by definition the wrong video for 99% of users. These users will rebuffer These have lower quality than they could sustain

Problem #3: a single bitrate is not optimal for all users. Solution: let’s select an appropriate bitrate before we start delivering the video. How:  When the users loads the page, estimate their throughput by timing the download of a small binary object  Select the appropriate source streams based on this bitrate estimate bitrate and then dynamically add that source to the video object. 

Problem #4: this timed download is wasteful if the user never watches the video. Solution: defer the bandwidth estimate until the user actually selects the video to watch.. How:  When the user selects the video, estimate their throughput by timing the download of a small binary object  Immediately select the appropriate source streams based on this bitrate estimate bitrate and then dynamically add that source to the video object and start playback 

Bandwidth is never constant  Even preselecting bitrates will lead to rebuffering problems as bandwidth fluctuates over the duration of the vide, especially for long form content  Ideally we would like to switch bitrates constantly to always give the user the highest quality they can sustain at any point in time. Buffering

Bandwidth is never constant  Even preselecting bitrates will lead to rebuffering problems as bandwidth fluctuates over the duration of the vide, especially for long form content  Ideally we would like to switch bitrates constantly to always give the user the highest quality they can sustain at any point in time. Buffering 500kbps 1000kbps 1500kbps Adaptive delivery

Adaptive media delivery is the notion of constantly changing the bitrate (quality) of the video being delivered to suit the throughput at that point in time.  It’s typically controlled by the client == smart(er) clients  The stream is delivered in segments in enable switching

How does segmentation work? Incoming video 1 3 into multiple short blocks. Each block holds the same section of video, encoded at a different size and bitrate. 500 kbps 2000 kbps 1000 kbps is split by an encoder 2

How does adaptive delivery work? The segmented video is stored on a server, along with a text file which describes the names of each segment. This text file is called a manifest. A player downloads the manifest and then begins requesting individual segments of video. It makes its choice based on bandwidth conditions, grabbing the best quality it can at the time. SERVERCLOUDPLAYER

Which adaptive streaming formats exist today?  HTTP Live Streaming (HDS) -Controlled by Apple -Known as HLS, it is supported well by iOS, Safari and half-heartedly by Android.  HTTP Dynamic Streaming (HDS) -Controlled by Adobe -Known as HDS, it is played back only by Flash clients with custom apps.  Smooth Streaming (SMOOTH) -Controlled by Microsoft -Played back via Silverlight clients, Xbox,  MPEG-DASH (DASH) -An ISO standard -Playback via MSE in browsers, native apps on iOS, Android and WInOS.

Simple HLS example

Media Source Extension – the future of browser video  A W3C standard - source.htmlhttps://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media- source.html  Supported today by Chrome, IE11 and Opera  MSE allows JavaScript to -fetch and parse a manifest -retrieve video, audio and text segments using XHR -feed them to the tag to be decoded and rendered. MSE gives developers incredible control over playback, buffering and adaption logic of in-page video.

dash.js  An open-source project on Github:  Provides a library for playback of DASH adaptive content using MSE.  Let’s put it all together and make an implementation which -Uses MBR DASH under Chrome/IE11 -Uses MBR HLS under iOS -Uses progressive media with bitrate selection outside of those environments. -Let’s do all this with a 9KB initial page load. -

Take these thoughts home …  Due to its size, video can have a disproportionate effect on page performance and load times.  Try to defer instantiation of video components until the user actually wants to watch  If using progressive video delivery, use some sort of speedtest to pick the best quality stream your user can enjoy at that moment.  Adaptive delivery gives a better user experience, especially for long form content.  MediaSource extensions in HTML5 are the precursors of the browser becoming the dominant video player application environment among devices. Become familiar with them and enjoy the ride.  All code samples available at Questions?