Podcast Producer Marriott Library What Is It?
Total Page:16
File Type:pdf, Size:1020Kb
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: <?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> Options for Capture • /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