We have deployed a custom video and audio recording and distribution system based on Apple's Podcast Producer 2. Unlike many other organizations using Podcast Producer, we do not use it to automate recordings of our classes. Our system is primarily used to make ad hoc recordings of lectures and presentations and as a way to disseminate video material for faculty research projects. Additional goals of our system are to responsibly collect archival metadata and media for each recording and to ease the distribution of HTML5 compatible video and audio via our primary CMS platforms (Drupal & WordPress), static websites, mobile devices and custom RSS.
Since we wanted to leverage Podcast Producer as much as possible to meet these goals we tried to keep our changes to the standard workflow to a minimum. Media is still forwarded to the system as before using (preferably) the bundled screen-capture feature in QuickTime X on the Mac or the Podcast Capture web interface for Windows. Following the upload we require our users to fill out a web form to collect additional metadata about their movie. Once this is done we provide them with links to their MPEG-4 and Ogg encoded media in multiple sizes, custom HTML5 embed (short)codes which can be dropped into WordPress, Drupal and static websites, links to dynamically generated pages hosting their media, a custom RSS feed and an opportunity to update their current metadata. Please see this page for sample video and audio. The sections below provide more detail on each of these features.
The Library feature introduced in Podcast Producer 2 gave us a chance to distance ourselves from the tedium of custom workflow design. Rather than modify workflows by hand to make calls to external scripts, as we did in an earlier Podcast Producer implementation, we periodically access media and metadata directly from the Podcast Producer 2 Library feeds for further processing. In our current system, any workflow that publishes to the Library with an "Apple TV" video or an "Audio" encoding will be automatically re-encoded and submitted to our metadata system. The primary benefit of this system is that we can continue to use Podcast Composer (a workflow once edited by hand can no longer be edited by Podcast Composer). Podcast Composer lets users easily create 'branded' workflows with, for example, specific lead-in and lead-out sequences, custom titles and watermarks. Below is a flowchart of the submission and encoding process for a video:
For video content, we encode two versions: a "small" (max. 320x240) and a "large" (max. 640x480) version, both targeted for inline playback (the latter version is also suitable for podcasts) . For each version, we encode to MPEG-4 H.264 and Ogg Theora. The H.264 video is encoded by calling pcastaction encode on the source video. The ogg video is encoded by calling ffmpeg2theora on the previously encoded H.264 of the same version (web or podcast). A similar process is used for audio. As part of the encode process, .info files are created containing technical metadata about the various formats (height, width, size). The .info files are later parsed and the technical metadata submitted to our database. Finally, we keep an additional "Apple TV" encoded 720p/24fps source video for archival purposes.
After the encoding process completes, the submitter is notified by email and directed to a form to gather additional metadata on their recoding. We are interested in a number of different attributes of the recording, but we have tried to make our metadata cleanly map onto "Dublin Core" (http://dublincore.org/). Below is a table of the fields we capture:
|Title||This is initially set to what was submitted with the recording|
|Description||This is initially set to what was submitted with the recording|
|Owner||If a submitter is a member of mutliple Open Directory podcast groups, they can assign ownership to one of these groups.|
|Department/Sponsor||The department, center or group which sponsored the recording|
|Subject/Keywords||These keywords make it into the iTunes-compatible RSS feed we generate|
|Date of Recording|
|Location||Defaults to Chicago, IL|
|RSS Series||Allows the user to assign a recording to be included in a named RSS feed|
|Language||Primary language of the presentation (pop-up selection)|
|Publisher||The University of Chicago|
|Rights||Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License|
Content is distributed through a number of different systems. We generate an iTunes-compatible RSS feed that also contains additional Dublin Core metadata fields. This feed can be subscribed to in iTunes, another feed reader, or potentially act a source for automatically populating iTunesU or other applications.
We allow our users to embed their content in a blog or other website provided by Humanities Computing using embed tags generated by the metadata collection interface. Below is a screenshot showing HTML and WordPress/Drupal embed tags, as well a Preview page and direct links to the media.
The embed code we have created is an HTML5 video (or audio) tag with fallback to Flash for browsers that do not support HTML5 (cough Internet Explorer cough). Chrome and Safari will use the video/mp4 version, while Firefox will use the video/ogg version. Internet Explorer, or older versions of FireFox and Safari will use the Flash JW Player . Below, you can see the structure of the tag:
We have approximately 150 audio and video recordings currently in our system. The number of unique users is still fairly low, but the system has proven useful. One of the major challenges we've faced is convincing users that it is worth their time to enter the additional metadata we request. We do require at least an initial pass at the form before we present the user with their distribution options, but this alone can't enforce the quality of the entered metadata. Another second major challenge we've faced is the complexity of the testing regime for the embed code.
Our code is licensed under Educational Community License, Version 2.0 . We are happy to share our code, though it will likely require fairly significant customization for your environment. Please contact elijah (AT) uchicago (DOT) edu if you are interested in our code or have further technical questions about our customization.