SlideShare a Scribd company logo
1 of 33
Paella Player 5
Carlos Turró
Universitat Politècnica de València
Paella Player
• Opencast-compatible video player
• Dual video
• Media packages (slides, multiple language captions, other content)
• In-video search
• Standalone video player
• Legacy/Non-Opencast video player + Media packages
• Compatible look and feel for end-users
• Live Streaming video player
• Dual live video streaming
• RTMP, MPEG-Dash, HLS*
• GPLv3, source code in Github
http://paellaplayer.upv.es
Paella Player 5 Update
• Technical refactoring
• Robustness
• Easier to maintain
• MPEG-Dash Support
• Easier to add new video protocols
• A new API for on-screen drawing
• Annotations
• Advertising
• As today, we are in 5.0.0 (branch release/5.0.0) finishing issues
Technical refactoring
Paella 4 problems
• There are Asynchronous operations in Paella
• E.g. load a video
• There is a lot of plugins waiting for those events to finish
Race conditions
Nasty bugs
Difficult to debug
Events
• Paella communications between the core and the plugins is handled
through events
• This is a bit odd, because the event both do the task and inform the
plugins
paella.events.trigger(PLAY)
• Now the core requires an API call, and it generates the event when
ready
paella.player.play()
• Paella 5 also uses Javascript promises to enforce serializable actions
Video Editor as a separate project
Video Editor as a separate project
• Paella-editor is a now different Project
github.com/polimediaupv/paella-editor
• Paella will call this or any other editor (from the config file)
• Under development (release before summer)
• Angular.js
MPEG-Dash support
MPEG-Dash
• Dynamic Adaptive Streaming over HTTP
• Breaking the video into a sequence of small segments and download on
demand
• Automatic or manual bandwidth selection
• International standard
• Codec agnostic
• Used by Netflix, YouTube, Hulu, Akamai
• Available in Wowza, and also in OSS tools like DASHEncoder
• Standard javascript video player library (dash.js)
.MPD index file
Multiple quality support in MPEG-Dash
External video plugins
• Paella 5 allow defining external video players as plugins
• MPEG-dash is using the reference dash.js player
• es.upv.paella.mpegDashPlayer
• RTMP is using the paella.swf file
• es.upv.paella.rtmpPlayer
• Now is easier to integrate external players for new/other formats as
external plugins
(paella with Vimeo or YouTube?)
New API for on-screen drawing
Demo
• http://paellaplayer.upv.es/demo/player_annotations/index.html?id=b
elmar-demo
API for onscreen drawing
• There is a new function to create or edit a canvas on top of Paella5
paella.player.videoContainer.overlayContainer.getLayer()
• Then you can paint on top of it using standard HTML5
//Draw a horizontal line in Paella
demoLayer = paella.player.videoContainer.overlayContainer.getLayer("demo")
demoHR = document.createElement("hr");
demoLayer.appendChild(demoHR);
Visual annotations plugin
• A plugin to show notes at a predefined time, with a certain duration in a
certain location of the screen
User story: “As a teacher I want to be able to show HTML content to the
students on top of the video at a certain playing time”
Activation through the config file
{
"es.upv.paella.visualAnnotationPlugin": {
"enabled": true,
"url": "https://my.media.server/mynotes"
}
}
Presets
Ad
Presets
Banner
Presets
Note
Presets
Memo
Presets
Full
Annotation data
Caveats
• Currently there is no editor to create the visual annotations
• There’s no API for feedback from the visual annotation plugin to the
player
Some final comments
Some final comments
• Paella 4.2 also released, with a lot of bug fixing
• Some plugins for Paella 4 have to be slightly adapted to work in Paella
5
• We have new docs ;-)
Code Examples Cookbook
• Final release in early April (after Easter break)
Special thanks to our supporters and
contributors
• Suppporters
• ETH Zürich
• Contributors
• Harvard DCE, Teltek, @djcp, @jjeisig, @spiraleddy, @Alfro, @flyapen,
@rubenrua and all the issue spotters
Thanks!
Questions?
turro@cc.upv.es
Promises
Asynchronous Callbacks
target.operation1(function(result) {
target.operation2(function(result) {
target.operation3(function(restult) {
target.operation4(function(result)
{
});
});
});
});
Asynchronous Promises
target.operation1()
.then(function(result) {
return target.operation2();
})
.then(function(result) {
return target.operation3();
})
.then(function(result) {
return target.operation4();
});
Multiple quality support in MPEG-Dash
MPEG-Dash demo
• http://paellaplayer.upv.es/demo/player_mpegdash/index.html?id=m
peg-dash
Video Editor as a separate project
• Paella 4 shipped with an integrated editor, using the Opencast
Annotation service
• The editor writes a track of elements related to video playing
• Start
• Stop
• Break
• The player is a dependency of the editor, but the reverse is not true

More Related Content

What's hot

Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarsky
oscon2007
 
ASP.NET on zLinux: A New Workload
ASP.NET on zLinux: A New WorkloadASP.NET on zLinux: A New Workload
ASP.NET on zLinux: A New Workload
Novell
 

What's hot (20)

Perforce's Rich Client Framework
Perforce's Rich Client Framework  Perforce's Rich Client Framework
Perforce's Rich Client Framework
 
Web APIs, the New Language Frontier
Web APIs, the New Language FrontierWeb APIs, the New Language Frontier
Web APIs, the New Language Frontier
 
Vagrant up-and-running
Vagrant up-and-runningVagrant up-and-running
Vagrant up-and-running
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composer
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarsky
 
Evolve18 | Kanika Gera | "Eureka" : Adobe Sensei in AEM search for multilingu...
Evolve18 | Kanika Gera | "Eureka" : Adobe Sensei in AEM search for multilingu...Evolve18 | Kanika Gera | "Eureka" : Adobe Sensei in AEM search for multilingu...
Evolve18 | Kanika Gera | "Eureka" : Adobe Sensei in AEM search for multilingu...
 
YouTube Software - Video Editing
YouTube Software - Video EditingYouTube Software - Video Editing
YouTube Software - Video Editing
 
Build & deploy PHP application (intro level)
Build & deploy PHP application (intro level)Build & deploy PHP application (intro level)
Build & deploy PHP application (intro level)
 
Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...
 
Integração Contínua com PHPCI
Integração Contínua com PHPCIIntegração Contínua com PHPCI
Integração Contínua com PHPCI
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composer
 
Composer - The missing package manager for PHP
Composer - The missing package manager for PHPComposer - The missing package manager for PHP
Composer - The missing package manager for PHP
 
Titanium Desktop Intro
Titanium Desktop IntroTitanium Desktop Intro
Titanium Desktop Intro
 
Deploying PHP Application Using Bitbucket Pipelines
Deploying PHP Application Using Bitbucket PipelinesDeploying PHP Application Using Bitbucket Pipelines
Deploying PHP Application Using Bitbucket Pipelines
 
Practical PHP Deployment with Jenkins
Practical PHP Deployment with JenkinsPractical PHP Deployment with Jenkins
Practical PHP Deployment with Jenkins
 
Organizing Your PHP Projects (2010 ConFoo)
Organizing Your PHP Projects (2010 ConFoo)Organizing Your PHP Projects (2010 ConFoo)
Organizing Your PHP Projects (2010 ConFoo)
 
Drupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflowDrupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflow
 
How to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
How to Port Your .NET Applications to Linux Using Mono Tools for Visual StudioHow to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
How to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
 
Enterprise PHP
Enterprise PHPEnterprise PHP
Enterprise PHP
 
ASP.NET on zLinux: A New Workload
ASP.NET on zLinux: A New WorkloadASP.NET on zLinux: A New Workload
ASP.NET on zLinux: A New Workload
 

Viewers also liked

Facebook en el Marketing Empresarial
Facebook en el Marketing EmpresarialFacebook en el Marketing Empresarial
Facebook en el Marketing Empresarial
Karen Iglesias
 
MASSI-ENGLISH-ESP-SIN-PRECIO
MASSI-ENGLISH-ESP-SIN-PRECIOMASSI-ENGLISH-ESP-SIN-PRECIO
MASSI-ENGLISH-ESP-SIN-PRECIO
MASSI INT
 
Una dulce-idea-que-sale-del-desecho-de-café
Una dulce-idea-que-sale-del-desecho-de-caféUna dulce-idea-que-sale-del-desecho-de-café
Una dulce-idea-que-sale-del-desecho-de-café
Sara Betancur
 

Viewers also liked (20)

Hacia una nueva docencia ... caso UPV
Hacia una nueva docencia ... caso UPVHacia una nueva docencia ... caso UPV
Hacia una nueva docencia ... caso UPV
 
Video is key for Flipped Learning: the experience at UP Valencia
Video is key for Flipped Learning: the experience at UP ValenciaVideo is key for Flipped Learning: the experience at UP Valencia
Video is key for Flipped Learning: the experience at UP Valencia
 
Pedagogical innovation at Universitat Politècnica de València
Pedagogical innovation at Universitat Politècnica de ValènciaPedagogical innovation at Universitat Politècnica de València
Pedagogical innovation at Universitat Politècnica de València
 
Live streaming in Android
Live streaming in AndroidLive streaming in Android
Live streaming in Android
 
FFmpeg presentation
FFmpeg presentationFFmpeg presentation
FFmpeg presentation
 
FFMPEG on android
FFMPEG on androidFFMPEG on android
FFMPEG on android
 
Taller facebook para los negocios
Taller facebook para los negociosTaller facebook para los negocios
Taller facebook para los negocios
 
Desde la productividad del entorno hospitalario hasta la gestion del paciente...
Desde la productividad del entorno hospitalario hasta la gestion del paciente...Desde la productividad del entorno hospitalario hasta la gestion del paciente...
Desde la productividad del entorno hospitalario hasta la gestion del paciente...
 
Plan estrategico iess
Plan estrategico iessPlan estrategico iess
Plan estrategico iess
 
Yamuna city
Yamuna cityYamuna city
Yamuna city
 
Facebook en el Marketing Empresarial
Facebook en el Marketing EmpresarialFacebook en el Marketing Empresarial
Facebook en el Marketing Empresarial
 
Jornada Ecommaster Bitusi
Jornada Ecommaster BitusiJornada Ecommaster Bitusi
Jornada Ecommaster Bitusi
 
Cuadernillo completo
Cuadernillo completoCuadernillo completo
Cuadernillo completo
 
Atelier8 - Infos
Atelier8 - InfosAtelier8 - Infos
Atelier8 - Infos
 
Rse Toolkit
Rse ToolkitRse Toolkit
Rse Toolkit
 
Ese bulo sólo quiere capturar su e-mail
Ese bulo sólo quiere capturar su e-mailEse bulo sólo quiere capturar su e-mail
Ese bulo sólo quiere capturar su e-mail
 
Haley Miranda Group - Capabilities Overview
Haley Miranda Group - Capabilities OverviewHaley Miranda Group - Capabilities Overview
Haley Miranda Group - Capabilities Overview
 
BUNN Ultra 2 Slush Machine - Operating Service
BUNN Ultra 2 Slush Machine - Operating ServiceBUNN Ultra 2 Slush Machine - Operating Service
BUNN Ultra 2 Slush Machine - Operating Service
 
MASSI-ENGLISH-ESP-SIN-PRECIO
MASSI-ENGLISH-ESP-SIN-PRECIOMASSI-ENGLISH-ESP-SIN-PRECIO
MASSI-ENGLISH-ESP-SIN-PRECIO
 
Una dulce-idea-que-sale-del-desecho-de-café
Una dulce-idea-que-sale-del-desecho-de-caféUna dulce-idea-que-sale-del-desecho-de-café
Una dulce-idea-que-sale-del-desecho-de-café
 

Similar to Paella player 5

August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Configuration manager presentation
Configuration manager presentationConfiguration manager presentation
Configuration manager presentation
jeyg
 

Similar to Paella player 5 (20)

Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Fluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellFluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshell
 
Intro to CakePHP
Intro to CakePHPIntro to CakePHP
Intro to CakePHP
 
How to setup a development environment for ONAP
How to setup a development environment for ONAPHow to setup a development environment for ONAP
How to setup a development environment for ONAP
 
Fluentd v0.14 Overview
Fluentd v0.14 OverviewFluentd v0.14 Overview
Fluentd v0.14 Overview
 
Bringing Dev and Ops together with ChatOps
Bringing Dev and Ops together with ChatOpsBringing Dev and Ops together with ChatOps
Bringing Dev and Ops together with ChatOps
 
Fluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellFluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshell
 
Desktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumDesktop Apps with PHP and Titanium
Desktop Apps with PHP and Titanium
 
Apan media encoding
Apan media encodingApan media encoding
Apan media encoding
 
OSDC 2008 talk: An open source "YouTube"
OSDC 2008 talk:  An open source "YouTube"OSDC 2008 talk:  An open source "YouTube"
OSDC 2008 talk: An open source "YouTube"
 
CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011
 
Apache Deep Learning 201
Apache Deep Learning 201Apache Deep Learning 201
Apache Deep Learning 201
 
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)
 
The bugfix confirmation loop - PyConFI 2013
The bugfix confirmation loop - PyConFI 2013The bugfix confirmation loop - PyConFI 2013
The bugfix confirmation loop - PyConFI 2013
 
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
Google Developers Group Cloud Los Angeles, Progressive Web Applications by Ta...
 
Configuration manager presentation
Configuration manager presentationConfiguration manager presentation
Configuration manager presentation
 
appengine ja night #25 Google App Engine for PHP (English)
appengine ja night #25 Google App Engine for PHP (English)appengine ja night #25 Google App Engine for PHP (English)
appengine ja night #25 Google App Engine for PHP (English)
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-s...
TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-s...TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-s...
TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-s...
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

Paella player 5

  • 1. Paella Player 5 Carlos Turró Universitat Politècnica de València
  • 2. Paella Player • Opencast-compatible video player • Dual video • Media packages (slides, multiple language captions, other content) • In-video search • Standalone video player • Legacy/Non-Opencast video player + Media packages • Compatible look and feel for end-users • Live Streaming video player • Dual live video streaming • RTMP, MPEG-Dash, HLS* • GPLv3, source code in Github
  • 4. Paella Player 5 Update • Technical refactoring • Robustness • Easier to maintain • MPEG-Dash Support • Easier to add new video protocols • A new API for on-screen drawing • Annotations • Advertising • As today, we are in 5.0.0 (branch release/5.0.0) finishing issues
  • 6. Paella 4 problems • There are Asynchronous operations in Paella • E.g. load a video • There is a lot of plugins waiting for those events to finish Race conditions Nasty bugs Difficult to debug
  • 7. Events • Paella communications between the core and the plugins is handled through events • This is a bit odd, because the event both do the task and inform the plugins paella.events.trigger(PLAY) • Now the core requires an API call, and it generates the event when ready paella.player.play() • Paella 5 also uses Javascript promises to enforce serializable actions
  • 8. Video Editor as a separate project
  • 9. Video Editor as a separate project • Paella-editor is a now different Project github.com/polimediaupv/paella-editor • Paella will call this or any other editor (from the config file) • Under development (release before summer) • Angular.js
  • 11. MPEG-Dash • Dynamic Adaptive Streaming over HTTP • Breaking the video into a sequence of small segments and download on demand • Automatic or manual bandwidth selection • International standard • Codec agnostic • Used by Netflix, YouTube, Hulu, Akamai • Available in Wowza, and also in OSS tools like DASHEncoder • Standard javascript video player library (dash.js)
  • 13. Multiple quality support in MPEG-Dash
  • 14. External video plugins • Paella 5 allow defining external video players as plugins • MPEG-dash is using the reference dash.js player • es.upv.paella.mpegDashPlayer • RTMP is using the paella.swf file • es.upv.paella.rtmpPlayer • Now is easier to integrate external players for new/other formats as external plugins (paella with Vimeo or YouTube?)
  • 15. New API for on-screen drawing
  • 17. API for onscreen drawing • There is a new function to create or edit a canvas on top of Paella5 paella.player.videoContainer.overlayContainer.getLayer() • Then you can paint on top of it using standard HTML5 //Draw a horizontal line in Paella demoLayer = paella.player.videoContainer.overlayContainer.getLayer("demo") demoHR = document.createElement("hr"); demoLayer.appendChild(demoHR);
  • 18. Visual annotations plugin • A plugin to show notes at a predefined time, with a certain duration in a certain location of the screen User story: “As a teacher I want to be able to show HTML content to the students on top of the video at a certain playing time” Activation through the config file { "es.upv.paella.visualAnnotationPlugin": { "enabled": true, "url": "https://my.media.server/mynotes" } }
  • 25. Caveats • Currently there is no editor to create the visual annotations • There’s no API for feedback from the visual annotation plugin to the player
  • 27. Some final comments • Paella 4.2 also released, with a lot of bug fixing • Some plugins for Paella 4 have to be slightly adapted to work in Paella 5 • We have new docs ;-) Code Examples Cookbook • Final release in early April (after Easter break)
  • 28. Special thanks to our supporters and contributors • Suppporters • ETH Zürich • Contributors • Harvard DCE, Teltek, @djcp, @jjeisig, @spiraleddy, @Alfro, @flyapen, @rubenrua and all the issue spotters
  • 30. Promises Asynchronous Callbacks target.operation1(function(result) { target.operation2(function(result) { target.operation3(function(restult) { target.operation4(function(result) { }); }); }); }); Asynchronous Promises target.operation1() .then(function(result) { return target.operation2(); }) .then(function(result) { return target.operation3(); }) .then(function(result) { return target.operation4(); });
  • 31. Multiple quality support in MPEG-Dash
  • 33. Video Editor as a separate project • Paella 4 shipped with an integrated editor, using the Opencast Annotation service • The editor writes a track of elements related to video playing • Start • Stop • Break • The player is a dependency of the editor, but the reverse is not true

Editor's Notes

  1. http://www.cvpros.com/wp-content/uploads/2014/06/car-repair.jpg
  2. http://angelsecolodge.com/wp-content/uploads/2015/11/surf-the-wave.jpg
  3. https://www.wowza.com/forums/content.php?508-How-to-do-MPEG-DASH-streaming
  4. http://blog.streamroot.io/wp-content/uploads/2014/10/adaptive-streaming-schema.jpg
  5. https://upload.wikimedia.org/wikipedia/commons/a/a4/Dibujando_(8093315201).jpg
  6. paella.player.videoContainer.overlayContainer.getLayer
  7. http://humor.atresmedia.com/liopardo/hematocritico/gatitos-update
  8. http://www.spain.info/export/sites/spaininfo/comun/galeria_imagenes/gastronomia/r2_paella_valenciana_c_Conselleria_Turismo_Comunidad_Valenciana.jpg_369272544.jpg