SlideShare a Scribd company logo
1 of 75
Download to read offline
HOW DID I CREATE A HTML5
VIDEO STREAMING PLAYER
and what Iā€™ve learned
KKBOXVideo
陳å»ŗč¾° jessechen
AGENDA
ā€¢ Some beforehand knowhow
ā€¢ Why developing this player
ā€¢ HTML5 extensions
ā€¢ Introduce our player
ā€¢ Future of this player
SOME BEFOREHAND
KNOWHOW
analog-to-
digital adapter
digital raw data
PROCESS OF PLAYINGVIDEO
1. Make it digital
analog signal
H.264 / H.265
Encode
PROCESS OF PLAYINGVIDEO
2. Encode video ļ¬le
Raw data .mp4 / .ts ļ¬le
Easier for storage and transference
PROCESS OF PLAYINGVIDEO
3. Play it !
.mp4 / .ts ļ¬le
a/v sync
codec decode
and
display
extract content
from container
WAIT,WHERE IS PLAYER?
WHAT PLAYER DOES
.mp4 / .ts ļ¬le
a/v sync
codec decode
and
display
HERE
extract content
from container
THEY ARE ALREADY HANDLED
.mp4 / .ts ļ¬le
HTML5
a/v sync
codec decode
and
display
extract content
from container
SO WHY DEVELOPING
THIS PLAYER?
OUR PLAYER FOCUS ON (1)
extract content
and a/v info
from container
.mp4 / .ts ļ¬le
get ļ¬les
in smart way
a/v sync
codec decode
and
display
HOW PLAYER GET FILE ?
server holds
.mp4
content
VINTAGE WAY
Player get it
and play
single ļ¬le
slow and inļ¬‚exible
server holds
.mp4
content
EFFICIENT WAY
Player get part
of video and
start play
progressive download
Keep requesting
rest part of
video during
playback
still inļ¬‚exible
prepare
different qualities
of content
on server
MODERN WAY
adaptive streaming
Player plays
best quality
depends on
network status
Keep requesting
rest part of
video during
playback
HOW ABOUT WE SPLIT FILE
ā€¢ split ļ¬le into segments, described by manifest
ā€¢ manifest tells
- available bitrates
- how ļ¬le is fragmented
- other information, e.g encryption
+
+
knows how to
get fragments
ADAPTIVE STREAMING
IN SHORT
fragments
manifest
ļ¬le
ADAPTIVE STREAMINGTYPES
SS
Smooth Streaming
HLS
HTTP Live Streaming
HDS
INTRODUCE DASH
Dynamic Adaptive Streaming through HTTP
PROS OF DASH
ā€¢ open source, with industry standard, which means
more universal usage
ā€¢ support 2 types of containers, the MPEG-4 ļ¬le
format or the MPEG-2Transport Stream
GET FILES IN SMART WAY
ā€¢ manifest parser - able to read different type of
manifest
ā€¢ adaptive bitrate - able to decide which quality to
load
OUR PLAYER FOCUS ON (2)
.mp4 / .ts ļ¬le
get ļ¬les
in smart way
protection
logic
extract content
from container
a/v sync
codec decode
and
display
DRM ?ā€Ø
(DIGITAL RIGHTS MANAGEMENT)
Content provider /
DRM provider likes it
For end user
CLIENT SIDE PROTECTION
ā€¢ Client get a license instead of a key from DRM
service
ā€¢ A blackbox or sandbox get the key by processing
license
ā€¢ That blackbox / sandbox decrypt content and
directly output it to display
H.264 / H.265
Encode
HOWTO PROTECT CONTENT
Raw data .mp4 / .ts ļ¬le
DRM
implemented
here
PROTECTION LOGIC
ā€¢ give what DRM server needs and retrieve license
ā€¢ negotiate with browser in order to implement
protection on client side
ā€¢ deal with different browsers
knows how to
NOW, LETā€™S STARTTALK
ABOUT BROWSER
<video>, MSE and EME
HTML5VIDEO ELEMENT
ā€¢ <video></video> support progressive download
ā€¢ For adaptive streaming, MSE is required
extract content
from container
WHAT ROLE MSE PLAYS
.mp4 / .ts ļ¬le
MSE handles
a/v sync
codec decode
and
display
MSE handles
INTRODUCE MSE
ā€¢ Given different bitrate segments and it helpsā€Ø
html5 video element to play smoothly
ā€¢ SourceBuffer provide video and audio buffer
condition
Media Source Extension
EME
IS ABOUT PROTECTION
HOW BROWSER ADOPT DRM
ā€¢ For browser, that blackbox called CDM ā€Ø
(Content Decrypt Module)
ā€¢ Each browser support different DRM
context - ā€œa blackbox or sandbox get the key by
processing licenseā€
DRM ON BROWSER
Widevine FairplayPlayready Primetime
INTRODUCE EME
ā€¢ Even though browser support its own DRM, ā€Ø
W3C deļ¬nes a EME spec, in order to expose
same api for client
ā€¢ preļ¬xed api was implemented on earlier version
of chrome(smart tv)
Encrypted Media Extension
EME
CDM
provide context
from encrypted
content
get ā€˜challengeā€™
DRM
license
server
request with challenge
get license
provide license
for CDM to
decrypt content
player
EME
CDM
PROTECTION LOGIC FLOW
WHAT ROLE EME PLAYS
extract content
from container
.mp4 / .ts ļ¬le
a/v sync
codec decode
and
display
decrypt content
in blackbox
INTRODUCE OUR PLAYER
OUR GOAL
ā€¢ play not single ļ¬le but sequence of segments, ā€Ø
with different bitrate, a.k.a adaptive streaming
ā€¢ play protected stuffs, for content providersā€™ goods
a player able to
å½±ē‰‡
ya pi
yapi.js
DEVELOP PROCESS
make it work stable refactor
MAKE IT WORK FIRST
only 2 ļ¬les in the very beginning
BE STABLE
ā€¢ well structured
ā€¢ modularized
ā€¢ dependency management (dijon.js)
ā€¢ consistent code style
MODULARIZED
api
adaptive
extension
fragment
manifest
protection
stats
stream
utils
UTILS
ā€¢ Capabilities
ā€¢ Debug
ā€¢ ErrorHandler
ā€¢ EventBus
ā€¢ IntervalBus
ā€¢ UrlModel
api
adaptive
extension
fragment
manifest
protection
stats
stream
utils
EXTENSION
ā€¢ MediaSourceExtension
ā€¢ SourceBufferExtension
ā€¢ VideoModel
api
adaptive
extension
fragment
manifest
protection
stats
stream
utils
MANIFEST
ā€¢ ManifestLoader
ā€¢ ManifestExtension
ā€¢ ManifestModel
api
adaptive
extension
fragment
manifest
protection
stats
stream
utils
STREAM
ā€¢ StreamCtrl
ā€¢ BufferCtrl
api
adaptive
extension
fragment
manifest
protection
stats
stream
utils
FRAGMENT
ā€¢ FragmentCtrl
ā€¢ FragmentLoader
ā€¢ SegmentTemplate
api
adaptive
extension
fragment
manifest
protection
stats
stream
utils
ADAPTIVE
ā€¢ AbrCtrl
ā€¢ BandwidthRecorder
api
adaptive
extension
fragment
manifest
protection
stats
stream
utils
PROTECTION
ā€¢ ProtectionCtrl
ā€¢ ProtectionModel
ā€¢ ProtectionRequest
ā€¢ Playready / Widevine
api
adaptive
extension
fragment
manifest
protection
stats
stream
utils
STATS
ā€¢ MetricsCtrl
ā€¢ Metrics
ā€¢ StatsCtrl
ā€¢ BitrateHistory
api
adaptive
extension
fragment
manifest
protection
stats
stream
utils
REFACTOR
ā€¢ review ļ¬‚ow
ā€¢ redeļ¬ne api
APPLICATION FLOW
REDEFINE API
ā€¢ use jsdoc to generate spec document
ā€¢ deļ¬ne api, event and vo(value object)
ā€¢ spec
ā€¢ result
DEMO
Sample player
HOWTO MANAGE
THOSE MODULES
DEPENDENCY INJECTION
ā€¢ not necessary in the beginning, but became very
important after it went much more complex
ā€¢ use dijon.js as di framework
INTRODUCE DIJON.JS
ā€¢ a system holds all dependencies, after mapping
modules to it
ā€¢ an object get dependencies after injection
DEFINE DEPENDENCIES
// A dep
function A() {}
// B requires A
function B() {
this.a = undeļ¬ned; // how dijon knows where to inject
}
// instantiate dijon
var system = new dijon.System();
3 KINDS OF MAPPING
var a = new A();
system.mapValue(ā€˜aValueā€™, a);
// system.getObject(ā€˜aā€™) would return an ā€˜aā€™ instance
system.mapSingleton(aSingleton,A);
// system.getObject(ā€˜aSingletonā€™) would return a singleton a
system.mapClass(bClass, B);
// system.getObject(ā€˜bClassā€™) would return a new inited B
OUTLET MAPPING
// map outlet to make dependency work
// @param sourceKey {String} - the key mapped to system would be
injected
// @param targetKey {String|'global'} - the key outlet is assigned to
// @param outletName {String|sourceKey} - the name of property used as
an outlet
system.mapOutlet('aSingleton', 'bClass',ā€˜a');
var b = system.getObject(ā€˜bClassā€™);
// b.a is aSingleton
DIRECTLY INJECTION
var b = new B();
system.injectInto(b);
// b WOULDNā€™T have dependency singleton A
// b/c we only mapOutlet to key bClass of system
// map outlet to global
system.mapOutlet(ā€˜aSingletonā€™,ā€˜globalā€™,ā€˜aā€™);
system.injectInto(b); // this would work
AUTO MAP OUTLET
function B(){
this.aSingleton = undeļ¬ned;
this.c = undeļ¬ned;
}
function C(){}
// auto mapped outlet would assign to ā€˜globalā€™
// and outlet name is the same as mapped key (before mapping)
system.autoMapOutlets = true;
system.mapClass(ā€˜bClassā€™, B); // map again b/c B is changed
system.mapClass(ā€˜cā€™, C);
// system.getObject(ā€˜bā€™) would have c dep
COMMUNICATE IN BETWEEN
Now B has dependencies of A and C
How would you do in this scenario:
A is doing something
when itā€™s done, invoke a method of B
ā€“this is a very common situation in player
MAP HANDLER AND NOTIFY
function A() {
this.say = function() {
system.notify(ā€˜aDoneSayingā€™);
};
}
function B() {
this.a = undeļ¬ned;
this.afterAsays = function(){
// do something
};
}
system.mapSingleton(ā€˜aā€™,A); system.mapSingleton(ā€˜bā€™, B);
system.mapHandler(ā€˜aDoneSayingā€™, ā€™bā€™,ā€˜afterAsaysā€™);
// system.getObject(ā€˜bā€™).a.say() would invoke b.afterAsays
NOTIFYING CLASS
system.mapSingleton(ā€˜aā€™,A);
system.mapClass(ā€˜bā€™, B); // map class here
var b1 = system.getObject(ā€˜bā€™);
// b1.say() would invoke a newly instantiated b.afterAsays
// instead of b1.afterAsays
system.mapValue(ā€˜b1ā€™, b1);
system.unmapHandler(ā€˜aDoneSayingā€™,ā€˜bā€™,ā€˜afterAsaysā€™)
system.mapHandler(ā€˜aDoneSayingā€™,ā€˜b1ā€™,ā€˜afterAsaysā€™)
// b1.say() would invoke b1.afterAsays
function E() {
this.a = undeļ¬ned;
this.setup = function () {};
}
var e = new E();
system.injectInto(e);
// e.setup invoked
CONVENTION
setup method of module would be invoked
after getObject or injectInto
INJECT SYSTEM ITSELF
system.mapValue('system', system);
function D() {
this.system = undeļ¬ned;
}
system.mapSingleton('d', D);
// system.getObject(ā€˜dā€™) has system as dependency
function A() {}; function B() {}
function Dep() {
return {
system: undeļ¬ned,
setup: function () {
this.system.autoMapOutlets = true;
// map dep here
this.system.mapSingleton('a',A);
this.system.mapClass('b', B);
}
};
}
function App() {
var b;
var system = new dijon.System();
system.mapValue('system', system);
system.mapOutlet('system');
var dep = new Dep();
system.injectInto(dep); // inject system to dep and invoke setup function, which map all deps
return {
system: undeļ¬ned,
a: undeļ¬ned,
setup: function () {
b = system.getObject('b');
},
init: function () {
system.injectInto(this); // after init, app.a exists
}
};
}
// after new App().init(), app get all dep setup in Dep
SUMMARY OF DIJONJS
ā€¢ 3kb
ā€¢ very little convention
ā€¢ focus on di and notify / handler
BUILD PROJECT
ā€¢ list all source ļ¬les in index.html of testing page
ā€¢ grunt as task manager
ā€¢ concat and minify scripts with grunt-usemin
ā€¢ export to dist/player.min.js
ONE LAST NOTICE
ā€¢ ui should be totally separated
ā€¢ ui <-> player -> videoElement
ā€¢ ui order player by api, respond to player behavior
by event
player
videoElement
ui
FUTURE OFYAPI.JS
ā€¢ ļ¬refox / safari drm support
ā€¢ live
ā€¢ ads
ā€¢ smart tv / chromecast / nexus player
THANKYOU
questions ?

More Related Content

What's hot

Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkDeploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkAmazon Web Services
Ā 
Exam Overview 70-533 Implementing Azure Infrastructure Solutions
Exam Overview 70-533 Implementing Azure Infrastructure SolutionsExam Overview 70-533 Implementing Azure Infrastructure Solutions
Exam Overview 70-533 Implementing Azure Infrastructure SolutionsGustavo Zimmermann (MVP)
Ā 
CIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMCIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMICF CIRCUIT
Ā 
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloudMigrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloudJohn Donaldson
Ā 
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...Amazon Web Services
Ā 
Plug in development
Plug in developmentPlug in development
Plug in developmentLucky Ali
Ā 
Vmware vSphere Api Best Practices
Vmware vSphere Api Best PracticesVmware vSphere Api Best Practices
Vmware vSphere Api Best PracticesPablo Roesch
Ā 
Exploring VMware APIs by Preetham Gopalaswamy
Exploring VMware APIs by Preetham GopalaswamyExploring VMware APIs by Preetham Gopalaswamy
Exploring VMware APIs by Preetham GopalaswamyAlan Renouf
Ā 
Full slidescr16
Full slidescr16Full slidescr16
Full slidescr16Lucio Grenzi
Ā 
Java and windows azure cloud service
Java and windows azure cloud serviceJava and windows azure cloud service
Java and windows azure cloud serviceJeffray Huang
Ā 
Learn you some Ansible for great good!
Learn you some Ansible for great good!Learn you some Ansible for great good!
Learn you some Ansible for great good!David Lapsley
Ā 
Don't touch that server
Don't touch that serverDon't touch that server
Don't touch that servercrdant
Ā 
Docker for developers z java
Docker for developers z javaDocker for developers z java
Docker for developers z javaandrzejsydor
Ā 
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)Roman Kharkovski
Ā 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAndrew Khoury
Ā 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsAmazon Web Services
Ā 
Aem offline content
Aem offline contentAem offline content
Aem offline contentAshokkumar T A
Ā 

What's hot (20)

Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkDeploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
Ā 
Exam Overview 70-533 Implementing Azure Infrastructure Solutions
Exam Overview 70-533 Implementing Azure Infrastructure SolutionsExam Overview 70-533 Implementing Azure Infrastructure Solutions
Exam Overview 70-533 Implementing Azure Infrastructure Solutions
Ā 
CIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMCIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEM
Ā 
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloudMigrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Ā 
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
Ā 
Plug in development
Plug in developmentPlug in development
Plug in development
Ā 
Vmware vSphere Api Best Practices
Vmware vSphere Api Best PracticesVmware vSphere Api Best Practices
Vmware vSphere Api Best Practices
Ā 
Exploring VMware APIs by Preetham Gopalaswamy
Exploring VMware APIs by Preetham GopalaswamyExploring VMware APIs by Preetham Gopalaswamy
Exploring VMware APIs by Preetham Gopalaswamy
Ā 
2014 cf summit_clustering
2014 cf summit_clustering2014 cf summit_clustering
2014 cf summit_clustering
Ā 
Full slidescr16
Full slidescr16Full slidescr16
Full slidescr16
Ā 
Java and windows azure cloud service
Java and windows azure cloud serviceJava and windows azure cloud service
Java and windows azure cloud service
Ā 
Learn you some Ansible for great good!
Learn you some Ansible for great good!Learn you some Ansible for great good!
Learn you some Ansible for great good!
Ā 
S903 palla
S903 pallaS903 palla
S903 palla
Ā 
Don't touch that server
Don't touch that serverDon't touch that server
Don't touch that server
Ā 
Docker for developers z java
Docker for developers z javaDocker for developers z java
Docker for developers z java
Ā 
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
Ā 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office Hours
Ā 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
Ā 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer Tools
Ā 
Aem offline content
Aem offline contentAem offline content
Aem offline content
Ā 

Viewers also liked

Etude Rovi sur le comportement des consommateurs en matiĆØre de streaming en F...
Etude Rovi sur le comportement des consommateurs en matiĆØre de streaming en F...Etude Rovi sur le comportement des consommateurs en matiĆØre de streaming en F...
Etude Rovi sur le comportement des consommateurs en matiĆØre de streaming en F...Cedric Buisson
Ā 
James Farrelly - Making Streaming Work [Darker Music Talks July 2015]
James Farrelly - Making Streaming Work [Darker Music Talks July 2015]James Farrelly - Making Streaming Work [Darker Music Talks July 2015]
James Farrelly - Making Streaming Work [Darker Music Talks July 2015]Tommy Darker
Ā 
MoonosCNC Inc Introduce
MoonosCNC Inc Introduce MoonosCNC Inc Introduce
MoonosCNC Inc Introduce moonosCNC Inc.
Ā 
Reed Hastings: Padre De Netflix
Reed Hastings: Padre De NetflixReed Hastings: Padre De Netflix
Reed Hastings: Padre De Netflixkaylajosh
Ā 
The Power of Live Streaming: How To Build An Engaged Audience & Grow Your Brand
The Power of Live Streaming: How To Build An Engaged Audience & Grow Your BrandThe Power of Live Streaming: How To Build An Engaged Audience & Grow Your Brand
The Power of Live Streaming: How To Build An Engaged Audience & Grow Your BrandAlexa Carlin
Ā 
Sony bravia Product Detail.
Sony bravia Product Detail.Sony bravia Product Detail.
Sony bravia Product Detail.sunny_Nexus
Ā 
Streaming Api Design with Akka, Scala and Spray
Streaming Api Design with Akka, Scala and SprayStreaming Api Design with Akka, Scala and Spray
Streaming Api Design with Akka, Scala and SprayNatalino Busa
Ā 
Introduction to Amazon Kinesis Firehose - AWS August Webinar Series
Introduction to Amazon Kinesis Firehose - AWS August Webinar SeriesIntroduction to Amazon Kinesis Firehose - AWS August Webinar Series
Introduction to Amazon Kinesis Firehose - AWS August Webinar SeriesAmazon Web Services
Ā 
Spotify presentation
Spotify presentationSpotify presentation
Spotify presentationwmorris
Ā 
1ģøėÆøė””ģ–“ ģ „ė¬øźø°ģ—… 'ėÆøė””ģ–“ģžėŖ½' ķšŒģ‚¬ģ†Œź°œģ„œ
1ģøėÆøė””ģ–“ ģ „ė¬øźø°ģ—… 'ėÆøė””ģ–“ģžėŖ½' ķšŒģ‚¬ģ†Œź°œģ„œ1ģøėÆøė””ģ–“ ģ „ė¬øźø°ģ—… 'ėÆøė””ģ–“ģžėŖ½' ķšŒģ‚¬ģ†Œź°œģ„œ
1ģøėÆøė””ģ–“ ģ „ė¬øźø°ģ—… 'ėÆøė””ģ–“ģžėŖ½' ķšŒģ‚¬ģ†Œź°œģ„œKunwon Kim
Ā 
Comas ķšŒģ‚¬ģ†Œź°œģ„œ
Comas ķšŒģ‚¬ģ†Œź°œģ„œComas ķšŒģ‚¬ģ†Œź°œģ„œ
Comas ķšŒģ‚¬ģ†Œź°œģ„œhimcap
Ā 
Google- company profile
Google- company profileGoogle- company profile
Google- company profileAnika Rahman Orin
Ā 
MacroPlan Company Profile 2017
MacroPlan Company Profile 2017MacroPlan Company Profile 2017
MacroPlan Company Profile 2017Amy Williams
Ā 
Netflix Case Study
Netflix Case StudyNetflix Case Study
Netflix Case StudyKikuyu Daniels
Ā 
Company Overview Presentation
Company Overview PresentationCompany Overview Presentation
Company Overview PresentationZenith Technologies
Ā 

Viewers also liked (16)

Etude Rovi sur le comportement des consommateurs en matiĆØre de streaming en F...
Etude Rovi sur le comportement des consommateurs en matiĆØre de streaming en F...Etude Rovi sur le comportement des consommateurs en matiĆØre de streaming en F...
Etude Rovi sur le comportement des consommateurs en matiĆØre de streaming en F...
Ā 
James Farrelly - Making Streaming Work [Darker Music Talks July 2015]
James Farrelly - Making Streaming Work [Darker Music Talks July 2015]James Farrelly - Making Streaming Work [Darker Music Talks July 2015]
James Farrelly - Making Streaming Work [Darker Music Talks July 2015]
Ā 
MoonosCNC Inc Introduce
MoonosCNC Inc Introduce MoonosCNC Inc Introduce
MoonosCNC Inc Introduce
Ā 
Reed Hastings: Padre De Netflix
Reed Hastings: Padre De NetflixReed Hastings: Padre De Netflix
Reed Hastings: Padre De Netflix
Ā 
Music streaming service mkt 618
Music streaming service   mkt 618Music streaming service   mkt 618
Music streaming service mkt 618
Ā 
The Power of Live Streaming: How To Build An Engaged Audience & Grow Your Brand
The Power of Live Streaming: How To Build An Engaged Audience & Grow Your BrandThe Power of Live Streaming: How To Build An Engaged Audience & Grow Your Brand
The Power of Live Streaming: How To Build An Engaged Audience & Grow Your Brand
Ā 
Sony bravia Product Detail.
Sony bravia Product Detail.Sony bravia Product Detail.
Sony bravia Product Detail.
Ā 
Streaming Api Design with Akka, Scala and Spray
Streaming Api Design with Akka, Scala and SprayStreaming Api Design with Akka, Scala and Spray
Streaming Api Design with Akka, Scala and Spray
Ā 
Introduction to Amazon Kinesis Firehose - AWS August Webinar Series
Introduction to Amazon Kinesis Firehose - AWS August Webinar SeriesIntroduction to Amazon Kinesis Firehose - AWS August Webinar Series
Introduction to Amazon Kinesis Firehose - AWS August Webinar Series
Ā 
Spotify presentation
Spotify presentationSpotify presentation
Spotify presentation
Ā 
1ģøėÆøė””ģ–“ ģ „ė¬øźø°ģ—… 'ėÆøė””ģ–“ģžėŖ½' ķšŒģ‚¬ģ†Œź°œģ„œ
1ģøėÆøė””ģ–“ ģ „ė¬øźø°ģ—… 'ėÆøė””ģ–“ģžėŖ½' ķšŒģ‚¬ģ†Œź°œģ„œ1ģøėÆøė””ģ–“ ģ „ė¬øźø°ģ—… 'ėÆøė””ģ–“ģžėŖ½' ķšŒģ‚¬ģ†Œź°œģ„œ
1ģøėÆøė””ģ–“ ģ „ė¬øźø°ģ—… 'ėÆøė””ģ–“ģžėŖ½' ķšŒģ‚¬ģ†Œź°œģ„œ
Ā 
Comas ķšŒģ‚¬ģ†Œź°œģ„œ
Comas ķšŒģ‚¬ģ†Œź°œģ„œComas ķšŒģ‚¬ģ†Œź°œģ„œ
Comas ķšŒģ‚¬ģ†Œź°œģ„œ
Ā 
Google- company profile
Google- company profileGoogle- company profile
Google- company profile
Ā 
MacroPlan Company Profile 2017
MacroPlan Company Profile 2017MacroPlan Company Profile 2017
MacroPlan Company Profile 2017
Ā 
Netflix Case Study
Netflix Case StudyNetflix Case Study
Netflix Case Study
Ā 
Company Overview Presentation
Company Overview PresentationCompany Overview Presentation
Company Overview Presentation
Ā 

Similar to Introduce native html5 streaming player

Craft 2019 - ā€œThe Upside Downā€ Of The Web - Video technologies
Craft 2019 - ā€œThe Upside Downā€ Of The Web - Video technologiesCraft 2019 - ā€œThe Upside Downā€ Of The Web - Video technologies
Craft 2019 - ā€œThe Upside Downā€ Of The Web - Video technologiesMĆ”tĆ© NĆ”dasdi
Ā 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01Scott Miao
Ā 
Windows Server AppFabric Caching - What it is & when you should use it?
Windows Server AppFabric Caching - What it is & when you should use it?Windows Server AppFabric Caching - What it is & when you should use it?
Windows Server AppFabric Caching - What it is & when you should use it?Robert MacLean
Ā 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java binOlve Hansen
Ā 
Web Apps
Web AppsWeb Apps
Web AppsTim Wray
Ā 
Microsoft Windows Server AppFabric
Microsoft Windows Server AppFabricMicrosoft Windows Server AppFabric
Microsoft Windows Server AppFabricMark Ginnebaugh
Ā 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Mandi Walls
Ā 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programminghotrannam
Ā 
Getting started with CFEngine - Webinar
Getting started with CFEngine - WebinarGetting started with CFEngine - Webinar
Getting started with CFEngine - WebinarCFEngine
Ā 
APIs, now and in the future
APIs, now and in the futureAPIs, now and in the future
APIs, now and in the futureChris Mills
Ā 
HTML 5
HTML 5HTML 5
HTML 5Rajan Pal
Ā 
Download and restrict video files in android app
Download and restrict video files in android appDownload and restrict video files in android app
Download and restrict video files in android appKaty Slemon
Ā 
Getting Started With CFEngine - Updated Version
Getting Started With CFEngine - Updated VersionGetting Started With CFEngine - Updated Version
Getting Started With CFEngine - Updated VersionCFEngine
Ā 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screenspaultrani
Ā 
Platform - Technical architecture
Platform - Technical architecturePlatform - Technical architecture
Platform - Technical architectureDavid Rundle
Ā 
Developing for Leap Motion
Developing for Leap MotionDeveloping for Leap Motion
Developing for Leap MotionIris Classon
Ā 
(STG205) Secure Content Delivery Using Amazon CloudFront
(STG205) Secure Content Delivery Using Amazon CloudFront(STG205) Secure Content Delivery Using Amazon CloudFront
(STG205) Secure Content Delivery Using Amazon CloudFrontAmazon Web Services
Ā 
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...Amazon Web Services
Ā 
from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018Chun-Yu Tseng
Ā 

Similar to Introduce native html5 streaming player (20)

Craft 2019 - ā€œThe Upside Downā€ Of The Web - Video technologies
Craft 2019 - ā€œThe Upside Downā€ Of The Web - Video technologiesCraft 2019 - ā€œThe Upside Downā€ Of The Web - Video technologies
Craft 2019 - ā€œThe Upside Downā€ Of The Web - Video technologies
Ā 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
Ā 
Windows Server AppFabric Caching - What it is & when you should use it?
Windows Server AppFabric Caching - What it is & when you should use it?Windows Server AppFabric Caching - What it is & when you should use it?
Windows Server AppFabric Caching - What it is & when you should use it?
Ā 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
Ā 
Web Apps
Web AppsWeb Apps
Web Apps
Ā 
Microsoft Windows Server AppFabric
Microsoft Windows Server AppFabricMicrosoft Windows Server AppFabric
Microsoft Windows Server AppFabric
Ā 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Ā 
ITB2017 - Keynote
ITB2017 - KeynoteITB2017 - Keynote
ITB2017 - Keynote
Ā 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programming
Ā 
Getting started with CFEngine - Webinar
Getting started with CFEngine - WebinarGetting started with CFEngine - Webinar
Getting started with CFEngine - Webinar
Ā 
APIs, now and in the future
APIs, now and in the futureAPIs, now and in the future
APIs, now and in the future
Ā 
HTML 5
HTML 5HTML 5
HTML 5
Ā 
Download and restrict video files in android app
Download and restrict video files in android appDownload and restrict video files in android app
Download and restrict video files in android app
Ā 
Getting Started With CFEngine - Updated Version
Getting Started With CFEngine - Updated VersionGetting Started With CFEngine - Updated Version
Getting Started With CFEngine - Updated Version
Ā 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screens
Ā 
Platform - Technical architecture
Platform - Technical architecturePlatform - Technical architecture
Platform - Technical architecture
Ā 
Developing for Leap Motion
Developing for Leap MotionDeveloping for Leap Motion
Developing for Leap Motion
Ā 
(STG205) Secure Content Delivery Using Amazon CloudFront
(STG205) Secure Content Delivery Using Amazon CloudFront(STG205) Secure Content Delivery Using Amazon CloudFront
(STG205) Secure Content Delivery Using Amazon CloudFront
Ā 
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
Ā 
from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018
Ā 

Recently uploaded

Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
Ā 
Call Now ā‰½ 9953056974 ā‰¼šŸ” Call Girls In New Ashok Nagar ā‰¼šŸ” Delhi door step de...
Call Now ā‰½ 9953056974 ā‰¼šŸ” Call Girls In New Ashok Nagar  ā‰¼šŸ” Delhi door step de...Call Now ā‰½ 9953056974 ā‰¼šŸ” Call Girls In New Ashok Nagar  ā‰¼šŸ” Delhi door step de...
Call Now ā‰½ 9953056974 ā‰¼šŸ” Call Girls In New Ashok Nagar ā‰¼šŸ” Delhi door step de...9953056974 Low Rate Call Girls In Saket, Delhi NCR
Ā 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
Ā 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
Ā 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
Ā 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
Ā 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
Ā 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
Ā 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
Ā 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
Ā 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
Ā 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
Ā 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
Ā 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
Ā 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
Ā 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
Ā 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
Ā 

Recently uploaded (20)

Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
Ā 
Call Now ā‰½ 9953056974 ā‰¼šŸ” Call Girls In New Ashok Nagar ā‰¼šŸ” Delhi door step de...
Call Now ā‰½ 9953056974 ā‰¼šŸ” Call Girls In New Ashok Nagar  ā‰¼šŸ” Delhi door step de...Call Now ā‰½ 9953056974 ā‰¼šŸ” Call Girls In New Ashok Nagar  ā‰¼šŸ” Delhi door step de...
Call Now ā‰½ 9953056974 ā‰¼šŸ” Call Girls In New Ashok Nagar ā‰¼šŸ” Delhi door step de...
Ā 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
Ā 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
Ā 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Ā 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
Ā 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
Ā 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
Ā 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
Ā 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Ā 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
Ā 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
Ā 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Ā 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
Ā 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
Ā 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
Ā 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
Ā 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
Ā 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
Ā 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
Ā 

Introduce native html5 streaming player