
Plyr – A simple HTML5 media player (plyr.io)
120 points by gulbrandr on Mar 3, 2015 | hide | past | web | favorite | 29 comments

AS someone that programs in R plyr is a major library for manipulating languages. It is one of the most popular libraries in use for R.


You'd think that someone choosing a name for a new technology product would do a single google search first, yet time and time again we end up with these collisions. There should be a central repository mapping names to services that we can use to look up potential names.

Yup, my first thought too. Though presumably different roots - player and pliers. There's also another stringr (crowdsourced video content platform) and caret (text editing for Chrome).

Now dplyr has pretty much replaced it with better syntax and perf. Take a look at it. https://github.com/hadley/dplyr

One thing I've been curious about with R:

Why is it that popular libraries in R are replaced with other names when enhanced? I.e., plyr->dplyr, reshape->reshape2, etc.? Is it a namespacing thing? I guess if there's not a universally accepted way of versioning library imports that would explain it as well.

"dplyr is the next iteration of plyr, focussed on tools for working with data frames (hence the d in the name)."

plyr does more than dplyr (I perfer dplyr)

reshape does more than reshape2 which does more than tidyr

They actually get more refined and are different creatures with similar features and not different versions.

I'll admit, I did little research other than looking for media players using the same name. There's only so many relevant words or variations of words I could use.

This is really nice.

The only small suggestion I'd make from a usability standpoint: make volume adjustments as the slider is being dragged instead of waiting until `mouseup`. It's always nicer to get immediate feedback when you're changing volume levels.

Hey Kevin,

Thanks! I've implemented your change in the latest version. It makes sense to check the "input" event rather than "change" as it occurs first. Only downer is no IE10 support.

Very clean looking.

I'm not so keen on the default "start playing from the beginning" icon though. To me, it looks too much like a "loop" toggle.

Also, it would be nice if the caption toggle had a visual on/off look. Perhaps it could have a solid fill when turned on. This would make it easier to tell at a glance if captions are on when at a point in a video where there's no dialogue.

Thanks for the feedback fellas. I'll look at this. You're totally right that they're both not obvious enough.

Agreed. Love the L&F but that icon is slightly "misleading," as far as typical user expectations goes.

IANAL and I am scared by licenses I don't recognize. I pretty much bail as soon as I see the words "all rights reserved" regardless of what comes after it.

That said, this license is extremely short and for a tool that is clearly intended to be distributed. Is this essentially a CC attribution license? If so, why not just use that?


It's just a standard BSD 3-clause license, see: http://opensource.org/licenses/BSD-3-Clause

... which he says at the bottom of the page. I'll leave the monument to my ignorance above, in case it helps someone else.

Moreover, they don't really adhere to their own license: http://cdn.plyr.io/1.0.19/plyr.js doesn't reproduce the copyright notice despite being a redistribution in binary (or source???) form. If you just copy&paste that file into your own project you are in violation of their license.

On the upside, likely nobody cares. I doubt anybody has ever been sued over violating the BSD license.

I've always assumed "All rights reserved" was just a redundant part of the copyright declaration (it's already copyrighted, what else can you possibly reserve without e.g. trademark or patent law etc?), and that the explicit copyright license that usually follows and grants exceptions to the copyright is all that matters.

I hadn't thought about it much until now though, perhaps that assumption is wrong in some jurisdictions.

I'll admit, this is my first open source project and I didn't know what to do license wise. I've now changed it to the MIT license as that seemed the most appropriate? Basically we're not going to sue you if you modify or use it. Frankly I'm happy it's been so well received. Thanks for the feedback!

Really nice. What I'm missing most is support for different bitrates/resolutions of the same video. Right now everyone gets served the same file regardless of connection speed.

Hey there, thanks for the feedback. This has been raised as an issue on GitHub and is on my to-do list.

Will this support streaming - HLS and MPEG-DASH??

The current timecode updates very slowly and without any animation, it's pretty janky. I recently implemented a HTML toolbar for Flash video playback and it's perfectly fine to do 60fps updates on the scrub bar with RAF

Do you mean the progress of playback? This is a native <progress> element. I did have some transitioning on it originally but it felt sluggish. Thanks for the feedback though I'll take a look into it.

The captions button isn't modal, it doesn't indicate if captions are on or off.

Accessibility-wise this isn't very good. Heck, even from a usability standpoint: no tooltips if I don't understand a button? Why? Those circular arrows might mean repeat (do they?), but all I know is clicking them restarts the music. If I hover, I'm not told what it should be doing. There aren't even alt= attributes or titles somewhere for screen readers... except for a useless aria-label ("undefined, Video demo").

Hey there, thanks for the feedback! Good points. I agree, the captions and restart icons do need some work. Easy fix that I can do pretty quickly.

With regards to the tooltips, currently there are hidden labels which are read out by screen readers. If you view the rendered source, you'll see some spans with "sr-only" classes which contain labels that get read out by the likes of voiceover, etc. An option to show these as tooltips would be a good idea though.


Works really well on Firefox 31.5.0 on Slackware Linux. Cool! I usually experience a fair amount of trouble related to HTML5 video/audio.

Would this work with Cordova Media files? Something like this is missing in Cordova/Phonegap atm.

I love the hidden feature, the ability to mark and copy the subtitles :)
