Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

Outline

There are several Flash (SWF) tools available freely on the internet that can play
Flash Videos (FLV) over an Internet stream. DSpace XMLUI themes can be customized
to embed these flash video players on the item summary pages. The themes can be made
to automatically detect the presence of FLV video files in an item and then configure a player to
display the video in the item summary view.

For some versions of DSpace XMLUI, a change may be necessary to the BitstreamReader
class to release connections to the database before large video files (which are
typically stored on the filesystem in the assetstore in a typical DSpace installation)
have been completely downloaded and the garbage collector runs.

This page describes one example of an experiment to embed an SWF object to enable the
playing of FLV video files stored in DSpace.

Format Registry

You must add the the mimetype of video/x-flv for files ending in the FLV extension to your
DSpace format registry before the videos are loaded into DSpace.

Player tool

The video player that we used in this project is called "FLV PLayer", available
at http://flv-player.net/.

Theme code

A sample theme to handle embedding the SWF FLV Player into a page is here. The theme includes a copy of the files needed for FLV Player, and the flash.xsl file overrides templates that are used in the item summary display view of items. The code contains references to a bundle called FILMSTRIPTHUMB, which is not a default DSPACE bundle, but a bundle to store a special kind of thumbnail. This bundle is in use only at OhioLINK.

BitstreamReader Change

We made a change to the BitstreamReader class in the xmlui to make sure that database connections remained available during
heavy use. In our BitstreamReader class, stored here, these lines at the bottom of the setup() method are new:

// Context no longer needed - complete the context to close the database connection
            context.complete();
            context = null;

Conversion

For our initial experiment, these videos were converted from RealMedia format to FLV files prior to load
in DSpace, with the script located here.
This script is not recommended as a preservation solution. Proper video conversion requires specific domain knowledge
that our development team did not possess, and there are some conversion issues, including improper audio/video synchronization
in some of our older files. We are in the process of contracting for preservation-quality
digital versions of our video archive created by an external provider, and proper Flash videos will also be created at that time.

The @mire company may have a more robust solution for conversion of diverse video formats into a format that is embeddable
and playable within DSpace.

Unresolved - video skip-ahead

This method does not currently allow a person to skip ahead to part of the video that
has not yet downloaded to the client computer.
Perform a google search for "pseudo-streaming" for some ideas on how this might be possible without the need for a streaming server.