Project description:

Complete rewrite of video module implementing a plug-in system which could easily be extended to add new features and video file support. After working on the new plug-in design, some key features still not available on video module will need to be implemented in order to prove the new plug-in system effectiveness.

Motivation:

World wide web is becoming one of the main source of information and entertainment. While the main type of web content is still "text based" there are lot of other content types which are being spread using the web. In a really short period streaming, pod casting and vodcasting became interesting and exponentially growing phenomenas.

This is why Drupal need a good infrastructure for support this growth providing good modules to support media content.

Current video module implementation is good. In the last year lot of cool features have been added but there are still some key features not implemented.
Moreover adding last features to the module let developers understand that without a plug-in system maintaining and develop the code will became a nightmare.

Success criteria:

The project will be deemed successful if those features are implemented:
Complete rewrite of the module. Develop a plug-in system.
Implement current features on the new plug-in infrastructure.

Based on the new plug-in system those features have to be implemented:
Upload:
an user must be able to upload videos through drupal without use FTP
Thumbnails:
user must be able to attach thumbnails to each video uploading with browser
W3 XHTML compatibility:
the XHTML code generated by the module to embed videos need to be W3 compatible. Note that this can break old browsers/video player support which is not desiderable. Some javascript magic can be of help.
3GP and MPEG4 support:
Browsable taxonomy (image module like)
Automatic thumbnail:
use a server side install of ffmpeg to generate a thumbnail of the video
Automatic conversion:
use a server side install of ffmpeg to convert video files to different formats
Google video:
add a plug-in to enable support for google videos
Video filter:
add a plug-in to let users embed video nodes on other contents. this is done by creating a filter which renders video module code where it find something like [video=10] on other content text.

Roadmap:

  1. Install Drupal 4.7 and Video module. Get acquainted with the structure of Drupal modules and hooks.
  2. Study the current implementation of video module.
  3. Study the E-commerce module in order to understood the plug-in features and apis it supports.
  4. Implement the new code design for plug-ins.
  5. Implement requested features on the new plug-in apis.
  6. Create a working install as demonstration of success.

Comments on this proposal

video hack - auto-convert to flv, and 3gp for mobile theme
datatect - May 23, 2006 - 00:42

my collaborator Axel hacked Drupal in a couple of weeks so we upload not only pix pix and now sound and video (most ffmpeg known formats) for members with permission. it's super. if admin gives you a role with permission, you just use the standard local disk Browse and upload over http function, the same one that is used to upload images.

what is superkewl is that the video upload gets converted, resized and embedded as an flv for our drupal web theme, and converted, resized and embedded as a 3pg video for our drupal mobile theme, from the single upload.
also superkewl is that the URL/rss.xml for the drupal site when loaded into iTunes, turns our feed into a Vodcast.

it works like a charm and fits well inside our folksonomy tagcloud-style theme interface (also a tagadelic hack that turns text-based tagclouds into cycling images. we use 'gotchis' :-) (for info on that check wikipedia 'hackergotchi' or maybe you know them from planet gnome, etc. gotchis rock and rule our drupal site :-)

we go online june 7th - the day the UN opens their Office of Outer Space Affairs conference in Vienna. We are in Munich then opening a dual screen Bluetooth (navigate and upload to drupal node) interface to our drupal core: www(dot)orbit(dot)zkm(dot)de and if you want to make the bellheads happy and rich dial mobile(dot)orbit(dot)zkm(dot)de

please go easy on it. it's not a test community. it's about peaceful cultural uses of Earth's orbit and beyond. if any of you are into 'space art, architecture, performance, sound, phenomena,' launch and orbit media and meaning with us.

any drupal gurus want to turn Axel's hacks into a video/vodcast module and a visual tagcloud module, give it back to the drupal community, would be useful i think. i'd have to check with Axel but he'd probably agree. none of us are into drupal that long. i do like it - it's lean and clean. drupal just needs web2 and dataviz escape velocity to get past the 'cms look.' why not, drupal got a lot of people past the previous 'brochure site look' of web1.

Space is the Place © Sun Ra

d_tect
======================================================
======================================================

so do I. I want it now.
scottie - May 26, 2006 - 17:48

even if you didn't get picked for Google's SOC, I think it is still worth developing and I would be keen to help.
Easily embeddable flash video content into drupal would really extend drupal's power. Let me know.
======================================================
======================================================

will do
datatect - May 29, 2006 - 17:52

a bit of bluetooth aching here. more in 2 weeks.
drop me another mail if its no trouble, with some background on your drupalian digs?

the mobile video is at: mobile.orbit.zkm.de (on some nodes, look around)
that is generated on the fly with a convert daemon in the b/g using ffmpeg, so lots of input formats converting, video and audio. the daemon also converts most video and audio format uploads to nodes at the same time. at www.orbit.zkm.de . just upload submit, done. resized and a tag like [file:XXXX] to pop into the body where it fits. of course, the role is set by admin allowing such large uploads.

cheers,

d_tect
======================================================
======================================================