Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
clappr/clappr: An extensible, plugin-oriented, HTML5-first media player for the web

clappr/clappr: An extensible, plugin-oriented, HTML5-first media player for the web

8 hours ago

Clappr

An extensible, plugin-oriented, HTML5-first media player for the web. It provides a modular architecture to build powerful playback experiences with ease.

CI</a> Quality Gate Status</a> Player Version</a> License</a> minified size</a> jsDelivr monthly downloads</a>

Getting Started

Install via npm or yarn:

yarn add @clappr/player

Breaking changes (playback peers)

Recent majors stopped embedding their streaming libraries — you must provide the peer:

| Package | Major | Change | | ------- | ----- | ------ | | @clappr/hlsjs-playback | 3.0.0 | hls.js no longer bundled | | dash-shaka-playback | 5.0.0 | shaka-player no longer bundled |

Project Structure

This repository uses a monorepo layout:

| Directory | Description | | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | /apps | Applications such as clappr.io and documentation site | | /packages | Core packages (e.g. @clappr/player, plugins, utilities) | | /packages/player | The main Clappr Player package. Exposes the public API and serves as the entry point for embedding the player in web apps. | | /packages/clappr-core | Contains the core architecture of the player — including components such as Core, Container, and Playback abstractions. | | /packages/clappr-plugins | Official plugin collection, providing ready-to-use extensions (e.g., UI features, analytics integrations). | | /packages/clappr-zepto | Lightweight DOM utility layer, a modernized fork of Zepto tailored for Clappr’s internal UI rendering. | | /packages/hlsjs-playback | Playback module that adds support for HLS streams using hls.js. | | /packages/dash-shaka-playback | Playback module that enables MPEG-DASH streaming via Shaka Player. | | /packages/html5-tvs-playback | Playback module for HbbTV smart TVs, supporting VoD/Live and DRM via the OIPF DRM agent. |

Documentation

For the latest guides, examples, and architecture overviews, visit the resources below:

Local Development

Requires Node.js ≥ 24. The repo pins the major version in .nvmrc; with nvm, run nvm install then nvm use in the project root before any yarn command. Yarn 1 aborts every yarn command when the engine check fails.

Clone the repository and run:

# Install dependencies
yarn install

Start the development environment

yarn dev

Open in your browser

http://localhost:8080

Contributing

We welcome contributions. See CONTRIBUTING.md for how to report bugs, propose features, and submit pull requests. Please follow our Code of Conduct.

Contributors

Thanks to all our amazing contributors! 🎉

towerz
towerz
flavioribeiro
flavioribeiro
leandromoreira
leandromoreira
joaopaulovieira
joaopaulovieira
tjenkinson
tjenkinson
leaofelipe
leaofelipe
jhonatangcavalcanti
jhonatangcavalcanti
tchakabam
tchakabam
kslimani
kslimani
thiagopnts
thiagopnts
dayvson
dayvson
pedrochamberlain
pedrochamberlain
bikegriffith
bikegriffith
vagnervjs
vagnervjs
barbosa
barbosa
felipecesr
felipecesr
fecampi
fecampi
ronag
ronag
andrefilimono
andrefilimono
paluh
paluh
davidjb
davidjb
NicholasAsimov
NicholasAsimov
gamtiq
gamtiq
afonsocdaniel
afonsocdaniel
leftees
leftees
hounvs
hounvs
ariselseng
ariselseng
stanogurnik
stanogurnik
guilhermebruzzi
guilhermebruzzi
amanda-bmelo
amanda-bmelo
michaelcunningham19
michaelcunningham19
rheber
rheber
luanraithz
luanraithz
mrlika
mrlika
breim
breim
sjlu
sjlu
raphamorim
raphamorim
avreg
avreg
alvynmcq
alvynmcq
argoilves
argoilves
svanscho
svanscho
leonardocardoso
leonardocardoso
me-vlad
me-vlad
wahajdar
wahajdar
leticiafernandes
leticiafernandes
lucasrodcosta
lucasrodcosta
RussCoder
RussCoder
paulocesarjr
paulocesarjr
luzeduardo
luzeduardo
otmjka
otmjka
hexray-newbee
hexray-newbee
derrod
derrod
gitter-badger
gitter-badger
seanhussey
seanhussey
rolandstarke
rolandstarke
rcmachado
rcmachado
Niko78
Niko78
MartinKolarik
MartinKolarik
MTRNord
MTRNord
jussike
jussike
kad3nce
kad3nce
jlmcdonald
jlmcdonald
revolter
revolter
gbarrostv
gbarrostv
emilepommier
emilepommier
3dd13
3dd13
bent0b0x
bent0b0x
wijloc
wijloc
mainadapter
mainadapter
lucasbraganca-tw
lucasbraganca-tw
liamsegura
liamsegura
shaharmor
shaharmor
PNixx
PNixx
kolpax
kolpax
arielfurtado
arielfurtado
chooh
chooh
ogunkarakus
ogunkarakus
nicolaswalcker
nicolaswalcker
ahmadmayahi
ahmadmayahi
celiolatorraca
celiolatorraca
chriswiggins
chriswiggins
diegosperes
diegosperes
skrater
skrater
medeeiros
medeeiros
jfairley
jfairley
markx
markx
KingHorse2015
KingHorse2015
moni33
moni33
LiShiSangZi
LiShiSangZi
CommanderRoot
CommanderRoot
timgates42
timgates42
rpadovani
rpadovani
Rakesh9100
Rakesh9100
nemesisqp
nemesisqp
Bugadinho
Bugadinho
Lucbm99
Lucbm99
hugocm99
hugocm99
giselylucas-tw
giselylucas-tw
fabiohcnobre
fabiohcnobre
Snoopynha
Snoopynha
Bubblesphere
Bubblesphere
brinobruno
brinobruno
brunacm-dev
brunacm-dev
poshe
poshe
Ronkiro
Ronkiro
Abubakrce19
Abubakrce19
ahu
ahu

See the full list on our contributors page.

Security

Found a vulnerability? Please do not open a public issue — see our Security Policy for how to report it privately and what falls in scope.

License

BSD-3-Clause © Globo.com

Chat with me