Podlove Web Player

Code Climate

Build Status


HTML5 Goodness for Podcasting

Podlove Web Player is a Podcast-optimized, HTML5-based video and audio player with Flash fallback. It can be used as a WordPress plugin or within a static HTML/JavaScript context.

The Podlove Web Player supports almost every modern browser and also does captions, chapters and much more. Thanks to MediaElement.js for providing the foundation.


The release version should have the application, the moderator their dependencies and necessary styles and fonts ready in the dist folder. Along with them there is a running example that shows you how to integrate the player in any webpage. Either directly as in embed.html or as an iframe/ embedded player as in index.html.


Clone the repository and install all dependencies with

bower install
npm install
npm install -g gulp

Install autoprefixer

Install autoprefixer to parse CSS and add vendor prefixes to rules fetched from ‘Can I Use’ https://github.com/ai/autoprefixer

sudo npm install --global autoprefixer

Build the CSS file

There is a gulp task for that, processing a version with line comments as well as a minified one

gulp styles

Build Distribution Package

Make is now replaced by gulp

Just run the default task to build the distribution package to dist folder.


For production

npm install -g uglifyify minifyify

smallest possible code (>50kB)

browserify -g uglifyify js/app.js > static/podlove-web-player.js

with sourcemaps (~250kB)

browserify -d js/app.js | minifyify > static/podlove-web-player.js


Build, serve and watch the local repository version. With livereload on top

gulp serve


Some automated tests are written and can be found in the spec folder. Install PhantomJS to be able to run them on your machine.

Run them with

gulp test

Each commit pushed to the repo will automatically launch the tests on TravisCI.


Important! The Wordpress-plugin that includes the Podlove-Webplayer alone will be moved to its own repo.


Fork it

Create your feature branch

git checkout -b my-new-feature

Commit your changes

git commit -am 'Added some feature'

Push to the branch

git push origin my-new-feature

Create new Pull Request


git fetch

git checkout -b release origin/release

git merge origin/dev

gulp build

Force add all changes. Otherwise changes to the dist folder would not be part of the release.

git add dist -f

git commit "release <version-number>"

git push

Copy the commit messages from the merge commit to clipboard for later use.

git show HEAD^

Go to https://github.com/podlove/podlove-web-player-v3/releases/new

Use as the tagname. Be sure to add a "v" to the beginning. Versions follow semantic versioning (for details see http://semver.org).

Find a (funny) name that can be easily remembered by humans.

Paste the contents of your clipboard into the description field and edit them to be a human readable changelog.

Hit the save button.


Gerrit van Aaken, Simon Waldherr, Frank Hase, Eric Teubert, Juri Leino, Alexandra von Criegern and others




BSD 2-Clause License