Drupal Video documentation
- 1 Drupal Video Documentation
- 1.1 Useful General Documentation
- 1.2 Video Feed Creation
- 1.3 Aggregation of Video feeds
- 1.4 Mobile phone publishing and video conversion
- 1.5 Media Players
- 1.6 Subtitles
- 1.7 Storage & Backup
Drupal Video Documentation
This is an attempt to link to relevant documentation for setting up a video sharing site and aggregation site. We are not trying to be exhaustive, but to make an attempt to document what has already been achieved. If the method has a limited life we'll try to explain why.
Useful General Documentation
There is some needed documentation which would be very useful to the communinty - some are asked for in the Drupal community
Setting up a content type with a file field http://drupal.org/node/264828
Video Feed Creation
Creating feeds basic
Specifically why are we creating feeds of video. The most likely scenarios now seem to be.
- for use in a video podcaster like Miro
- use in iTunes
- for re-use by other grass roots video sharing sites which want an Embedded Video player (that maybe using feedapi, mapper and Emfield to bring in feeds)
So this brings us to a situation where we should for best compatibility create feeds that contain
- mp4/avi/ogg/torrent files (media download files) as enclosures
- a flv enclosure (for sites which
We can create a feed which contains multiple enclosures. Miro and iTunes can deal with this (needs to be checked with iTunes)
Or we can create different feeds one for the different downloadable / streaming files.
Exporting existing aggregated feeds
What is the best way to export feed information that has been aggregated without losing the functionality of these feeds. Specifically we can take the example of a Blip.tv feed that will work in Miro to allow a download of an uploaded file (avi/mp4/ogg) but also allow the mapping of the original URL to the Embedded media field to get an embedded player. Is there a way of maintaining that functionality when that entry is re-exported?
File Field Podcast Module
How to podcast with File field podcast module - this addresses an issue of how to make sure that your uploaded files are included as a podcast friendly RSS feed.
Link to module: http://drupal.org/project/ffpc
However this method doesn't address files that are located elsewhere on the internet - or imported via other RSS feeds as the link is made explicitly when uploading.
Video tutorial: http://mustardseedmedia.com/podcast/episode19
Media mover issues
It would also be good to work out how to create feeds with video that been uploaded and converted with Media Mover. See below
Aggregation of Video feeds
One of the key reasons for using drupal for a video sharing site is to get a great aggregator!
Our ideal scenario is aggregation abilities that can take many different types of feeds and to
- parse the data to the database for quick searching within the site
- present the video for embedded viewing where possible
- present the aggregated video file for download if present in feed
- present both the embedded video and downloadable video if possible
- output in relevant RSS feeds both the embedded video and downloadable video if possible
In Drupal 4.7, the method of using Simple Pie and a custom engine for MediaRSS feeds was implemented on the ifiwatch.tv site. There is some user end documentation here. DrupalAggregation
This method is now totally out of date and retained only for reference.
Drupal 5 - Feed Api and Mapper Existing Docs
The use of Feed api, and Feed api Element mapper is documented brieftly here. http://www.zivtech.com/blog/module-mashup-creating-a-feed-embedded-videos-using-emfield-feedapi-and-feedapimapper
The end use of the Feed mapper to inport feeds is documented here.
Drupal 6 - Feed Api and Mapper Dev
There has been some solid work on this with open package video: http://groups.drupal.org/taxonomy/term/5458
For a quick overview of what to install to aggregate a non-YouTube feed including Media RSS 2.0 quick installation of FEM and patches
- Make public and promote Ekes Media Enclosure parser patch whick Extends Feedapi Element Mapper to use the Custom URL part of of the Embedded Media Field module – to map feed enclosures - Feedapi Element Mapper patch
- Make public and promote Ekes's patch : embedded_video_zz_custom_url, which adds more understanding of mime types to the Custom URL provider - Embedded Media Field patch.
So when an incoming RSS feed with mime type information it is able to store this information. This stops the process breaking when the file extension isn't right.
- Upgrade Ekes's patch on [Make content-type defaults easier to set | http://drupal.org/node/316606]
- Create a Transmission EMF Provider which can read our Metadata based on a URL - like the Big boys YouTube , Blip.tv
How to theme multiple items in embedded video fields. theme multiple items in embedded video field
Mobile phone publishing and video conversion
Its covered on separate page: Drupal Video Conversion (in detail)
SWF tools – document this well and how to alter the template of a page to display the player - It would be good to compare flow player with
* on each page * in the teaser (more for audio) * in blocks with a playlist and sidebar
Existing docs: http://mustardseedmedia.com/podcast/episode17
Video tutorial with how to integrate swf tools into a site
The issue of using Drupal as a way of displaying multiple subtitles, has begun to be documented. There are some areas which allow us to do it using JW player and the scripts there.
The kind of functionality we are trying to replicate is that of Subtitle Horse – which was used most effectively in the g8tv site. There is also a dotsub site which does pretty much the same thing.
Some of the areas that need to be addressed are
- Players: which player to use JW / Flow and which file types each player accepts
- Existing subtitle files: Uploading pre-existing transcripts and conversion to appropriate file type for player
- Subtitles storage: where are subtitle files stored and made available for download and inclusion in RSS feeds
- Translation interface; what would be the best interface to create – ideally one which times are set by the first person uploading and then the text is made available to translators to alter – in subtitle by subtitle blocks – as a side by side screen.
Added questions from newbie --Richard S 13:51, 15 April 2009 (UTC)
- Is it possible to create subtitles and display with embedded videos or is it necessary to stream the video from your own site which is currently still expensive? dotsub currently downloads then uploads videos to host themselves again I think
- Can transmission member sites be linked across platforms for subtitles? Miro have a plan for this using firefox browser.
- A request for the option of audio files to be added as well as subtitles when appropriate, so video-audio file can be turned off, and subtitle-audio turned on easily when watching visuals. This would be useful for visually impaired users and users with varying literacy skills. Does this already exist elsewhere?
Transmission Subtitle Tutorial
Tutorial - Using the JW player, the Internationalization module (i18n), filefield to upload srt subtitle files, and comtemplate the video player automatically display subtitles and language tabs to display different language subtitles.
Detailed help on each stage is given.
External Tutorial: overlaying subtitles
There is a post for how to the display of subtitles here - http://www.developmentseed.org/blog/2008/jun/05/adding-multilingual-subtitles-videos-drupal-jw-flv-media-player
Summary: Using the JW player and it's subtitle feature which parses an XML document, the Internationalization module (i18n), and some CCK configurations we were a able to have our video player automatically display subtitles to users browsing the site in a non-English language. And a mention of solutions of how to work with playlists.
Brief help is given in this tutorial.
Tutorial: subtitle editor
My solution is to parse the contents of the Timed-Text file into a CCK field so it can be manipulated directly on the node editing form. The uploaded file is parsed and the CCK field is populated right before your eyes using an AJAX callback, and the interface allows users to add additional lines of captions dynamically thanks to some logic borrowed from the Link module. http://www.developmentseed.org/blog/2008/jun/17/editing-multilingual-video-captions-using-cck-field
Storage & Backup
Using Media Mover we can export copies of our files to multiple servers for storage and playback
Plan being to use one server for main site and use other servers for storing the media file and alternate servers being used to hold backup copies of these files
There are now lots of services right now that give you lots of free space specifically for storing media and playback of media files
In the long term we hope to be able to run our own servers that can handle the large bandwidth and storage space required to store snd playback media files on a larger scale and will be looking for a decentralised solution based in multiple locations accross multiple servers (get in contact if you are interested in providing server space for this purpose)
The method we are using will work the same for both long term and short term solutions.