HTML5 media project underway

travist's picture

I know it is a long time coming, but I have just created the home base for the HTML5 media initiative. http://drupal.org/project/html5_media

This project has one goal. To bring a standardized, Open Source GPL front end media solution to Drupal core. This project is completely open and has no other intentions other than to provide a standard front end media solution that will benefit the entire Drupal community, so therefore, whoever would like to help in this initiative is welcome to contribute!

This project has the following initiatives.

  • Add HTML5 multimedia support for both the video and audio HTML5 elements.
  • Build an extensible media player framework that easily allows other modules to provide plugins to support additional front end multimedia capabilities, such as Flash Fallback and YouTube API integration.
  • Utilize the standard Drupal template system to provide the front end presentation of your media. Eventually, a media player template could be included in each Drupal template to be used for media display.
  • Provide tight integration into other HTML5 initiatives.

If anyone has any other good ideas for this project, then please let me know. I will be committing some of the first ( non-functional at this point ) code to this project this weekend to start on the fully extensible media player built just for Drupal. If anyone is interested in getting involved, then please let me know!

Thanks,

Travis Tidwell

Comments

Is this a proposal to build

ckng's picture

Is this a proposal to build something like jPlayer (http://www.jplayer.org/)?
Or a wrapper like http://drupal.org/project/jplayer?

CK Ng | myFineJob.com

This effort would be similar,

travist's picture

This effort would be similar, but would tie into the Drupal theme system to allow for any themer to build their own interfaces. It would also include an extensible framework to allow other modules to build on top of the core player to offer other features such as flash fallback, YouTube API, and Vimeo API integration.

After reading up on your

travist's picture

--- moved. this comment was intended for a post below ----

Accessible controls!

Cliff's picture

Accessible controls are absolutely essential.

This will certainly be a huge

travist's picture

This will certainly be a huge focus given our goal is to eventually implement this into core. Thanks for the suggestion.

What if we extend from

heshan.lk's picture

What if we extend from file_styles? there for we can have formatters for various file types. We can add a switcher for player to play media.

Senior Drupal Developer at DrupalConnect

My initial plan is to tap

travist's picture

My initial plan is to tap into the field formatters to allow for a Media Player output for certain file types. Is this what you are referring too? I think a good first step is to add a new formatter for the file field to display that within a media player. One thing that we will need to figure out, though, is how to combine several different fields within an entity to display in the media player... Such as preview image and playable media.

styles.module

sreynen's picture

I believe that was a reference to the styles modules, which is what the media module uses to handle output formatting for media. That seems like an obvious framework on which to build HTML5 media tools.

I mentioned about the Media +

heshan.lk's picture

I mentioned about the Media + Styles here. Styles has nice api to handle formatters for the any type of files. I do not thing Media module is capable of handling multiple files out put yet as we need it for HTML5 videos (mp4, webm etc).
I think styles module do a lot of mentioned by you.

Senior Drupal Developer at DrupalConnect

Derivatives

sreynen's picture

There's an in-progress GSoC project to add derivatives to Media.

Very interesting sreynen. I

travist's picture

Very interesting sreynen. I will investigate this project further and get back with you on anything that seems to be duplicate effort. I certainly don't want to duplicate efforts already in place, so I will see what I can do to help where I can.

After reading up on your

travist's picture

After reading up on your goals, I don't see any overlap in efforts here. It seems the main focus for your project is the backend management of multiple media types and conversions, which is amazing BTW! This effort would be to introduce a standardized front-end presentation layer for media which currently does not exist in Drupal core and should exist. Let me know if I misunderstood your project, but from a high level first glance, it seems efforts are not overlapping.

Thanks for the input.

Travis.

Not mine

sreynen's picture

I have nothing to do with that project. That was a response to what heshan.lk wrote about different codecs, not anything you wrote.

I hear you there heshan, and

travist's picture

I hear you there heshan, and will certainly look into that. I have used the Style module and have even talked with Aaron and Arthur about it. However, I feel that the tools are already in place within Drupal core to provide me with what I need to get this going. Unless I absolutely need to make that move, I would rather not introduce a dependency if it isn't absolutely necessary.

I'm wondering if rather that

Dave Reid's picture

I'm wondering if rather that building our own library, we can use great existing solutions? We would just need to add Media styles support to http://drupal.org/project/mediaelement.

Senior Drupal Developer for Lullabot | www.davereid.net | Gittip me!

Thanks for the input Dave, I

travist's picture

Thanks for the input Dave,

I am completely for using tools already available, and think this is definitely an option. I have taken a good look at mediaelement and the only thing that concerns me is the extensibility for other modules to implement custom functionality. Another thing that concerns me is that it builds HTML from Javascript rather than using the core Drupal theme system. This makes it difficult for themers to get a grip on customizing it within their own Drupal themes, and something that would need to be resolved.

Another thing I want to mention is that I always pictured that the core implementation would be something that does not rely on a 3rd party plugin ( flash fallback ), but rather provides just the standard HTML5 implementation out of the box, while at the same time provides a framework that allows for easy extendability for other contrib modules to implement Flash fallback, YouTube API, etc. Basically, I feel that most 3rd party libraries out there provide an out-of-the-box all-in-one solution which does not really follow the Drupal model of providing basic critical functionality within core, and then to provide a framework for other modules to build on top of that. I already did something similar with the OSM Player ( http://www.mediafront.org ), but there are a LOT of things that need to change to even be remotely close to being within core Drupal. Again, what this ends up being is up for debate, but is something that Drupal core should have.

I appreciate everyones input.

I posted this in an unrelated

travist's picture

I posted this in an unrelated issue queue, and am moving it here since it is more in context...

I have thought more about this and have some other things I want to add.

I agree that MediaElement is a well-established, popular library and that has a huge benefit. I won't argue that at all. As for maintaining ourselves, I will say that the library that I am developing will be stand-alone as well, but includes some items (which I will outline below) that are necessary for a Drupal core, which MediaElement does not provide since it was developed as only a stand-alone player. However, because it will be offered as a stand-alone, and IF it gets buy-off within the Drupal community, I assure you it will be maintained and supported by more people than MediaElement. This is the power of our community once we get behind a project.

I could give a long description on why I think MediaElement isn't good for Drupal core, but here is a high level bullet list of items outlining my concerns.

  • Theming - I believe that ANY front end element within Drupal should be able to be themed and controlled within the theme layer. I understand that media element does allow theming using CSS, but does NOT allow you to change markup... in fact, it is hard coded within the javascript, which in my opinion isn't right for a CMS. Another thing is he is doing very custom themey stuff within the "core" player. Themer's wanting different markup or different functionality would just end up using something different, or hack it (which isn't allowed for Drupal core). With what I am building, a themer would simply provide their own templates to their player within their theme folder, where they not only provide the markup, CSS, but also have the option to provide their own behaviors on how the player should behave by simply deriving from the base classes provided.
  • Leverage what Drupal already provides: Great example here is jQuery UI. There is a LOT of code within Media Element that could be completely eliminated if he didn't have the "stand-alone" first stance with regards to his player. Here is an example: This shows what he is doing to control the slider control, which could become this if he just used jQuery.UI slider control.
  • Extensibility: The big thing here is to allow modules the ability to provide their own player API wrappers. From what I can tell, media element does not allow you to provide your own player wrappers to common javascript API players out there such as YouTube, Vimeo, etc. Here is what I am referring to where I already provide some for Vimeo and YouTube. With this model, modules could simply add their own custom wrappers for their own 3rd party service player and it will just tap right into the core player, which also provides the SAME API for anyone using it...

My goal for this project is to provide a "core" player which others can extend to its fullest, but ONLY provide the minimal necessary stuff so that the library does not get bloated with [features] [that] [should] [be] [plugins], which could be provided by contrib modules.

Hope this helps illustrate my concerns. I have more, but these are the high level ones... :)

Thanks,

Travis.

Thanks for starting up this

aaron's picture

Thanks for starting up this initiative, travist! This is much needed, and if we can pull it off right, we'll ensure Drupal continues to be a leader in the field.

Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic

Thanks Aaron. As always, I

travist's picture

Thanks Aaron. As always, I respect your opinion so whatever suggestions you have will certainly be heard.

Would make sense

gusaus's picture

Would make sense to have a Drupal based front end solution to complement the Media module. Right now it's difficult to find a highly customizable solution for both Video and Audio. Sounds like this module could essentially replace Emfield? http://drupal.org/project/emfield

Gus Austin

I personally think emfield (

travist's picture

I personally think emfield ( Media module ) would complement this effort by allowing other modules to plug into the core platform to provide the API integration that most 3rd parties offer such as http://code.google.com/apis/youtube/js_api_reference.html. Basically how it will work is core will offer the HTML5 integration out of the box, but allow a plugin interface for other modules such as emfield and Media module to build on top of that core feature.

Interested, but how does it work?

heretic381's picture

Hi to travist and other members of this group.

I'm a sort of a drupal newbie, creating my first site with this cms, and searching for good modules for audio players. Mostly. Video players would be the next step. I understand that this module is somehow related to the subject, but I cannot find any documention of how it works et what it exactly does. No help topics.

There's some interesting free HTML5 audio players on the internet, could your module allow using them in drupal?

Thanks in advance

Music

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: