Podcast Producer Podcast Capture Server
Audio, Video, Screen or File
Podcast Producer Marriott Library What is it?
• An Apple Inc. Solution • Automates the process of content ingestion, production & publishing. • Options... - Local audio, video & screen recording - Remote audio, video & screen recording - Direct file submission What is it? Content Creation Life Cycle Capture Encode Deliver What is it? Content Creation Life Cycle Capture Encode Deliver
Podcast Capture
QuickTime Player
Command Line What is it? Content Creation Life Cycle Capture Encode Deliver
Web Interface
iPhone Application
Custom Application What is it? Content Creation Life Cycle Capture Encode Deliver
iSight/Webcam
Camcorder
Microphone What is it? Content Creation Life Cycle Capture Encode Deliver
VGA Frame Grabbers
Digital Video Converters
Devices What is it? Content Creation Life Cycle Capture Encode Deliver
QuickTime
Commercial
Open Source What is it? Content Creation Life Cycle Capture Encode Deliver
iTunes U
YouTube
Campus Web/Streaming How it Works?
1
Podcast Capture
Use software to initiate capture or submit file How it Works?
Podcast Capture
2
Remote Capture
Captures audio, video or screen with remote Mac How it Works?
Podcast Capture
3
Remote Capture Shared File System Uploads captured/submitted file to shared file system How it Works?
4 Xgrid Cluster
Podcast Capture
Remote Capture Shared File System Sends job(s) to Xgrid Cluster to process according to workflow defined How it Works?
Publishing Servers
5
Xgrid Cluster
Podcast Capture
Remote Capture Shared File System Sends results to publishing servers How it Works?
Publishing Servers 6
Xgrid Cluster iTunes U
Podcast Capture
Streaming Servers
Remote Capture Web Servers Shared File System Components
• Podcast Producer Server - Part of Mac OS X 10.5 Server - Provides central point of administration - Manages Camera Agents - Provides Access Control & Centralized Management - Accepts files to be processed on Xgrid cluster Components
• Podcast Capture - Mac OS X 10.5 client & server application - Used to record audio, video or screen - Submit files to a workflow - Bind camera agent to server Components
• podcast command-line tool - Located at:
/usr/bin/podcast - Provides client-side functionality for recording and submitting files.
- Podcast Capture is GUI front-end for command line tool Components
• Podcast Producer Agent - Located at:
/usr/libexec/podcastproducer/pcastagentd - Process controlled by server - Responsible for recording audio & video
from attached camera % /usr/libexec/podcastproducer/pcastagentd -h
pcastagentd (version 75)
usage: /usr/libexec/podcastproducer/pcastagentd [-h] [-v] [-s] [-f file_output_path]
-h (help usage) -v (print version and application validity) -s (disables submission post-process step, enabled by default) -f file_output_path (runs an ad-hoc capture on this machine)
example: /usr/libexec/podcastproducer/pcastagentd -s -e Components
• Shared File System - Required by Podcast Producer Server - Agents use it to upload files to be processed by server - Used to store cached copies of workflows
- Used to store generated podcasts
- Supports Xsan & NFS Components
• Workflows - Heart of Podcast Producer System - A template that defines customizable tasks for encoding & publishing Components
• Workflows (More) - Branding - Intro, Extro & Watermarks, etc.
- Metadata - Course Name, Instructor Name, etc. Example Into
- Encoding - Defines formats & settings
- Publishing - Defines where content gets published
- Effects - Quartz Composer, text, transitions, etc. Example Extro Scalability
- Uses Xgrid to process workflows ✦ Software created by Apple to allow a network of Mac’s to engage in distributed computing Scalability
- Supports Xsan for storage or server growth
Podcast Data Volume
Metadata Controller(s)
Podcast Producer Encoding Server(s)
Camera Agents Security Model
/usr/bin/podcast Shared Secret pcastagentd Server Admin Clients • SSL AES SSL
Podcast Producer Authentication Open Directory of users & groups Key Database Server
FTP
Xgrid Controller Shared File System SSL (owned by Xgrid user) BEEP/Kerberos Xgrid Xgrid Agents
Blog Mail Server Web Server
iTunes Registry iTunes U QTSS Publishing Security Model Advanced Encryption Standard (AES) - Camera Communication
/usr/bin/podcast Shared Secret pcastagentd Server Admin Clients • SSL AES SSL
Podcast Producer Authentication Open Directory of users & groups Key Database Server
FTP
Xgrid Controller Shared File System SSL (owned by Xgrid user) BEEP/Kerberos Xgrid Xgrid Agents
Blog Mail Server Web Server
iTunes Registry iTunes U QTSS Publishing Security Model Secure Sockets Layer (SSL) - Server Admin & Xgrid Agents
/usr/bin/podcast Shared Secret pcastagentd Server Admin Clients • SSL AES SSL
Podcast Producer Authentication Open Directory of users & groups Key Database Server
FTP
Xgrid Controller Shared File System SSL (owned by Xgrid user) BEEP/Kerberos Xgrid Xgrid Agents
Blog Mail Server Web Server
iTunes Registry iTunes U QTSS Publishing Security Model BEEP & Kerberos - Xgrid Authentication
/usr/bin/podcast Shared Secret pcastagentd Server Admin Clients • SSL AES SSL
Podcast Producer Authentication Open Directory of users & groups Key Database Server
FTP
Xgrid Controller Shared File System SSL (owned by Xgrid user) BEEP/Kerberos Xgrid Xgrid Agents
Blog Mail Server Web Server
iTunes Registry iTunes U QTSS Publishing Default File Formats QuickTime • Audio - AAC (MPEG-4 Audio) - AMR Narrowband - QUALCOMM PureVoice (QCELP) - And many others... • Video - H.264 (aka MPEG-4 Part 10 or AVC) - MPEG-4 (aka MPEG-4 Part 2) - H.263 - DV NTSC and PAL - And many others... 3rd Party File Formats Commercial • Telestream Episode Podcast http://www.episodepodcast.com - Adds support for other popular file formats ✦ Windows Media 9 (VC-1, WMA Pro, WMV, Intellistream MBR)
✦ Flash 8 (Flash FLV & Flash SWF) & Flash 9 (H.264)
✦ WMA & MP3 (aka MPEG-1 Audio Layer 3)
✦ 3GPP & 3GPP2 3rd Party File Formats Open Source Open Source - Alternate Encoders HandBrake http://handbrake.fr/ FFmeg http://ffmpeg.org
Installing and using FFmpeg on Mac OS X Article http://stephenjungels.com/jungels.net/articles/ffmpeg-howto.html
VLC http://ffmpeg.org Options for Capture
• Podcast Capture - A GUI application that requires Mac OS X 10.5 - Allows recording of audio, video, screen and file submission - Supports selecting workflow & metadata, title & description. Options for Capture
• QuickTime Player - Requires Mac OS X 10.5 & QuickTime Pro being activated - Allows recording of audio, video and file submission - Supports selecting workflow & metadata, description. Demonstration Options for Capture
• /usr/bin/podcast - The workhorse of Podcast Producer - A command-line utility, actually a ruby script
$ less /usr/bin/podcast
#!/usr/bin/env ruby
# # Copyright (c) 2006-2007 Apple Inc. All Rights Reserved. # # IMPORTANT NOTE: This file is licensed only for use on Apple-labeled computers # and is subject to the terms and conditions of the Apple Software License Agreement # accompanying the package this file is a part of. You may not port this file to # another platform without Apple's written consent. Options for Capture
• /usr/bin/podcast - Options: Listing camera’s & workflows - returns an XML property list.
podcast --listworkflows
podcast --listcameras
$ podcast --user pcastuser --server podcast-producer-server.scl.utah.edu --listworkflows Enter password for pcastuser:
• /usr/bin/podcast - Options:
Start, stop, pause and resume camera’s
podcast --start camera_name [--audio_only]
podcast --stop camera_name --metadata metadata_file_path --workflow workflow_name
podcast --pause camera_name
podcast --resume camera_name
Submit Files podcast --submit --file file_path [--file file_path] --workflow workflow_name [--metadata metadata_file_path] Options for Capture
• Web Front-End - Written in Ruby on Rails, & developed by Apple France SE ✦ https://server:8143 - Supports multiple browsers, platforms & OS versions Options for Capture
• iPhone App - PCP Remote http://harlekins.org/PodcastProducerRemote/Podcast_Producer_Remote.html - Remotely browse cameras bound to Podcast Producer - Start, stop, pause, cancel and also submit a recording to a workflow - Create audio recordings on iPhone & upload to Podcast Producer Demonstration Initial PcP Project
• Limited funding via Innovation Grant • Podcast Producer Server - Xserve 3 GHz Quad-Core Intel Xeon w/8GB RAM - NFS Local Storage - 2 TB - Xgrid Controller • Xgrid Agents - 5 Power Mac Dual G5 w/2 GB RAM & 160 GB Storage Initial Project A/V Setup Instructor PC Instructor Mac Audio Mixer Wireless Microphone
Audio Out Audio Out Audio Out
In
Out
Out
VGA
Audio
VGA
Podcast Producer USB DV VGA Out Camera Agent
USB KVM
VGA Frame Grabber DV
Transmitter IR
FireWire
Analog Out
Infrared Transceiver Analog DV Converter PTZ Analog Camera Project A/V Setup Rev 1 Instructor PC Instructor Mac Audio Mixer Wireless Microphone
Audio Out Audio Out Audio Out
In
Out
Out
VGA
Audio
VGA
Podcast Producer USB DV VGA Out Camera Agent
USB KVM
VGA Frame Grabber DV
Transmitter IR
FireWire
Analog Out
Infrared Transceiver Analog DV Converter PTZ Analog Camera Initial Camera Agents
• Camera Agents - Two classroom setups in MMC 1705a & 1745 - Worked w/campus metal shop for enclosure - Components ✦ Metal Boxes - Enclosures ✦ Mac mini, 1.66GHz Intel Core Duo ✦ Cannon VC-C50i/VC-C50iR ✦ Canopus ADVC-55 Analog-to-Digital Video ✦ Epiphan USB2VGA ✦ ART PowerMIX II MIXER ✦ Audio-Technica ATW-3110 Wireless ✦ MicroSet Omnidirectional Condenser Headworn Microphone Wired for UniPak Transmit ✦ IRTrans USB Device Marriott Library Renovation Project • Caused delays in deploying Podcast Producer - Not Enough Time Very, very busy with setting new lab, classrooms & moving computers, servers, staff, etc.
- Classroom Closed & Challenges 1705a classroom closed for Advanced Studio Will be moved to 1725 classroom
- 1745 had problems with network due to construction.
- New classrooms deployment delays Marriott Library Renovation Project • New Classrooms - 1130 & 1150 Classrooms Much simpler. Tie into existing A/V system.
Use VGA output from video switcher
Use Audio output from video mixer
Audio from Output audio VGA mixer from Output video switch USB DV
VGA Frame Grabber Camera Agent Camera Agent Locations Our PcP Project - Plans
Plans Automate Recording Process Developing system to automatically start & stop recording lectures Pilot Project Continue working with staff & faculty on pilot to record, encode & publish lectures Publishing to Campus Services Work with others on campus to publish to campus services Additional Campus Camera Agents Work with others on campus to use their own camera agents Directory Services Bind server to campus directory service (LDAP or AD) Questions?