SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Developer Summit

VP9 - Next Generation
Video For the Web
VP9 - Next Generation Video For the Web

Agenda
●
●
●
●
●
●

Introduction
Why use HTML5 and VP9 for video?
How you can make video files.
How to put video on a web page.
Some more advanced things you can do.
Conclusion.
VP9 - Next Generation Video For the Web

Introduction
● About me
● WebM Project Org (webmproject.org)
● Chrome Media
VP9 - Next Generation Video For the Web

Benefits of using the Web for Your Video Application
●
●
●
●
●

Free deployment
Works everywhere
Simple to develop
Easy usage tracking
Functionality
VP9 - Next Generation Video For the Web

Demo - The Same Video App Running 2 places

Run
VP9 - Next Generation Video For the Web

Why use VP9
● Saves you bits and bits = money
○
○

Incorrect estimates from: Forbes
These estimates say :
■

○

Gangnam Style cost $300k to store and serve

Cut that in half if we used VP9
■

Especially useful for mobile users

● Need lossless
● To avoid licensing restrictions
VP9 - Next Generation Video For the Web

Why is this important?
VP9 - Next Generation Video For the Web

YouTube Statistics
Over 100 Hours of video
uploaded every minute
Over 1 Billion unique users
every month
Over 6 Billion Hours viewed
every month
Over 70% of users are non-US
VP9 - Next Generation Video For the Web
VP9 - Next Generation Video For the Web

Demo - VP9 Vs H264

Run
VP9 - Next Generation Video For the Web

At the same bitrate

Run
VP9 - Next Generation Video For the Web

How to encode a video file : Hands On!
● Get and build FFmpeg with the instructions found here :
○

https://sites.google.com/a/webmproject.org/wiki/ffmpeg/building-with-libvpx

● Record using camera or phone & store on your computer
● Run a 2 pass encode like this:
ffmpeg -i MYINPUTFILE -pass 1 -passlogfile t -b:v 350k -auto-alt-ref 1 -vf scale=iw/2:-1 -vcodec
libvpx-vp9 -strict experimental MYOUTPUTFILE.webm
ffmpeg -i MYINPUTFILE -pass 2 -passlogfile t -b:v 350k -auto-alt-ref 1 -arnr_max_frames 7 -vf
scale=iw/2:-1 -vcodec libvpx-vp9 -strict experimental -acodec libvorbis -b:a 96k
MYOUTPUTFILE.webm

● View the results
○

ffplay MYOUTPUTFILE.webm
VP9 - Next Generation Video For the Web

Putting Video on a Web Page
● Copy the video file you created to your webserver
● Create a web page that looks something like this:
<HTML>
<body>
<video src="MYOUTPUTVIDEO.webm" loop="loop" autoplay controls></video>

</body>
</html>

● Make sure your videos have the right permission
● Test your new web page. run
VP9 - Next Generation Video For the Web

Adaptive Bitrate Video

Run
VP9 - Next Generation Video For the Web

Adaptive Bitrate Control
● Follow the instructions here: http://wiki.webmproject.org/adaptivestreaming/instructions-to-playback-a-webm-dash-presentation
● Create a manifest file listing separate files at each separate
bandwidth
● You’ll be using MediaSource instead of <video> tag…
VP9 - Next Generation Video For the Web

Green Screen

Run
VP9 - Next Generation Video For the Web

Green Screen
● Make your own http://updates.html5rocks.com/2013/07/Alpha-transparency-in-Chromevideo

○
○
○
○

Film with a colored back drop
use an open source tool like Blender to key the color :
export png or rgba
convert to WebM using FFmpeg...

● Lots of ways to render
○
○

use <video> tag and just play the video over the background image.
use <canvas> and draw videos on top of it .
VP9 - Next Generation Video For the Web

WebGL and Video

Run
VP9 - Next Generation Video For the Web

Using WebGL with the Video Tag
● Draw a video tag
●
●
●
●

use gl.createFramebuffer, gl.createRenderbuffer and gl.
createTexture to set up gl buffers
use gl.createShader, gl.shaderSource, gl.compileShader to set up
shaders
use gl.bindTexture to get the data into a webgl texture
use webkitRequestAnimationFrame; to make sure you get every
frame
VP9 - Next Generation Video For the Web

Subtitles

Run
VP9 - Next Generation Video For the Web

Subtitles - http://www.html5rocks.com/en/tutorials/track/basics/
● Creating a WebVtt file like this bbb_subtitles.vtt:
WEBVTT
1
00:00.800 --> 00:02.933
This is a Sample Subtitle Track to show off
2
00:02.933 --> 00:07.333
HTML5 VIDEO ACCESSIBILITY AND THE WebVTT FILE FORMAT.

● and refer to it in your HTML
<video id="vid1" src="bbb_nosubtitles.webm" controls="true" autoplay>
<track kind='subtitles' srclang='en' label='English' src='bbb_subtitles.vtt' default />
</video>
VP9 - Next Generation Video For the Web

CuePoints

Run
VP9 - Next Generation Video For the Web

Cue Points (http://www.samdutton.net/mapTrack/)
● A simple extension to the webvtt file
VP9 - Next Generation Video For the Web

Video Conferencing in Javascript

Run
VP9 - Next Generation Video For the Web

WebRTC - ( www.webrtc.org )
● http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/
● You’ll be using interfaces like
○
○

getUserMedia ( to get access to the camera and microphone)
RTCPeerConnection ( to set up connections to the other side)

● getUserMedia will let you do lots of other cool things. :)
VP9 - Next Generation Video For the Web

Conclusion
● You should use HTML5 for video.
● Use VP9.
● Do a ton of cool stuff with it.

Any questions? using our mailing list
post: webm-discuss@webmproject.org
subscribe: webm-discuss+subscribe@webmproject.org.

Mais conteúdo relacionado

Mais de AMD Developer Central

The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...AMD Developer Central
 
TressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozTressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozAMD Developer Central
 
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellAMD Developer Central
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonAMD Developer Central
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornDirect3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornAMD Developer Central
 
Introduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevIntroduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevAMD Developer Central
 
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasHoly smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasAMD Developer Central
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...AMD Developer Central
 
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...AMD Developer Central
 
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14AMD Developer Central
 
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14AMD Developer Central
 
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...AMD Developer Central
 
Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14AMD Developer Central
 
Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14AMD Developer Central
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14AMD Developer Central
 
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla MahGS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla MahAMD Developer Central
 
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...AMD Developer Central
 

Mais de AMD Developer Central (20)

The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
 
Inside XBox- One, by Martin Fuller
Inside XBox- One, by Martin FullerInside XBox- One, by Martin Fuller
Inside XBox- One, by Martin Fuller
 
TressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozTressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas Thibieroz
 
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
 
Gcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodesGcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodes
 
Inside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin FullerInside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin Fuller
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornDirect3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
 
Introduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevIntroduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan Nevraev
 
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasHoly smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
 
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
 
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
 
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
 
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
 
Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14
 
Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
 
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla MahGS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
 
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
 

Último

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

MM-4113, Vp9 – Next Generation Video For the Web, by James Bankoski

  • 1. Developer Summit VP9 - Next Generation Video For the Web
  • 2. VP9 - Next Generation Video For the Web Agenda ● ● ● ● ● ● Introduction Why use HTML5 and VP9 for video? How you can make video files. How to put video on a web page. Some more advanced things you can do. Conclusion.
  • 3. VP9 - Next Generation Video For the Web Introduction ● About me ● WebM Project Org (webmproject.org) ● Chrome Media
  • 4. VP9 - Next Generation Video For the Web Benefits of using the Web for Your Video Application ● ● ● ● ● Free deployment Works everywhere Simple to develop Easy usage tracking Functionality
  • 5. VP9 - Next Generation Video For the Web Demo - The Same Video App Running 2 places Run
  • 6. VP9 - Next Generation Video For the Web Why use VP9 ● Saves you bits and bits = money ○ ○ Incorrect estimates from: Forbes These estimates say : ■ ○ Gangnam Style cost $300k to store and serve Cut that in half if we used VP9 ■ Especially useful for mobile users ● Need lossless ● To avoid licensing restrictions
  • 7. VP9 - Next Generation Video For the Web Why is this important?
  • 8. VP9 - Next Generation Video For the Web YouTube Statistics Over 100 Hours of video uploaded every minute Over 1 Billion unique users every month Over 6 Billion Hours viewed every month Over 70% of users are non-US
  • 9. VP9 - Next Generation Video For the Web
  • 10. VP9 - Next Generation Video For the Web Demo - VP9 Vs H264 Run
  • 11. VP9 - Next Generation Video For the Web At the same bitrate Run
  • 12. VP9 - Next Generation Video For the Web How to encode a video file : Hands On! ● Get and build FFmpeg with the instructions found here : ○ https://sites.google.com/a/webmproject.org/wiki/ffmpeg/building-with-libvpx ● Record using camera or phone & store on your computer ● Run a 2 pass encode like this: ffmpeg -i MYINPUTFILE -pass 1 -passlogfile t -b:v 350k -auto-alt-ref 1 -vf scale=iw/2:-1 -vcodec libvpx-vp9 -strict experimental MYOUTPUTFILE.webm ffmpeg -i MYINPUTFILE -pass 2 -passlogfile t -b:v 350k -auto-alt-ref 1 -arnr_max_frames 7 -vf scale=iw/2:-1 -vcodec libvpx-vp9 -strict experimental -acodec libvorbis -b:a 96k MYOUTPUTFILE.webm ● View the results ○ ffplay MYOUTPUTFILE.webm
  • 13. VP9 - Next Generation Video For the Web Putting Video on a Web Page ● Copy the video file you created to your webserver ● Create a web page that looks something like this: <HTML> <body> <video src="MYOUTPUTVIDEO.webm" loop="loop" autoplay controls></video> </body> </html> ● Make sure your videos have the right permission ● Test your new web page. run
  • 14. VP9 - Next Generation Video For the Web Adaptive Bitrate Video Run
  • 15. VP9 - Next Generation Video For the Web Adaptive Bitrate Control ● Follow the instructions here: http://wiki.webmproject.org/adaptivestreaming/instructions-to-playback-a-webm-dash-presentation ● Create a manifest file listing separate files at each separate bandwidth ● You’ll be using MediaSource instead of <video> tag…
  • 16. VP9 - Next Generation Video For the Web Green Screen Run
  • 17. VP9 - Next Generation Video For the Web Green Screen ● Make your own http://updates.html5rocks.com/2013/07/Alpha-transparency-in-Chromevideo ○ ○ ○ ○ Film with a colored back drop use an open source tool like Blender to key the color : export png or rgba convert to WebM using FFmpeg... ● Lots of ways to render ○ ○ use <video> tag and just play the video over the background image. use <canvas> and draw videos on top of it .
  • 18. VP9 - Next Generation Video For the Web WebGL and Video Run
  • 19. VP9 - Next Generation Video For the Web Using WebGL with the Video Tag ● Draw a video tag ● ● ● ● use gl.createFramebuffer, gl.createRenderbuffer and gl. createTexture to set up gl buffers use gl.createShader, gl.shaderSource, gl.compileShader to set up shaders use gl.bindTexture to get the data into a webgl texture use webkitRequestAnimationFrame; to make sure you get every frame
  • 20. VP9 - Next Generation Video For the Web Subtitles Run
  • 21. VP9 - Next Generation Video For the Web Subtitles - http://www.html5rocks.com/en/tutorials/track/basics/ ● Creating a WebVtt file like this bbb_subtitles.vtt: WEBVTT 1 00:00.800 --> 00:02.933 This is a Sample Subtitle Track to show off 2 00:02.933 --> 00:07.333 HTML5 VIDEO ACCESSIBILITY AND THE WebVTT FILE FORMAT. ● and refer to it in your HTML <video id="vid1" src="bbb_nosubtitles.webm" controls="true" autoplay> <track kind='subtitles' srclang='en' label='English' src='bbb_subtitles.vtt' default /> </video>
  • 22. VP9 - Next Generation Video For the Web CuePoints Run
  • 23. VP9 - Next Generation Video For the Web Cue Points (http://www.samdutton.net/mapTrack/) ● A simple extension to the webvtt file
  • 24. VP9 - Next Generation Video For the Web Video Conferencing in Javascript Run
  • 25. VP9 - Next Generation Video For the Web WebRTC - ( www.webrtc.org ) ● http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/ ● You’ll be using interfaces like ○ ○ getUserMedia ( to get access to the camera and microphone) RTCPeerConnection ( to set up connections to the other side) ● getUserMedia will let you do lots of other cool things. :)
  • 26. VP9 - Next Generation Video For the Web Conclusion ● You should use HTML5 for video. ● Use VP9. ● Do a ton of cool stuff with it. Any questions? using our mailing list post: webm-discuss@webmproject.org subscribe: webm-discuss+subscribe@webmproject.org.