A comprehensive video player integration for Opencast, built on top of Paella Player 8. This monorepo contains packages and examples to integrate Paella Player with Opencast video management systems.
- Modern Web Components: Built with web standards for easy integration
- Opencast Integration: Native support for Opencast APIs and workflows
- Modular Architecture: Pick and choose the components you need
- TypeScript Support: Full type safety and excellent developer experience
- Responsive Design: Optimized for desktop and mobile devices
- Plugin System: Extensible with custom plugins
- Accessibility: WCAG compliant video player
This monorepo contains the following packages:
@asicupv/paella-opencast-core- Core functionality and utilities for Opencast integration@asicupv/paella-opencast-component- Web component wrapper for easy integration@asicupv/paella-opencast-plugins- Collection of Opencast-specific plugins@asicupv/paella-opencast-skin- Default styling and themes
engage-paella-player- Complete Engage-style player implementationopencast-component-example- Simple web component usage examples
- Node.js: >= 22.0.0
- npm: >= 10.2.4
# Clone the repository
git clone https://github.com/polimediaupv/paella-opencast.git
cd paella-opencast
# Install dependencies
npm install
# Build all packages
npm run build:libs<!DOCTYPE html>
<html>
<head>
<script type="module" src="path/to/paella-opencast-component.js"></script>
<link rel="stylesheet" href="path/to/paella-opencast-component.css">
</head>
<body>
<paella-opencast-player
src="https://your-opencast-server.com/api/events/event-id"
config="path/to/config.json">
</paella-opencast-player>
</body>
</html># Start development mode for all packages
npm run dev:libs
# Start development for Engage player example
npm run dev:engage
paella-opencast/
├── packages/ # Core packages
│ ├── paella-opencast-core/ # Core functionality
│ ├── paella-opencast-component/ # Web component
│ ├── paella-opencast-plugins/ # Opencast plugins
│ └── paella-opencast-skin/ # Styling and themes
└-─ examples/ # Usage examples
├── engage-paella-player/ # Engage-style player
└── opencast-component-example/ # Component examples
- API Documentation: Available in the
doc/directory - Examples: Check the
examples/directory for working implementations - Paella Player 8 Docs: https://paellaplayer.webs.upv.es/
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes and add tests
- Run the test suite:
npm test - Commit your changes:
git commit -am 'Add new feature' - Push to the branch:
git push origin feature/my-feature - Submit a pull request
- Follow TypeScript best practices
- Add tests for new functionality
- Update documentation as needed
- Ensure all packages build successfully
- Paella Player Team: For the excellent video player foundation
- Opencast Community: For the robust video management platform
- Universitat Politècnica de València: For sponsoring the development
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Discussions
- Documentation: Paella Player 8 Website
Developed with ❤️ by ASIC - UPV