Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »




Hydrant groups manager

Hydrant groups manager lives under /admin. Only users in the group admin_policy_object_editor can access this page. Groups are stored in config/role_mapper_[environment].xml 

One can use RoleControls (lib/role_controls.rb) to add/remove groups or add/remove/mass assign users to a group. RoleControls uses RoleMapper from the hydra-access-controls gem.



CAS (Central Authentication Service) is a single-sign on service that is run at IU and other institutions.  Hydrant currently uses CAS for login.  Notes on this implementation can be found here: CAS implementation notes


Matterhorn modules

Processing pipeline

Matterhorn is used to process media files sent from Hydrant. Processed files can then be distributed to streaming server, download service or back to Hydrant.

Files are sent to different workflows depending on their types. For example, video is sent to the workflow defined in felix/etc/workflows/hydrant.xml. This file contains operations that will be applied to a video file, including encoding, generating thumbnails, extracting audio and distributing.

More information

Matterhorn-engage-streaming app

Is a Red5 webapp that contains the files to be streamed and delivers streaming information to the Engage player.

Hydrant distributing module

This module sends media information from Matterhorn back to Hydrant, including stream link, mediainfo (eventually), etc..


Rubyhorn is a ruby gem that wraps Matterhorn's web services.  Rubyhorn is used to send files to Matterhorn and get information out of it.

Engage player

Engage player is a Flash/Javascript hybrid player split into a gem called hydrant-engage. It is included in Hydrant by inserting partial modules/video_player from the gem. It needs to provide a locals hash with 3 properties e.g. locals: {stream:, mimetype: 'video/x-flv', mediapackaged_id: @video_asset.mediapackage_id}

Engage is dependent on Matterhorn and uses mediapackage_id to pulls information about the streaming video from there.

Streaming servers

Red5 is the streaming server at the moment. Adobe Flash Media Server will replace it.

  • No labels