GervaisdeM / islandora_solution_pack_video

Ingests digital videos into Fedora. It supports creation of derivatives in various different video formats, and requires the server-side installation of accompanying codecs to enable this functionality. It can also be configured to stream the video to a player window on-site using Video.js.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Video Solution Pack Build Status

Introduction

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.

Requirements

This module requires the following modules/libraries:

Installing FFmpeg and AAC Encoders

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

Installation

Install as usual, see this for further information.

Configuration

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).

Configuration

Documentation

Further documentation for this module is available at our wiki.

Troubleshooting/Issues

Having problems or solved a problem? Check out the Islandora google groups for a solution.

Maintainers/Sponsors

Current maintainers:

Development

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.

Load Testing

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:

  1. Make sure that the Testing module is enabled and that all prerequisites for derivative creation are satisfied for the Video Solution Pack.
  2. Edit the islandora_video.info file in this folder, removing the ; and whitespace before the line files[] = tests/islandora_video_load_test.test
  3. Create a folder in the tests/fixtures/ called load, 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.
  4. 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).

License

GPLv3

About

Ingests digital videos into Fedora. It supports creation of derivatives in various different video formats, and requires the server-side installation of accompanying codecs to enable this functionality. It can also be configured to stream the video to a player window on-site using Video.js.

License:GNU General Public License v3.0


Languages

Language:PHP 94.3%Language:CSS 3.6%Language:Shell 2.1%