Paella Player es un reproductor de vídeo multi-stream destinado a la web, cuyo desarrollo he llevado a cabo en la Universidad Politécnica de Valencia durante casi una década. Cabe destacar la naturaleza multi stream del reproductor: es capaz de agrupar y reproducir varias fuentes de vídeo de forma simultanea.
Su uso principal está en el ámbito académico, donde resulta especialmente útil el disponer de dos streams de vídeo para la imagen del ponente en la pizarra por un lado y la presentación de diapositivas por otro lado.
Al tratarse de dos vídeos separados, el usuario puede escoger la disposición de los vídeos, o incluso ocultar uno de ellos si no le interesa visualizarlo.
Descripción
El proyecto tuvo su inicio como una alternativa al reproductor de vídeo oficial del proyecto Opencast, el cual en ese momento se conocía como Matterhorn. Este reproductor original se basaba en tecnología Flash, lo que hacía imprescindible su actualización a tecnologías web más seguras y contemporáneas.
El proyecto comenzó como un reproductor monolítico de vídeo multi stream para utilizar en el portal de vídeos de la Universidad Politécnica de Valencia (https://media.upv.es), y que a la vez sirviera para sustituir el reproductor incorporado de Opencast. Poco después de poner en producción el reproductor en la institución, algunos miembros del proyecto Opencast se interesaron por utilizar Paella Player, como alternativa a la versión Flash que incorporaba por defecto. En este punto es cuando se le puso el nombre al proyecto, por estar desarrollado en Valencia.
Paella Player ha recibido dos refactorizaciones importantes:
- Migración del código a lenguaje ECMAScript 6: se eliminaron gran parte de las dependencias del proyecto, aprovechando las nuevas capacidades del lenguaje. Esta refactorización implicó a alrededor del 70% del código del proyecto. Se integraron también los primeros sistemas de building y compilación para mejorar la compatibilidad con navegadores que no soportaban ECMAScript 6
- Paso de reproductor monolítico a biblioteca: la versión 6.5 fue la última como reproductor monolítico. A partir de ese momento, Paella Player pasó a ser el nombre del proyecto, y el código pasó a dividirse en varios paquetes en forma de bibliotecas. La biblioteca
paella-core
es la principal, y su alrededor se implementaron bibliotecas de plugins. Antes de esto, integrar Paella Player en un sitio web pasaba obligatoriamente por la utilización de un iframe en la web donde se incorporaba el reproductor. Conpaella-core
lo que se hace es implementar el reproductor dentro del sitio web, utilizando la tecnología o framework subyacente.
Para facilitar la integración con frameworks y bibliotecas, Paella Player está implementado con vanilla JavaScript. En la versión 1.x depende de la biblioteca core.js
, al utilizarse Babel como compilador, pero en la versión 2.x se ha eliminado esa dependencia. Además de esto, para la reproducción de vídeo HLS en formato m3u8, se utiliza la biblioteca hls.js
, que está presente como dependencia en paella-core 1.x. En la versión 2.x esta dependencia se ha eliminado de paella-core, ya que se han extraído los formatos de video no nativos de la biblioteca principal a una nueva biblioteca paella-video-plugins.
Destacado
El aspecto técnico más destacado de este proyecto es su naturaleza multi stream, su arquitectura basada en plugins y su uso mínimo de dependencias externas. Esto ha facilitado la incorporación de reproductores de vídeo basados en Paella Player en muchos otros frameworks.
Actualmente existen desarrollos de reproductores de vídeo basados en Paella Player en React y Angular. El sitio web oficial de Paella Player (https://paellaplayer.upv.es) está implementado con la biblioteca Svelte.js, y tiene varios ejemplos de integración del reproductor. Entre estos ejemplos, en la página de demos, hay disponible un playground donde es posible personalizar un reproductor Paella Player en la misma web.
Por otro lado, a raíz de su inclusión como reproductor de vídeo por defecto del proyecto Opencast, también cabe destacar el uso de Paella Player en instituciones de mucho prestigio.
Actualmente hacen uso de Paella Player instituciones como el departamento DCE de la Universidad de Harvard, la universidad ETH de Zúrich o el CERN, por poner algunos ejemplos. Algunas de estas instituciones realizan aportaciones en el código.
Disponibilidad
El proyecto Paella Player es de código abierto, y está disponible con licencia ECL (una modificación de la licencia Apache 2.0, relativa al uso de patentes). Está público en sus repositorios de Github, y también puede instalarse mediante sus paquetes de NPM.
Toda la información de descargas esta en el siguiente enlace:
https://paellaplayer.upv.es/#/download
Referencias
Sitio web del proyecto: https://paellaplayer.upv.es/
Proyecto Opencast: https://opencast.org/
Enlaces a repositorios y descargas: https://paellaplayer.upv.es/#/download