SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Perforce's Rich Client Framework
Perforce's Rich Client Framework  Perforce's Rich Client Framework
Perforce's Rich Client Framework Perforce
 
Web APIs, the New Language Frontier
Web APIs, the New Language FrontierWeb APIs, the New Language Frontier
Web APIs, the New Language FrontierRestlet
 
Vagrant up-and-running
Vagrant up-and-runningVagrant up-and-running
Vagrant up-and-runningJoe Ferguson
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composernuppla
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarskyoscon2007
 
YouTube Software - Video Editing
YouTube Software - Video EditingYouTube Software - Video Editing
YouTube Software - Video EditingMyspeedhub
 
Build & deploy PHP application (intro level)
Build & deploy PHP application (intro level)Build & deploy PHP application (intro level)
Build & deploy PHP application (intro level)Anton Babenko
 
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...Combell NV
 
Integração Contínua com PHPCI
Integração Contínua com PHPCIIntegração Contínua com PHPCI
Integração Contínua com PHPCIThiago Paes
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composernuppla
 
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 PHPTareq Hasan
 
Deploying PHP Application Using Bitbucket Pipelines
Deploying PHP Application Using Bitbucket PipelinesDeploying PHP Application Using Bitbucket Pipelines
Deploying PHP Application Using Bitbucket PipelinesDolly Aswin Harahap
 
Practical PHP Deployment with Jenkins
Practical PHP Deployment with JenkinsPractical PHP Deployment with Jenkins
Practical PHP Deployment with JenkinsAdam Culp
 
Organizing Your PHP Projects (2010 ConFoo)
Organizing Your PHP Projects (2010 ConFoo)Organizing Your PHP Projects (2010 ConFoo)
Organizing Your PHP Projects (2010 ConFoo)Paul Jones
 
Drupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflowDrupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflowvaluebound
 
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 StudioNovell
 
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 WorkloadNovell
 

Was ist angesagt? (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
 

Andere mochten auch

Hacia una nueva docencia ... caso UPV
Hacia una nueva docencia ... caso UPVHacia una nueva docencia ... caso UPV
Hacia una nueva docencia ... caso UPVCarlos Turró Ribalta
 
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 ValenciaCarlos Turró Ribalta
 
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ènciaCarlos Turró Ribalta
 
FFMPEG on android
FFMPEG on androidFFMPEG on android
FFMPEG on androidYoss Cohen
 
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...Daemon Quest Deloitte
 
Plan estrategico iess
Plan estrategico iessPlan estrategico iess
Plan estrategico iessFernanda JL
 
Facebook en el Marketing Empresarial
Facebook en el Marketing EmpresarialFacebook en el Marketing Empresarial
Facebook en el Marketing EmpresarialKaren Iglesias
 
Jornada Ecommaster Bitusi
Jornada Ecommaster BitusiJornada Ecommaster Bitusi
Jornada Ecommaster BitusiBitusi Agency
 
Cuadernillo completo
Cuadernillo completoCuadernillo completo
Cuadernillo completoPaola Perez
 
Rse Toolkit
Rse ToolkitRse Toolkit
Rse ToolkitRoadmap
 
Haley Miranda Group - Capabilities Overview
Haley Miranda Group - Capabilities OverviewHaley Miranda Group - Capabilities Overview
Haley Miranda Group - Capabilities OverviewPhilip Fracassi
 
MASSI-ENGLISH-ESP-SIN-PRECIO
MASSI-ENGLISH-ESP-SIN-PRECIOMASSI-ENGLISH-ESP-SIN-PRECIO
MASSI-ENGLISH-ESP-SIN-PRECIOMASSI 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
 

Andere mochten auch (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é
 

Ähnlich wie Paella player 5

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)Chris Adamson
 
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 WorkbenchHoward Greenberg
 
Fluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellFluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellN Masahiro
 
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 ONAPVictor Morales
 
Fluentd v0.14 Overview
Fluentd v0.14 OverviewFluentd v0.14 Overview
Fluentd v0.14 OverviewN Masahiro
 
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 ChatOpsJaap Brasser
 
Fluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellFluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellN Masahiro
 
Desktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumDesktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumBen Ramsey
 
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"Silvia Pfeiffer
 
CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011Graham Weldon
 
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)Chris Adamson
 
The bugfix confirmation loop - PyConFI 2013
The bugfix confirmation loop - PyConFI 2013The bugfix confirmation loop - PyConFI 2013
The bugfix confirmation loop - PyConFI 2013Niklas Närhinen
 
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...Marie Smith
 
Configuration manager presentation
Configuration manager presentationConfiguration manager presentation
Configuration manager presentationjeyg
 
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)Ryo Yamasaki
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Javatdc-globalcode
 
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...Stefan Teixeira
 

Ähnlich wie 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...
 

Kürzlich hochgeladen

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
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 WorkerThousandEyes
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 

Kürzlich hochgeladen (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
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
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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...
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 

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

Hinweis der Redaktion

  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