paris video tech - 1st edition: afrostream, un player agile  pour suivre le mouvement

13
Benjamin Pott Afrostream benjipott

Upload: erica-beavers

Post on 19-Jan-2017

339 views

Category:

Technology


3 download

TRANSCRIPT

Benjamin PottAfrostream benjipott

01/09/201590,000

2,000

15,000

6,99

01/08/2015

Constraints

DRM Subtitles

Audio Tracks Video Tracks

HLS / DASH

Cross-platforms

ConstraintsMedia Source Extensions

01/09/15 01/10/15 01/11/15

11 Edg

e

34

Paying Players

Dissimilar API & Configuration

Complex Skin Maintainability

Long Support Issues

Hls.js...

COMPONENTS (plugins)

SOURCE HANDLERS (Tech)

SOURCE HANDLERS

Build a Burger Player

"scripts": { "prebuild": "npm run clean", "build": "npm-run-all -p build:*", "build:js": "npm-run-all mkdirs build:js:babel build:js:browserify build:js:bannerize build:js:uglify copy" "build:js:babel": "babel --optional es7.functionBind,es7.classProperties,es7.decorators src -d es5", "build:js:bannerize": "bannerize dist/afrostream-player.js --banner=scripts/banner.ejs", "build:js:browserify": "browserify . -s afrostream-player -o dist/afrostream-player.js", "build:js:uglify": "uglifyjs dist/afrostream-player.js --comments --mangle --compress -o dist/afrostream-player.min.js" "copy:swf": "cp dashas.swf dist/", "copy:font": "cp -R src/fonts dist/fonts", "copy": "npm-run-all -p copy:*", "build:css": "node-sass --include-path ./node_modules/video.js/ --include-path src --importer importer_file.js --output-style compressed src/css/afrostream-player.scss -o dist && replace ' "build:test": "npm-run-all mkdirs build:test:browserify", "build:test:browserify": "browserify `find test -name '*.test.js'` -t babelify -o dist-test/afrostream-player.js "clean": "rm -rf dist dist-test es5", "docs": "doctoc README.md docs/api.md", "lint": "vjsstandard",

"dependencies": { "uglify-js": "^2.5.0", "video.js": "^5.9.2", "dashjs": "^2.1.1", "videojs-chromecast": "git+https://github.com/benjipott/video.js-chromecast.git#2.0.5", "videojs-font": "^2.0.0", "videojs-metrics": "git+https://github.com/Afrostream/videojs-metrics.git#2.0.1", "videojs-standard": "^4.0.0", "videojs-dailymotion": "git+https://github.com/benjipott/videojs-youtube.git#es6",

Push to prod

player: { 'autoplay': true, 'controls': true, 'dashas': { 'protData': protData }, 'metrics': { 'user_id': '' }, 'techOrder': ['dash', 'html5', 'dashas'], 'dash': { 'inititalMediaSettings': { 'lang': 'fr' }, 'autoSwitch': true, 'bolaEnabled': false, 'scheduleWhilePaused': true, 'initialBitrate': 400, 'liveFragmentCount': 4, 'buffer': { 'bufferToKeep': 60, 'minBufferTime': 24, 'bufferPruningInterval': 30, 'bandwidthSafetyFactor': 0.9, 'bufferTimeAtTopQuality': 30, 'bufferTimeAtTopQualityLongForm': 60, 'longFormContentDurationThreshold': 600, 'richBufferThreshold': 20, 'abandonLoadTimeout': 4, 'fragmentLoaderRetryAttempts': 3, 'fragmentLoaderRetryInterval': 1000 }, 'protData': protData }, 'controlBar': { 'volumeMenuButton': { 'inline': false }, 'progressControl': { 'seekBar': { 'mouseThumbnailDisplay': { 'host': 'hw.cdn.afrostream.net' } } } },

Thank you@benjipott