Podcast Capture

Revised: 2008-01-25 richard

The "Podcast Capture" is a graphical-user interface (GUI) application that uses the "podcast" command line tool. When you first launch the application, it prompts your for your Podcast Producer Server hostname or IP, and a username & pasword with permissions to use Podcast Capture.

Podcast Capture - Login Window

Podcast Capture then uses the following "podcast" command and options:

% podcast --server my.server.edu --user MyName --pass MyPassword --listworkflows

Which returns an XML file with available workflows...

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version='1.0'>
    <dict>
      <key>workflows</key>
      <array>
        <dict>
          <key>name</key>
          <string>Blog and iTunes with intro and effects for &#63743;tv</string>
          <key>title</key>
          <string>Blog and iTunes with intro and effects for &#63743;tv</string>
          <key>description</key>
          <string>First archives the recording, then applies custom Quartz Composer filter and watermark. Next, this workflow adds the title and intro video to the recording before encoding it to &#63743;tv, video and audio iPod formats. Publishes result to the group's blog, notifies the iTunes podcast directory of the new episode and sends an announcement email.</string>
          <key>uuid</key>
          <string>135CC472-5AC4-4566-8944-E836EE76369D</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>Blog and iTunes with intro and effects</string>
          <key>title</key>
          <string>Blog and iTunes with intro and effects</string>
          <key>description</key>
          <string>First archives the recording, then applies custom Quartz Composer filter and watermark. Following this this workflow adds the title and intro video to the recording before encoding it to video and audio iPod format. Publishes result to the group's blog, notifies the iTunes podcast directory of the new episode and sends an announcement email.</string>
          <key>uuid</key>
          <string>314349E0-9ED9-4285-90F9-4F52B87DF531</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>Blog and iTunes with intro</string>
          <key>title</key>
          <string>Blog and iTunes with intro</string>
          <key>description</key>
          <string>First archives the recording, then watermarks it and adds the title and intro video before encoding it to video and audio iPod format. Publishes result to the group's blog, notifies the iTunes podcast directory of the new episode and sends an announcement email.</string>
          <key>uuid</key>
          <string>5B8538DB-22CD-481B-83F0-AD293356AA92</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>Blog and iTunes with watermark</string>
          <key>title</key>
          <string>Blog and iTunes with watermark</string>
          <key>description</key>
          <string>First archives the recording, then watermarks it before encoding it to video and audio iPod format. Publishes result to the group's blog, notifies the iTunes podcast directory of the new episode and sends an announcement email.</string>
          <key>uuid</key>
          <string>4C20ED76-94E0-4FCB-A498-68413830BEFB</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>Blog with streaming and intro</string>
          <key>title</key>
          <string>Blog with streaming and intro</string>
          <key>description</key>
          <string>First archives the recording, then watermarks it and adds the title and intro video before publishing the stream to computers and 3GPP compatible telephones via QTSS on the group's blog.</string>
          <key>uuid</key>
          <string>6FC65ACA-6579-4AE6-9408-BC5253939F4C</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>Blog with streaming and no archive</string>
          <key>title</key>
          <string>Blog with streaming and no archive</string>
          <key>description</key>
          <string>First archives recording before publishing a stream via QTSS on the group's blog.</string>
          <key>uuid</key>
          <string>4F929046-5B73-4FDB-8CBE-23D5AE2DDD47</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>Blog with streaming, intro and effects</string>
          <key>title</key>
          <string>Blog with streaming, intro and effects</string>
          <key>description</key>
          <string>First archives the recording, then applies custom Quartz Composer filter and watermark. Following this it adds the title and intro video to the recording before publishing the stream to computers and 3GPP compatible telephones via QTSS on the group's blog.</string>
          <key>uuid</key>
          <string>DE2EB155-5DDD-46AF-9B2E-5ACF20C6AA51</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>Blog with streaming</string>
          <key>title</key>
          <string>Blog with streaming</string>
          <key>description</key>
          <string>First archives recording before publishing a stream to computers and 3GPP compatible telephones via QTSS on the group's blog.</string>
          <key>uuid</key>
          <string>3A735929-1E72-4FD6-8F95-ADE8F157A3AC</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>Blog without archive</string>
          <key>title</key>
          <string>Blog without archive</string>
          <key>description</key>
          <string>Encodes recording to video and audio iPod format, publishes result to group's blog and sends an announcement email.</string>
          <key>uuid</key>
          <string>EA83065E-5E56-4E9B-A7CC-7492F88BB11E</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>Blog</string>
          <key>title</key>
          <string>Blog</string>
          <key>description</key>
          <string>First archives video, then encodes recording to video and audio iPod format, publishes result to group's blog  and sends an announcement email.</string>
          <key>uuid</key>
          <string>5D742385-4DA3-4654-9BE7-1EE7DA6CA4E8</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>iTunes U with intro</string>
          <key>title</key>
          <string>iTunes U with intro</string>
          <key>description</key>
          <string>First archives the recording, then watermarks it and adds the title and intro video before encoding it to video and audio iPod format. Publishes the result to iTunes U and sends an announcement email.</string>
          <key>uuid</key>
          <string>946D49E1-FA6E-4C1B-B146-769253E702E2</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>iTunes U</string>
          <key>title</key>
          <string>iTunes U</string>
          <key>description</key>
          <string>First archives the recording, then encodes recording to video and audio iPod format, publishes the result to iTunes U and sends an announcement email.</string>
          <key>uuid</key>
          <string>4EE34840-CB97-4A1B-9E44-EDEB6A28A78A</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
        <dict>
          <key>name</key>
          <string>Submit for Approval</string>
          <key>title</key>
          <string>Submit for Approval</string>
          <key>description</key>
          <string>Submits content to approval folder and notifies reviewers that new content needing approval has been posted.</string>
          <key>uuid</key>
          <string>9E53DD0E-C8D0-494A-982E-655E08533595</string>
          <key>user_requirements</key>
          <array>
            <string>Title</string>
            <string>Description</string>
          </array>
        </dict>
      </array>
    </dict>
  </plist>

Next, after you have authenticated to the Podcast Producer Server, Podcast Capture will display the following window with four options to record video, audio, screen or upload a file.

Podcast Capture - Podcast Type

Next, if selected the File option and uploaded the file "MyFile.mov" with the metadata, Title: "MyTitle", and Description: "MyDescription", and workflow "Submit for Approval".

Podcast Capture - Metadata

It would use the following "podcast" command and options:

% podcast --server my.server.edu --user MyName --pass MyPassword --submit --file /path/to/MyFile.mov --metadata /Users/myname/Library/Application Support/Podcast Capture/submission-74FEAD63-09C9-44C5-8D8B-56FAF1D5D620.plist

The metadata is saved as an XML file store in the current users directory:

~/Library/Application Support/Podcast Capture/

And the file is named, submision-[UUID].plist, UUIDs are basically 128 bit numbers, normally presented in a hexadecimal - grouped form. For example..

submission-74FEAD63-09C9-44C5-8D8B-56FAF1D5D620.plist

This XML file would contain the following metadata...

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Description</key>
    <string>MyDescription</string>
    <key>Title</key>
    <string>MyTitle</string>
</dict>
</plist>