Quick progress update…
I’ve managed to get the REPLAY manager webapp to run individual jobs, return the ID of the job, and then return the status of the job. This proof-of-concept (based on replay v0.4) just executes an indexing job on a pre-defined media bundle. More work will obviously be needed to make this fully functional.
This is no big deal, really, but it does mean that REPLAY can fulfill the “media processing manager” component, as described in the opencast draft architecture document.
Comments Off
I spent a lot of time last week trying to get replay to encode, OCR, and index some video files that were captured and encoded for webcast.berkeley.edu. It was productive to go through the source code, looking for the reason I couldn’t get anything to index. After a couple of hours help from Tobias, we tracked down the problem: there is an undocumented dependency on the Perian toolkit on OS X. Now that perian is installed, mp4s, dv files, and the like are properly encoded, OCR’d, and indexed.
Comments Off
The Opencast project’s first deliverable will be a version 0.1 integration of UCB’s Webcast system and ETH Zurich’s REPLAY (possibly also including Bjoern’s ‘channel syndication’ work). The primary barrier to the integration is the mismatch between REPLAY’s statically defined workflows (defined as ant scripts) and Webcast’s task based finite state machine (stored in the DB and loaded into memory at startup).
Tobias and I have thrown some ideas around for overcoming this mismatch, including:
- Colocate Webcast and REPLAY in the same JVM (or package the custom ant tasks and scripts in a jar, deployed to both systems), where the commands executed on state transitions call the ant tasks directly
- Call REPLAY’s internal SOAP interfaces
- Iterate through the “success” transitions in the state machine to generate a “directives” file for REPLAY to execute
- Generate a REPLAY directives file from the front-end, avoiding the state machine for everything but status reporting
- Colocate Webcast and REPLAY in the same JVM and call the REPLAY Java APIs from Webcast’s transition commands
- Integrate with Webcast’s ical based task reporting. This would involve:
- Adding discrete, atomic workflows to REPLAY
- Deploy an adapter to REPLAY’s manager component to consume Webcast’s ical tasks and execute the relevant workflow
- Update Webcast’s ical feed to include all relevant recording metadata so the adapter can re-create the bundle if necessary
I’d like to go with option #6, but I need to do some more digging in REPLAY to see if it’s possible to either reuse existing media bundles from past workflows or less desirably, whether we can create new bundles by reusing an existing media file.
Comments Off