FFmpeg as a microservice.
- Install
ffmpeg
. On Ubuntu, this can be done withsudo apt-get install ffmpeg
. - Clone this repository somewhere in your web root (example:
/var/www/html/Crayfish/Homarus
). - Install
composer
. [Install instructions here.][4] $ cd /path/to/Homarus
and run$ composer install
- Configure your web server appropriately (e.g. add a VirtualHost for Homarus in Apache)
To use Homarus with Apache you need to configure your Virtualhost with a few options:
- Redirect all requests to the Homarus index.php file
- Make sure Homarus has access to Authorization headers
Here is an example configuration for Apache 2.4:
Alias "/homarus" "/var/www/html/Crayfish/Homarus/public"
<Directory "/var/www/html/Crayfish/Homarus/public">
FallbackResource /homarus/index.php
Require all granted
DirectoryIndex index.php
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
</Directory>
This will put the Homarus at the /homarus endpoint on the web server.
Steps for upgrading Homarus can be found in UPGRADE.md
Symfony uses .dotenv
to set environment variables. You can check the .env in the root of the Homarus directory.
To alter any settings, create a file called .env.local
to store your specific changes. You can also set an actual environment
variable.
For production use make sure to set the add APP_ENV=prod
environment variable.
If your ffmpeg
installation is not on your path, then you can configure homarus to use a specific executable by editing
the app.executable
parameter in /path/to/Homarus/config/services.yaml
.
You also need to set your Fedora Base Url to allow the Fedora Resource to be pulled in automatically.
This is done in the /path/to/Homarus/config/packages/crayfish_commons.yaml
.
To change your log settings, edit the /path/to/Homarus/config/packages/monolog.yaml
file.
You can also copy the file into one of the /path/to/Homarus/config/packages/<environment>
directories.
Where <environment>
is dev
, test
, or prod
based on the APP_ENV
variable (see above). The files in the specific
environment directory will take precedence over those in the /path/to/Homarus/config/packages
directory.
The location specified in the configuration file for the log must be writable by the web server.
There are instructions in the /path/to/Homarus/config/packages/security.yaml
file describing what to change and what lines
to comment out to enable authentication.
We use the Lexik JWT Authentication Bundle for Symfony, more information here https://github.com/lexik/LexikJWTAuthenticationBundle
This will return the an AVI file for the test video file in Fedora.
curl -H "Authorization: Bearer islandora" -H "Accept: video/x-msvideo" -H "Apix-Ldp-Resource:http://localhost:8080/fcrepo/rest/testvideo" http://localhost:8000/homarus/convert --output output.avi
Current maintainers:
If you would like to contribute, please get involved by attending our weekly Tech Call. We love to hear from you!
If you would like to contribute code to the project, you need to be covered by an Islandora Foundation Contributor License Agreement or Corporate Contributor License Agreement. Please see the Contributors pages on Islandora.ca for more information.