A framework for ingesting and retrieving video objects in Islandora. Currently supports videos with the following extensions:
mp4
, mov
, qt
, m4v
, avi
, mkv
, ogg
. A viewer module, such as
Islandora Video.js, may be enabled to play compatible videos.
This module requires the following modules/libraries:
- Islandora
- Tuque
- FFmpeg (if creating derivatives locally) - see below for details.
- ffmpeg2theora (if creating OGG derivatives)
FFmpeg is a command-line video-processing library, required to create TN, MP4, and MKV derivatives. This module has been tested with:
- FFmpeg version 1.1.4. (download)
- FFmpeg version 2.8.11 from Ubuntu 16.04 Package management
To support the creation of MP4 files, FFmpeg needs an AAC encoder. For legacy reasons, this module defaults to libfaac
,
but keeping this default is not recommended as it is neither free for commercial use
nor considered the best encoder available. See the documentation on AAC encoders for
more information and to select an encoder. Due to license restrictions, many of these encoders (libfaac
, libfdk_aac
, and others)
are not bundled with FFmpeg and must be enabled when FFmpeg is compiled from source. When it is available in FFmpeg, then it can be
selected in this module's configuration form.
Compilation guides:
Sample compile flags: --prefix=/usr/local/stow/ffmpeg-1.1.4 --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libfdk-aac
Install as usual, see this for further information.
Configure this module, including which (if any) derivatives to create, and which (if any) viewer to use at Administration » Islandora » Solution Pack Configuration » Video Solution Pack (admin/islandora/solution_pack_config/video).
Further documentation for this module is available at our wiki.
Having problems or solved a problem? Check out the Islandora google groups for a solution.
Current maintainers:
If you would like to contribute to this module, please check out CONTRIBUTING.md. In addition, we have helpful Documentation for Developers info, as well as our Developers section on the Islandora.ca site.
The Video Solution Pack includes an ingest/purge load test that is disabled and unusable by default. This particular solution pack was chosen for load testing due to the resource-heavy process of creating video derivatives and ingesting several potentially-massive files. To enable and use it:
- Make sure that the Testing module is enabled and that all prerequisites for derivative creation are satisfied for the Video Solution Pack.
- Edit the islandora_video.info file in this folder, removing the ; and whitespace before the line
files[] = tests/islandora_video_load_test.test
- Create a folder in the
tests/fixtures/
calledload
, and place as many videos in that folder as you would like to ingest. These files all must fit within the size specified by your php.ini file's maximum post size, and they must have a file extension supported by the Video Solution Pack, otherwise they will not be picked up by the load test. - Clear the Drupal cache.
The video load test should now be available to use by navigating to http://path.to.your.site/admin/config/development/testing
, checking 'Video Load Test' in the Islandora Video section, and then clicking 'Run tests'. The test will compare the original file to the file ingested into Fedora to see if they match.
NOTE: THIS WILL NOT WORK ON OPERATING SYSTEMS THAT DO NOT SUPPORT THE PHP GLOB_BRACE FLAG (E.G. SOLARIS).