Contents

Apple Mac OS X Server v20 User's Guide PDF

1 of 84
1 of 84

Summary of Content for Apple Mac OS X Server v20 User's Guide PDF

Mac OS X Server Quicktime Streaming and Broadcasting Administration Version 10.6 Snow Leopard

Apple Inc. K

2009 Apple Inc. All rights reserved.

The owner or authorized user of a valid copy of QuickTime Streaming Server software may reproduce this publication for the purpose of learning to use such software. No part of this publication may be reproduced or transmitted for commercial purposes, such as selling copies of this publication or for providing paid-for support services.

Every effort has been made to ensure that the information in this manual is accurate. Apple Inc. is not responsible for printing or clerical errors.

Apple 1 Infinite Loop Cupertino, CA 95014 408-996-1010 www.apple.com

The Apple logo is a trademark of Apple Inc., registered in the U.S. and other countries. Use of the keyboard Apple logo (Option-Shift-K) for commercial purposes without the prior written consent of Apple may constitute trademark infringement and unfair competition in violation of federal and state laws.

Apple, the Apple logo, AirPort, AppleScript, FireWire, iMovie, iTunes, Mac, the Mac logo, Macintosh, Mac OS, QuickTime, Xgrid, and Xserve are trademarks of Apple Inc., registered in the U.S. and other countries. Finder is a trademark of Apple Inc.

Adobe and PostScript are trademarks of Adobe Systems Incorporated.

Other company and product names mentioned herein are trademarks of their respective companies. Mention of third-party products is for informational purposes only and constitutes neither an endorsement nor a recommendation. Apple assumes no responsibility with regard to the performance of these products.

019-1422/2009-08-01

7 Preface: About This Guide 7 Key Features of QuickTime Streaming Server 8 Whats in This Guide 9 Using Onscreen Help 10 Documentation Map 11 Viewing PDF Guides Onscreen 11 Printing PDF Guides 11 Getting Documentation Updates 12 Getting Additional Information

13 Chapter 1: Overview of QuickTime Streaming 13 What Streaming Is 14 Live Versus On-Demand Delivery 14 Progressive Download (HTTP) Delivery Versus Streaming (RTP/RTSP) Delivery 14 Instant-On Streaming 15 Simple Setup for Live Video 15 Ways to Receive Streamed Media 16 Multicast Versus Unicast 17 Relays

19 Chapter 2: Setting Up Your QuickTime Streaming Server 19 Hardware and Software Requirements for QuickTime Streaming 19 Viewer Computer Requirements 19 Live Broadcasting Requirements 20 Bandwidth Considerations 20 Setting Up Your Streaming Server 21 Testing Your Setup 22 Accessing Media Streamed from Your Server

23 Chapter 3: Managing Your QuickTime Streaming Server 23 Using the Web-Based Application to Manage QuickTime Streaming 24 Using Server Admin to Manage QuickTime Streaming 24 Starting or Stopping Streaming Service 24 Changing the Maximum Number of Stream Connections

3

Contents

4 Contents

24 Changing the Maximum Streaming Throughput 25 Changing the Streaming Media Directory 25 Binding the Streaming Server Admin Computer to an IP Address 25 Hosting Streams from Multiple User Media Directories 26 Setting Up Relay Streams 27 Changing QuickTime Streaming Log Settings 27 Reading QuickTime Streaming Logs 28 Security and Access 29 Streaming Using Port 80 29 Streaming Through Firewalls or Networks with Address Translation 30 Changing the Password Required to Send an MP3 Broadcast Stream 30 Using Automatic Unicast (Announce) with QTSS on a Separate Computer 30 Advanced Management Tasks 30 Controlling Access to Streamed Media 31 Controlling Access Using an Access File 31 Creating an Access File 33 What Clients Need When Accessing Protected Media 33 Adding User Accounts and Passwords 33 Adding or Deleting Groups 34 Configuring a Multicast Relay

36 Chapter 4: Troubleshooting and Technical Information 36 Using Log Files to Monitor Playlist Broadcasts 36 If Media Files Dont Stream Properly 37 If Users Cant Connect to Your Broadcast 37 If Users See Error Messages While Streaming Media

39 Chapter 5: Working with QuickTime Broadcaster 39 When to Use a Streaming Server 39 Setting Up Your First Stream 40 Setting Up QuickTime Broadcaster 41 Choosing a Broadcast Method 42 Choosing Compression Settings 43 Creating Presets 43 What an SDP File Is 43 Choosing Network Settings 44 Using Automatic Unicast (Announce) 44 Using Manual Unicast 45 Using Multicast 46 Previewing Your Broadcast 46 Setting Up an Audio-Only Broadcast 47 Changing the Audio Source 47 Adding Annotations to Your Broadcast

Contents 5

47 Hinting the Movie File 48 Saving Settings Using Presets 48 Changing the Size of the Broadcast Image 49 Changing the Video Source 49 Choosing the Packetizer 49 Saving Broadcast Settings 50 Broadcasting to Mobile Phones 50 About Firewalls 50 Limiting Access to Your Broadcast 50 Tips and Troubleshooting 51 I am Being Asked for a Password 51 Getting the Most from Available Bandwidth 51 Tips for Choosing Video Compression Settings 52 Tips for Choosing Audio Compression Settings 52 If the Video Looks Blurry, Stutters, or Freezes 52 Automating QuickTime Broadcaster with AppleScript

53 Chapter 6: Setup Example 54 Streaming PresentationsLive and On Demand 55 Setting It Up 55 Step 1: Prepare the Location 56 Step 2: Prepare the Network 57 Step 3: Set Up Your Streaming Server 60 Step 4: Set Up for a Live Webcast 62 Step 5: Set Up Broadcaster for Automatic Unicast (Announce) 63 Step 6: Test Your Setup 63 Creating a Webpage for Easy Access 65 Shooting the Live Presentation 65 Archiving the Live Presentation

67 Chapter 7: Managing QTSS from the Command Line 67 Performing QTSS Tasks 67 Starting and Stopping QTSS 67 Viewing QTSS Status 67 Viewing QTSS Settings 68 Changing QTSS Settings 68 Available QTSS Parameters 73 Managing QTSS 73 Viewing QTSS Connections 73 Viewing QTSS Statistics 74 Viewing Service Logs and Log Paths 75 Forcing QTSS to Reread Preferences 75 Preparing Older Home Folders for User Streaming

6 Contents

76 Configuring Streaming Security 76 Resetting the Streaming Server Admin User Name and Password 76 Controlling Access to Streamed Media 77 Creating an Access File 79 Accessing Protected Media 79 Adding User Accounts and Passwords 80 Adding or Deleting Groups 80 Making Changes to the User or Group File 80 Manipulating QuickTime and MP4 Movies 80 Creating Reference Movies

81 Index

7

Learn about the QuickTime suite of products and whats new in this version of QuickTime Streaming Server.

Mac OS X Server version 10.6 includes QuickTime Streaming Server (QTSS) in its suite of services. QTSS comes preinstalled on Apple server hardware.

QTSS is similar in design and configuration to Apache, the popular web server software that is also included in Mac OS X Server. If you have experience working with Apache, QTSS will seem familiar.

If you have administered a QuickTime streaming server using the web-based application Web Admin, you can continue to do so. Web Admin is useful for administering a streaming server remotely or from non-Macintosh computers. For more information, see Using the Web-Based Application to Manage QuickTime Streaming on page 23. Server Admin for Mac OS X Server includes options for accomplishing the tasks you performed with Web Admin.

Key Features of QuickTime Streaming Server Built into Mac OS X Server v10.6 is QuickTime Streaming Server, Apples industrial strength, standards-based streaming server with improvements in mobile delivery, Mac OS X Server integration, and standards support. QTSS delivers these capabilities:

Open Directory support: QuickTime Streaming Server allows you to restrict access to streaming content using the users and groups through Workgroup Manager in Mac OS X Server.

Native 3GPP: You can stream industry-standard 3GPP files to any compliant 3GPP player device.

Native MPEG-4 streaming: You can stream ISO-compliant, hinted MPEG-4 files to any ISO-compliant MPEG-4 player, or device.

MP3 audio streaming: You can create your own Internet radio station by serving standard MP3 files using Icecast-compatible protocols over HTTP, or build a playlist of MP3 files and serve them to MP3 clients such as iTunes and WinAmp for a simulated live experience.

Pr ef

ac eAbout This Guide

8 Preface About This Guide

Skip protection: Apple skip-protection technologya collection of quality-of- service featurestakes advantage of available bandwidth to ensure the smoothest possible playback.

Instant-On: Viewers with a broadband connection watching a streaming video with QuickTime 6 and later will benefit from Instant-On, an advance that provides enhanced overbuffering of data, resulting in dramatically reduced buffer time. With Instant-On, broadband users can also scrub forward and back with the time slider through an on-demand media stream and have playback updated instantly.

Authentication: Digest and basic authentication, as well as directory services authentication, let you control access to protected media.

Support for streaming HD movies: QTSS can stream thousands of simultaneous movies encoded at 1280x720, 24p, 5mbps from a single Xserve computer.

H.264 streaming support: QTSS supports streaming of live and on-demand content encoded with the H.264 video codec, which is included with QuickTime.

QuickTime Broadcaster: Included with Mac OS X Server, QuickTime Broadcaster provides end-to-end support for MPEG-4 Internet broadcasting.

Server-side playlists: You can stream a set of media files as if it were a live broadcast. This can be ideal for creating and managing a virtual radio or television station.

Relay support: You can easily set up several layers of servers to broadcast streams to a virtually unlimited number of clients.

64-bit operation: QuickTime Streaming Server 6 supports native 64-bit operation.

Whats in This Guide This guide includes the following chapters:

Chapter 1, Overview of QuickTime Streaming, explains streaming concepts and terms.

Chapter 2, Setting Up Your QuickTime Streaming Server, lists hardware and software requirements and provides instructions for setting up and testing your streaming server.

Chapter 3, Managing Your QuickTime Streaming Server, provides step-by-step instructions for using the Server Admin application to administer and monitor a streaming server locally or remotely.

Chapter 4, Troubleshooting and Technical Information, describes common problems and provides information on what to do if you encounter problems while streaming media.

Preface About This Guide 9

Chapter 5, Working with QuickTime Broadcaster, provides information about using Apples award-winning software for professionally broadcasting live events.

Chapter 6, Setup Example, provides information about the key components needed for a generic webcasting setup.

Note: Because Apple frequently releases new versions and updates to its software, images shown in this book may be different from what you see on your screen.

Using Onscreen Help You can get task instructions onscreen in the Help Viewer application while youre managing Mac OS X Server. You can view help on a server or an administrator computer. (An administrator computer is a Mac OS X computer with server administration software installed on it.)

To get the most recent onscreen help for Mac OS X Server: Open Server Admin or Workgroup Manager and then: m

Use the Help menu to search for a task you want to perform.

Choose Help > Server Admin Help or Help > Workgroup Manager Help to browse and search the help topics.

The onscreen help contains instructions taken from Server Administration and other advanced administration guides described later.

To see the most recent server help topics: Make sure the server or administrator computer is connected to the Internet while m

youre getting help.

Help Viewer automatically retrieves and caches the most recent server help topics from the Internet. When not connected to the Internet, Help Viewer displays cached help topics.

10 Preface About This Guide

Documentation Map Mac OS X Server has a suite of guides that cover management of individual services. Each service may depend on other services for maximum utility. The documentation map below shows some related guides that you may need in order to to fully configure QTSS to your specifications. You can get these guides in PDF format from the Mac OS X Server resources website:

www.apple.com/server/macosx/resources/

Getting Started Explains how

to set up printing when you rst install

Mac OS X Server.

QuickTime Streaming & Broadcasting Administration

Describes advanced options for setting up, conguring, and managing QuickTime

Streaming Server and QuickTime Broadcaster.

Introduction to Command-Line Administration

Explains how to use UNIX shell commands to congure and manage

servers and services.

Web Technologies Administration

Describes advanced options for setting up,

conguring, and managing web service.

QuickTime Player Help

Provides onscreen instructions and answers

when youre using QuickTime Player.

Preface About This Guide 11

Viewing PDF Guides Onscreen While reading the PDF version of a guide onscreen:

Show bookmarks to see the guides outline, and click a bookmark to jump to the corresponding section.

Search for a word or phrase to see a list of places where it appears in the document. Click a listed place to see the page where it occurs.

Click a cross-reference to jump to the referenced section. Click a web link to visit the website in your browser.

Printing PDF Guides If you want to print a guide, you can take these steps to save paper and ink:

Save ink or toner by not printing the cover page.

Save color ink on a color printer by looking in the panes of the Print dialog for an option to print in grays or black and white.

Reduce the bulk of the printed document and save paper by printing more than one page per sheet of paper. In the Print dialog, change Scale to 115% (155% for Getting Started). Then choose Layout from the untitled pop-up menu. If your printer supports two-sided (duplex) printing, select one of the Two-Sided options. Otherwise, choose 2 from the Pages per Sheet pop-up menu, and optionally choose Single Hairline from the Border menu. (If youre using Mac OS X v10.4 or earlier, the Scale setting is in the Page Setup dialog and the Layout settings are in the Print dialog.)

You may want to enlarge the printed pages even if you dont print double sided, because the PDF page size is smaller than standard printer paper. In the Print dialog or Page Setup dialog, try changing Scale to 115% (155% for Getting Started, which has CD-size pages).

Getting Documentation Updates Periodically, Apple posts revised help pages and new editions of guides. Some revised help pages update the latest editions of the guides.

To view new onscreen help topics for a server application, make sure your server or administrator computer is connected to the Internet and click Latest help topics or Staying current in the main help page for the application.

To download the latest guides in PDF format, go to the Mac OS X Server documentation website: www.apple.com/server/documentation

An RSS feed listing the latest updates to Mac OS X Server documentation and onscreen help is available. To view the feed use an RSS reader application, such as Safari or Mail:

feed://helposx.apple.com/rss/snowleopard/serverdocupdates.xml

12 Preface About This Guide

Getting Additional Information For more information, consult these resources:

Read Me documentsimportant updates and special information. Look for them on the server discs.

Mac OS X Server website (www.apple.com/server/macosx)gateway to extensive product and technology information.

Mac OS X Server Support website (www.apple.com/support/macosxserver)access to hundreds of articles from Apples support organization.

Apple Discussions website (discussions.apple.com)a way to share questions, knowledge, and advice with other administrators.

Apple Mailing Lists website (www.lists.apple.com)subscribe to mailing lists so you can communicate with other administrators using email.

The QuickTime Streaming Server products websitethe latest information on key features, recent downloads, and minimum requirements, with links to additional support pages.

www.apple.com/quicktime/streamingserver

QuickTime for the Weban excellent Apple QuickTime Developer Series book that explains how to integrate video, recorded sound, Flash animation, virtual reality, MIDI, text, still images, live streams, games, and user interactivity into a website.

The companion disc includes QuickTime Pro and a full set of development tools for both Windows and Macintosh. Published by Morgan Kaufmann, this award-winning book is featured with other useful titles on the QuickTime instructional website.

www.apple.com/quicktime/tools_tips/books.html

The QuickTime Services websitelists of streaming service providers.

www.apple.com/quicktime/resources

Internet Engineering Task Force (IETF) websiteRequest for Comments (RFC) and memorandums on the RTP and RTSP standards.

www.ietf.org/rfc/rfc1889.txt (RTP)

www.ietf.org/rfc/rfc2326.txt (RTSP)

The public source websiteaccess to Darwin Streaming Server source code, developer information, and FAQs.

developer.apple.com/darwin/projects/streaming

13

Before you set up your QuickTime Streaming Server, learn what streaming is.

What Streaming Is Streaming is the delivery of media, such as movies and live presentations, over a network in real time. A computer (a streaming server) sends the media to another computer (a client computer), which plays the media as it is delivered.

With streaming, no files are downloaded to the viewers hard disk. You can stream media at various rates, from modem to broadband.

Just as you need a web server to host a website, you need a streaming server to send streams over the Internet or a local network. This server transmits video and audio streams on request.

For small audiences, the same computer can run web server software, mail server software, and streaming server software. For larger audiences, one or more computers are typically dedicated as streaming servers.

When a user requests a stream (using client software such as QuickTime Player), the request is handled using Real-Time Streaming Protocol (RTSP). Streams are sent using Real-Time Transport Protocol (RTP). A streaming server can create streams from QuickTime movies stored on a disk and can transmit live streams that it has access to.

With QuickTime Streaming Server (QTSS) software, you can deliver:

Broadcasts of live events in real time

Video on demand

Playlists of prerecorded content

1Overview of QuickTime Streaming

Live Versus On-Demand Delivery Real-time streaming media is delivered in two ways: live and on demand. QuickTime Streaming Server delivers both.

Live events, such as concerts, speeches, and lectures, are commonly streamed over the Internet as they happen, using broadcasting software such as QuickTime Broadcaster. Broadcasting software encodes a live source, such as video from a camera, in real time and delivers the resulting stream to the server. The server then serves, or reflects, the live stream to clients.

Regardless of when people connect to the stream, everyone sees the same point in the stream at the same time. You can simulate a live experience with recorded content by broadcasting from an archive source such as a tape deck or by creating playlists of media on the server.

With on-demand delivery, such as a movie or an archived lecture, each customer initiates the stream from the beginning, so no one comes in late to the stream. No broadcasting software is required for on-demand delivery.

Progressive Download (HTTP) Delivery Versus Streaming (RTP/RTSP) Delivery Progressive download (sometimes called Fast Start) is a method of delivering a movie over the Internet so it can start playing before its file is fully downloaded. With progressive download, a movie has all the data needed to start playing it at the beginning of the file, so QuickTime can start to play the movie as soon as the first part of the file is transferred. Unlike streaming, where you can watch movies without downloading files, Fast Start movies are downloaded to the viewers computer.

A Fast Start movie can be self-contained, so all data is stored inside the movie itself, or it can include pointers to data on the Internet. You can watch progressive download movies in a web browser using the QuickTime plug-in or QuickTime Player.

You can create progressive download movies for viewers with various connection speeds (called reference movies) and a streaming movie for viewers with the fastest connections.

Instant-On Streaming Viewers watching a streaming video with QuickTime 6 and later will benefit from Instant-On, an advance in Apple skip-protection technology that dramatically reduces buffer, or wait, time for an instantaneous viewing experience. Viewers can click around or scrub video as if it were on their hard disks.

14 Chapter 1 Overview of QuickTime Streaming

Chapter 1 Overview of QuickTime Streaming 15

To experience Instant-On streaming, users must have a broadband connection. The responsiveness of Instant-On streaming is affected by available bandwidth and the size, or data rate, of the content. Responsiveness can also be affected by the codec used.

Simple Setup for Live Video The illustration below shows a setup for streaming live video and audio. (Most video cameras have a built-in microphone.) You can stream audio only by using a microphone, mixer, and other appropriate audio equipment.

Streaming server

Broadcaster

A MacBook Pro with QuickTime Broadcaster software captures and encodes video and audio. The encoded signal is sent over an Internet Protocol (IP) network to a server running QTSS software. QTSS on the server sends the signal over the Internet or a local network to client computers that request the stream using QuickTime Player.

You can also run QuickTime Broadcaster and QTSS on the same computer. If you are broadcasting to a large audience (more than, say, 100), however, its wise to run QuickTime Broadcaster and QTSS on separate computers.

Ways to Receive Streamed Media When you watch and listen to cable or over-the-air media transmissions on television or radio, the cable or electromagnetic wavelengths used are dedicated to that transmission. Those transmissions are mostly uncompressed and require large amounts of transmission bandwidth. Its not a problem, because they dont compete with other transmissions using the same frequency theyre broadcast over.

When you send that same media over the Internet, the bandwidth used is no longer dedicated to only that transmission stream. The media must now share extremely limited bandwidth with thousands, potentially millions, of other transmissions traveling over the Internet.

Therefore, before multimedia is sent over the Internet, it is encoded and compressed for transmission. The resulting files are saved in a specific location, and streaming server software such as QTSS sends the media over the Internet to client computers.

Macintosh and Windows users can view streamed media with QuickTime Player (available free on the Apple website) or any other application that supports QuickTime or standard MPEG-4 files.

You can also set up streams that users can view in a web browser but they must have the QuickTime plug-in installed. When a user starts to play streamed media on a webpage, the QuickTime plug-in sends a request to the streaming server, and the server responds by sending the multimedia content to the client computer. You specify on the webpage what content to send to the clienta QuickTime movie in a specified directory, a live broadcast, or a playlist on the streaming server. You can also view 3GP streams on streaming-enabled cell phones.

Multicast Versus Unicast QTSS supports multicast and unicast network transport to deliver streaming media.

In a multicast, a single stream is shared among the clients (see illustration below). Each client tunes in to the stream much as a radio tunes in to an FM broadcast. This technique reduces network congestion but it requires a network that has access to the multicast backbone (Mbone) for content distributed over the Internet, or that is multicast-enabled for content distributed on a contained private network.

Multicast

16 Chapter 1 Overview of QuickTime Streaming

Chapter 1 Overview of QuickTime Streaming 17

In a unicast, each client initiates its own stream, resulting in the generation of many one-to-one connections between client and server (see illustration below). Having many clients connected via unicast to a stream in a local network can cause heavy network traffic, but this technique is the most reliable for delivery over the Internet because no special transport support is required.

Unicast

Relays Relays are useful for broadcasts with numerous viewers in different locations. QTSS can function as a relay sever, allowing you to scale streaming infrastructure by distributing the load between servers and making the most efficient use of network bandwidth.

When used as a relay server, QTSS forwards a stream from a source (such as Live Broadcaster, QuickTime Streaming Server) to a destination server. Mainly used for live streaming, relays are most commonly set up when viewers of the live broadcast are in multiple locations, such as different buildings on a campus or in different countries.

The source server generally resides where the live broadcast is occurring and forwards the stream to servers in various locations.

For example, a company can broadcast a CEOs presentation by relaying it from headquarters to branch offices.

Relay server

Source

The Internet

Clients

Clients

Destination server

Destination server

Company headquarters Branch offices

In this scenario, only a single stream goes over the open Internet and viewers in the branch offices connect to the destination servers on the local area network (LAN), thus reducing the load on the source server and creating a better viewing experience for everyone.

For details about setting up relays, see Setting Up Relay Streams on page 26.

18 Chapter 1 Overview of QuickTime Streaming

19

This chapter helps you quickly get QuickTime Streaming Server up and running.

The instructions in this chapter assume that you have installed and set up Mac OS X Server version 10.6. For instructions on setting up Mac OS X Server, see Mac OS X Server Getting Started for Version 10.6 or Later, included on a Mac OS X Server installation disc and downloadable at www.apple.com/server/documentation.

Hardware and Software Requirements for QuickTime Streaming QTSS requirements are provided in the Getting Started guide.

Viewer Computer Requirements Any computer with QuickTime 4 or later installed can view media streamed by the streaming server. For best results, Apple recommends QuickTime 7 or later.

To take advantage of Instant-On using QuickTime Streaming Server 4.1 or later, QuickTime 6 or later and a broadband Internet connection are required.

Any ISO-compliant MPEG-4 player can view MPEG-4 files and any 3GP-compliant device can view 3GP files. Streaming MP3 playlists can be listened to using iTunes or other compatible streaming MP3 player such as WinAmp.

You can download QuickTime Player software from the QuickTime website: www.apple.com/quicktime

Live Broadcasting Requirements To broadcast live content, use QuickTime Broadcaster, which is included and installed with Mac OS X Server.

To stream live audio or video, you need the following equipment:

Source equipment for audio, video, or both, such as a VCR, video camera, and microphone

2Setting Up Your QuickTime Streaming Server

A computer with QuickTime Broadcaster or other broadcast software (G4 computer or better recommended for MPEG-4 broadcasting) and a video or audio capture card

Note: QuickTime Broadcaster supports video capture from most FireWire-equipped sources, including digital video (DV) cameras, some webcams, and DV converter boxes for a fast, easy broadcasting process with professional-quality results.

128 MB of RAM (256 MB recommended for professional broadcasting)

QuickTime 6 or later

Bandwidth Considerations Its generally not a good idea to connect a streaming server to the Internet or local area network (LAN) by Digital Subscriber Line (DSL) or cable modem. The server will be severely limited by the relatively small bandwidth of DSL and cable modems for uploading data. In some cases, running a server on a DSL connection can break a DSL service agreement. Before setting up the server, consult your DSL or cable modem service provider.

When authoring Real-Time Transport Protocol (RTP) streams, youll get best performance if the streams dont exceed 75 percent of anticipated client bandwidth. For example, dont use a rate higher than 21 kilobits per second (Kbps) for a 28 Kbps modem connection. For a typical 56K modem connection, dont use a rate higher than 40 Kbps. For a T1 (1500 Kbps) client connection, dont use a rate higher than 1125 Kbps.

Setting Up Your Streaming Server Use the following to set up your streaming server, test your setup, and access media streamed from your server.

To set up your streaming server: 1 Open Server Admin.

2 In the Services list, select the computer you want to set up as a QuickTime streaming server.

3 Click General Settings in the toolbar, then click the Services tab.

4 In the services list, select QuickTime Streaming and then click Save.

5 Select QuickTime Streaming in the Servers list to view and change settings.

6 To start the QuickTime Streaming service, click the Play button near the bottom-left corner of the Server Admin window.

20 Chapter 2 Setting Up Your QuickTime Streaming Server

Chapter 2 Setting Up Your QuickTime Streaming Server 21

Testing Your Setup Sample QuickTime movies are included with QTSS in the default movie folder so you can test the server setup. View the sample movies using QuickTime Player.

Note: The included sample MP3 file is for use in a streaming MP3 playlist only. You cannot stream the file on demand using RTSP because it hasnt been prepared for streaming, which requires a process called hinting.

To test your server setup by viewing a sample movie: 1 On another computer, open QuickTime Player.

2 Choose File > Open URL in New Player.

3 Enter the following URL:

rtsp://hostname/sample_300kbit.mov

Replace hostname with the host name or IP address of the QuickTime streaming server and choose the movie with the bit rate appropriate for your bandwidth.

4 Click OK.

QuickTime Player connects with the server and plays the movie in a new window.

If you see a File not found message, make sure you entered the URL correctly, including uppercase and lowercase.

If your streaming server is multihomed (for example, if the computer also hosts a web server), you might need to specify another IP address for streaming. (A web server uses port 80, and with some QuickTime client configurations, QTSS also uses port 80.)

You can choose or add an IP address for the streaming server in the QuickTime Streaming pane of Server Admin. Click Settings, click IP Bindings, and then click the Bind checkbox for the IP address.

This concludes the initial setup of your QTSS software. Additional settings depend on your hardware and software, network connections, expected number of viewers, and the media you want to stream.

For information about determining these settings and operating your streaming server, see Chapter 3, Managing Your QuickTime Streaming Server, Chapter 6, Setup Example, and the resources listed on page 12.

Accessing Media Streamed from Your Server To view streaming media, users must have QuickTime 4 or later (or an MP4 player). Following are the instructions to provide to users who want to view media streamed from your server.

To view streamed media: 1 Open QuickTime Player.

2 Choose File > Open URL.

3 Enter the URL for the media file.

Example: rtsp://myserver.com/mymedia

Replace myserver.com with the DNS name of the QTSS computer and mymedia with the name of the hinted movie or media file.

This URL assumes that the movie or media file is at the top level of the media directory. For movies in subfolders in the media directory, add the folder to the pathname (for example, rtsp://myserver.com/myfolder/mymedia.mov).

If you want users to view streamed media through a web browser, you must set up a webpage to show the media and give users the pages URL.

Note: Do not enter an RTSP URL directly into the web browsers address field. Some web browsers dont recognize rtsp.

22 Chapter 2 Setting Up Your QuickTime Streaming Server

23

This chapter provides information about streaming through firewalls, setting up relays, and administering a QuickTime Streaming Server remotely.

To set up and manage QuickTime Streaming Server (QTSS), you use the Server Admin application, which is installed with Mac OS X Server (version 10.6 or later). This application provides a standard user interface for all supported platforms and enables you to administer the streaming server locally or remotely.

You use Server Admin to change general settings, monitor connected users, view log files, manage bandwidth usage, and relay streams from one server to another.

Using the Web-Based Application to Manage QuickTime Streaming If you have previously administered a QuickTime streaming server using Web Admin you can continue to do so. Web Admin, a web-based application, is useful for administering a streaming server remotely or from non-Macintosh computers.

To enable Web Admin: 1 In Server Admin, select QuickTime Streaming under the server in the Servers list.

2 Click Settings.

3 Click Access.

4 Select Enable web-based administration, then enter a name and password to be used for accessing the administrative website.

5 Click Save.

For information on using Web Admin, see the QuickTime streaming server/Darwin Streaming Server administrators guide available at developer.apple.com/darwin/.

Note: If youve used Web Admin to administer a QuickTime Streaming Server, youll find the administration features in Mac OS X Server Admin.

3Managing Your QuickTime Streaming Server

Using Server Admin to Manage QuickTime Streaming This section provides instructions for using Server Admin to complete such tasks as streaming, setting up a multihomed server, and changing such settings as the maximum number of connections and the maximum throughput allowed.

Starting or Stopping Streaming Service You start or stop streaming service in the QuickTime Streaming pane of Server Admin.

To start or stop streaming service: 1 Open Server Admin.

2 In the Servers list, click QuickTime Streaming for the server.

3 At the top of the window, click Start Service or Stop Service.

Changing the Maximum Number of Stream Connections When the specified maximum number of connections is reached, users who try to connect see a message that the server is busy or there is not enough bandwidth (error 453).

To change the maximum number of connections: 1 In Server Admin, click QuickTime Streaming under the server in the Servers list.

2 Click Settings.

3 Enter a number in the Maximum Connections text field.

4 Click Save.

Changing the Maximum Streaming Throughput If the maximum throughput is reached, no one else can connect. Users who try to connect see a message that the server is busy (error 453).

To change the maximum throughput: 1 In Server Admin, click QuickTime Streaming under the server in the Computers

& Services list.

2 Click Settings.

3 Enter a number in the Maximum Throughput text field, and choose megabits (Mbps) or kilobits per second (Kbps) from the pop-up menu.

You can specify whether to bind QTSS to all listed IP addresses or to selected addresses.

4 Click Save.

24 Chapter 3 Managing Your QuickTime Streaming Server

Chapter 3 Managing Your QuickTime Streaming Server 25

Changing the Streaming Media Directory QuickTime Streaming Server has one main media directory (/Library/ QuickTimeStreaming/Movies/). If you need to, you can specify another directory for your streaming media. For example, you might want to switch the directory to another hard disk. Make sure the owner of the new directory is the system user qtss. The owner can be changed from Workgroup Manager, the Finder, or the command line.

To specify another media directory: 1 In Server Admin, click QuickTime Streaming under the server in the Servers list.

2 Click Settings.

3 Enter a pathname in the Media Directory text field or click the button next to the field to choose a folder.

4 Click Save.

Binding the Streaming Server Admin Computer to an IP Address If your streaming server admin computer is multihomed (for example, if youre also hosting a web server), you can specify the IP address that QTSS should bind to.

To specify an IP address: 1 In Server Admin, click QuickTime Streaming under the server in the Servers list.

2 Click Settings, then click IP Bindings.

3 Select the Bind checkbox for the IP address.

4 Click Save.

Hosting Streams from Multiple User Media Directories QTSS can have only one main media directory. However, if you enable home directory support users can stream on-demand files or playlists from their home directory.

To configure QTSS to stream movies from users home directories: 1 In Server Admin, click QuickTime Streaming.

2 Click Settings, then click Access.

3 Select Enable home directory streaming.

4 Click Save.

5 Ask users to put their hinted QuickTime movies into the folder that was created in their home directories (/ /Sites/Streaming).

To view a movie in a private movie directory, enter:

rtsp://hostname.com/~user1/sample.mov

Note: To stream a live broadcast from a directory other than the media directory, you must create a qtaccess file. For more information, see the QuickTime Streaming Server Administrators Guide available at developer.apple.com/darwin/.

Setting Up Relay Streams You use relays to accept a stream from one streaming server and send the stream, or relay it, to another streaming server. Each relay comprises a source and one or more destinations.

To set up a relay: 1 In the Settings pane of the QuickTime Streaming service, click Relays.

2 Click the Add (+) button next to the Relays list.

3 Enter a name for the relay in the Relay Name field.

4 Choose an option from the Relay Type pop-up menu.

The relay type defines the source for the relay. There are three options:

Request Incoming Stream directs the streaming server to send a request to the source computer for the incoming stream before it gets relayed. You can use this feature to relay a reflected live broadcast (from another server) or to request a stored file and turn it into an outgoing live stream. This option is commonly used with unannounced UDP streams from QuickTime Broadcaster or other streaming encoders.

Unannounced UDP directs the server to relay streams on a specific IP address and port numbers.

Announced UDP directs the server to wait for the incoming stream and then relay it. Relays set to wait for announced streams can accept only media streams using the RTSP announce protocol. Announced UDP is used with Automatic (Announced) broadcasts from QuickTime Broadcaster or other streaming encoders that support RTSP.

5 For the Request Incoming Stream or Announced UDP options, complete the following:

In the Source IP field, enter the DNS hostname or IP address of the source computer.

Inthe Path text field, enter the pathname to the stream.

If the source computer requires automatic broadcasts to be authenticated, enter a user name and password.

6 Make sure Enable Relay is selected and click the Back button.

7 Click the Add (+) button next to the Destinations list.

There are two types of destinations:

Unannounced UDP directs the server to relay the stream to the destination IP address and port numbers. This requires generating an sdp file manually.

26 Chapter 3 Managing Your QuickTime Streaming Server

Chapter 3 Managing Your QuickTime Streaming Server 27

Announced UDP directs the server to relay and announce the stream to the destination IP address. The sdp file is generated at the destination.

8 Enter the requested information and click the Back button.

9 For each destination, repeat steps 7 and 8 for each destination, then click Save.

To turn a relay on or off, select or deselect the Enable checkbox next to the relay in the list. To delete a relay, select it and click the Delete () button.

Changing QuickTime Streaming Log Settings You can specify that each log be reset after a certain number of days.

To change log settings: 1 In Server Admin, click QuickTime Streaming under the server in the Servers list.

2 Click Settings.

3 Click Logging.

The Access Log is updated only as client connections are disconnected. Connected clients at the time of a power failure or server crash are never logged and wont appear in the Access Log when the server restarts.

Log files are stored in /Library/QuickTimeStreaming/Logs/.

Reading QuickTime Streaming Logs QTSS provides the following log files:

Error logs. These log files record errors such as configuration problems. For example, if you bind to a specific IP address that cant be found, or a if user deletes streaming files, these items are logged.

Access logs. When someone plays a movie streamed from your server, the log reports such information as the date, time, and IP address of the computer that played the movie.

QTSS log files are stored in /Library/QuickTimeStreaming/Logs.

QTSS keeps its logs in standard W3C format allowing you to use a number of popular log analysis tools to parse the data.

Security and Access A certain level of security is inherent in real-time streaming because content is delivered only as the client needs it and no files remain afterward. However, you may need to address some security issues.

The streaming server uses the IETF standard RTSP/RTP protocols. RTSP runs on top of TCP and RTP runs on UDP. Many firewalls are configured to restrict TCP packets by port number, and are very restrictive on UDP.

There are three options for streaming through firewalls with QTSS. These options are not mutually exclusive. Typically one or more are used to provide the most flexible setup. The three configurations outlined below are for clients behind a firewall.

Stream via port 80. This option enables the streaming server to encapsulate all RTSP and RTP traffic inside TCP port 80 packets. Because this is the default port used for HTTP-based web traffic, the streamed content gets through most firewalls. However, encapsulating the streaming traffic lowers performance on the network and requires faster client connections to maintain streams. It also increases load on the server.

Open the appropriate ports on the firewall. This option allows the streaming server to be accessed via RTSP/RTP on the default ports, and provides better use of network resources, lower speeds for client connections, and less load on the server. The ports that must be open include:

TCP port 80: Used for signaling and streaming RTSP/HTTP (if enabled on server).

TCP port 554: Used for RTSP.

UDP ports 69709999: Used for UDP streaming. A smaller range of UDP ports, typically 6970-6999, can usually be used.

TCP port 7070: Optionally used for RTSP. (Real Server uses this port; QTSS/Darwin can also be configured to use this port.)

TCP ports 8000 and 8001: Can be opened for Icecast MP3 streaming.

Set up a streaming proxy server. The proxy server is placed in the network DMZ an area on the network that is between an external firewall that connects to the Internet and an internal firewall between the DMZ and the internal network. Using firewall rules, packets with the ports defined above are allowed from the proxy server to clients through the internal firewall, and also between the proxy server and the Internet via the external firewall. However, clients are not allowed to make direct connections to external resources over those ports. This approach ensures that all packets bound for the internal network come through the proxy server, providing an additional layer of network security.

28 Chapter 3 Managing Your QuickTime Streaming Server

Chapter 3 Managing Your QuickTime Streaming Server 29

Streaming Using Port 80 If you are setting up a streaming server on the Internet and some of your clients are behind firewalls that allow only web traffic, enable streaming on port 80.

With this option, the streaming server accepts connections on port 80, the default port for web traffic, and QuickTime clients can connect to your streaming server even if they are behind a web-only firewall.

If you enable streaming on port 80, make sure you disable any web server with the same IP address to avoid conflicts with your streaming server.

To serve QuickTime streams over HTTP port 80: 1 In Server Admin, click QuickTime Streaming under the server in the Servers list.

2 Click Settings.

3 Click IP Bindings.

4 Select Enable streaming on port 80.

Important: If you enable streaming on port 80, make sure your server is not also running a web server, such as Apache. Running QTSS and a web server with streaming on port 80 enabled can cause a port conflict that results in one or both servers not behaving properly.

Streaming Through Firewalls or Networks with Address Translation The streaming server sends data using UDP packets. Firewalls designed to protect information on a network often block UDP packets. As a result, client computers located behind a firewall that blocks UDP packets cant receive streamed media.

However, the streaming server also allows streaming over HTTP connections, which allows streamed media to be viewed through even very tightly configured firewalls.

Some client computers on networks that use address translation may be unable to receive UDP packets, but they can receive media thats streamed over HTTP connections.

If users have problems viewing media through a firewall or via a network that uses address translation, have them upgrade their client software to QuickTime 5 or later. If users still have problems, have their network administrators provide them with the appropriate settings for the streaming proxy and streaming transport settings on their computers.

Network administrators can also set firewall software to permit RTP and RTSP throughput.

Changing the Password Required to Send an MP3 Broadcast Stream Broadcasting MP3s to another server requires authentication.

To change the MP3 broadcast password: 1 In Server Admin, click QuickTime Streaming under the server in the Servers list.

2 Click Settings, then click Access.

3 Enter a new password in the MP3 Broadcast Password box.

4 Click Save.

Using Automatic Unicast (Announce) with QTSS on a Separate Computer You can broadcast from QuickTime Broadcaster to QTSS. This setting can also be used to receive Announced UDP streams from another QuickTime streaming server via a relay using the Automatic Unicast (Announce) transmission method. To do so, you must create a broadcast user name and password on the streaming server.

To create a broadcast user name and password on the streaming server: 1 In Server Admin, click QuickTime Streaming under the server in the Servers list.

2 Click Settings, then click Access.

3 Click the Accept incoming broadcasts checkbox.

4 Click Set Password and enter the name and password.

5 Click Save.

Advanced Management Tasks In addition to what is available via Server Admin, QTSS also includes advanced features that allow for further customization of the server from the command line. These features include creating QTSS users and groups with qtaccess files, controlling access to content, and setting up multicast relays.

Controlling Access to Streamed Media You can set up authentication to control client access to streamed media files. You can use Workgroup Manager to specify who can access the media files, or you can use an access file.

To control access using Open Directory: Authorize each user in Workgroup Manager. See m Open Directory Administration for more information.

30 Chapter 3 Managing Your QuickTime Streaming Server

Chapter 3 Managing Your QuickTime Streaming Server 31

Controlling Access Using an Access File To control access using an access file: Two schemes of authentication are supported: basic and digest. By default, the server uses the more secure digest authentication.

You can also control playlist access and administrator access to your streaming server. Authentication does not control access to media streamed from a relay server. The administrator of the relay server must set up authentication for relayed media.

The ability to manage user access is built into the streaming server, so it is always enabled.

For access control to work, an access file must be present in the directory you selected as your media directory. If an access file is not present in the streaming server media directory, all clients are allowed access to the media in the directory.

1 Use the qtpasswd command-line utility to create user accounts with passwords.

2 Create an access file and place it in the media directory you want to protect.

3 To disable authentication for a media directory, remove the access file (named qtaccess) or rename it (for example, qtaccess.disabled).

Creating an Access File An access file is a text file named qtaccess that contains information about users and groups who are authorized to view media in the directory where the access file is stored.

The directory you use to store streamed media can contain other directories, and each directory can have its own access file.

When a user tries to view a media file, the server checks for an access file to see whether the user is authorized to view the media. The server looks first in the directory where the media file is located. If an access file is not found, it looks in the enclosing directory.

The first access file thats found is used to determine whether the user is authorized to view the media file.

The access file for the streaming server works like the Apache web server access file.

You can create an access file with a text editor. The filename must be qtaccess and the file can contain some or all of the following information:

AuthName

AuthUserFile

AuthGroupFile

require user

require group

require valid-user

require any-user

Terms not in angle brackets are keywords. Anything in angle brackets is information you supply.

Save the access file as plain text (not .rtf or any other file format).

Heres a brief explanation of each keyword:

message is text your users see when the login window appears. Its optional. If your message contains white space (such as a space character between terms), enclose the entire message in quotation marks.

user filename is the path and filename of the user file. For Mac OS X, the default is /Library/QuickTimeStreaming/Config/qtusers.

group filename is the path and filename of the group file. For Mac OS X, the default is /Library/QuickTimeStreaming/Config/qtgroups. A group file is optional. If you have many users, it may be easier to set up one or more groups and then enter the group names, instead of listing each user.

username is a user who is authorized to log in and view the media file. The users name must be in the user file you specified. You can also specify valid-user, which designates any valid user.

groupname is a group whose members are authorized to log in and view the media file. The group and its members must be listed in the group file you specified.

You can use these additional user tags:

valid-user is any user defined in the qtusers file. The statement require valid-user specifies that any authenticated user in the qtusers file can have access to the media files. If this tag is used, the server prompts users for user name and password.

any-user allows any user to view media without providing a name or password.

AuthScheme is a keyword with the values basic or digest to a qtaccess file. This overrides the global authentication setting on a directory-by-directory basis.

If you make customized changes to the default qtaccess access file, be aware that making changes to broadcast user settings in Server Admin will modify the default qtaccess file at the root level of the movies directory. Therefore, customized modifications you made will not be preserved.

32 Chapter 3 Managing Your QuickTime Streaming Server

Chapter 3 Managing Your QuickTime Streaming Server 33

What Clients Need When Accessing Protected Media Users must have QuickTime 5 or later to access a media file that digest authentication is enabled for. If your streaming server is set up to use basic authentication, users need QuickTime 4.1 or later. Users must enter their user names and passwords to view the media file. Users who try to access a media file with an earlier version of QuickTime will see the error message 401: Unauthorized.

Adding User Accounts and Passwords You can add a user account and password if you log in to the server computer.

To add a user account: 1 Log in to the server computer as root, open a terminal window, and enter the

following:

qtpasswd

Alternatively, use sudo to execute the command as root.

2 Enter a password for the user and reenter it when prompted.

Adding or Deleting Groups You can edit the /Library/QuickTimeStreaming/Config/qtgroups file with any text editor as long as the file uses this format:

:

For Windows, the path is c:\Program Files\Darwin Streaming Server\qtgroups. For other supported platforms, it is /etc/streaming/qtgroups.

To add or delete a group, edit the group file you set up.

Making Changes to the User or Group File You can make changes to the user or group file if you log in to the server computer.

To delete a user from a user or group file: 1 Log in to the server computer as administrator and use a text editor to open the user

or group file.

2 Delete the user name and encrypted passwords line from the user file.

3 Delete the user name from the group file.

To change a user password: 1 Log in to the server computer as root, open a terminal window, and enter the

following:

qtpasswd

Alternatively, use sudo to execute the command as root.

2 Enter a new password for the user.

The password you enter replaces the password in the file.

Configuring a Multicast Relay Setting up a multicast relay allows you to receive a unicast stream from one server and relay it out to a LAN over multicast. (The network must be multicast-enabled for viewers to be able to access the stream.) The following steps show how this is set up.

To relay an incoming stream as a multicast stream: 1 Set up a multicast relay on the streaming server:

a If the broadcast source for the relay is configured as an Automatic Unicast (Announce), set the Relay Type to Announced UDP. If the broadcast source for the relay is configured as a Manual Unicast, set the Relay Type to Request Incoming Stream.

b Set the Source IP of the relay to 127.0.0.1.

c Set the path to the Announced (specified in step 2) or Unannounced sdp file (manually copied to the server) as the Path for the relay. This path is relative to your streaming servers Movies directory. Make sure to include the .sdp extension.

d If you are using Automatic Unicast on the Broadcaster/Encoder, select Announced UDP for the Relay Type. If the source is a manual unicast, select Request Incoming Stream.

e Leave User Name and Password fields blank. When using the loopback address (127.0.0.1), authentication is not required.

f Create a destination for the relay by clicking the + icon, then specify a valid multicast address for the Destination IP address. Set the Destination type to Unannounced UDP. Set the UDP base port number to an even number (something in the 90009996 range works well). The multicast TTL is the number of router hops the multicast will work through, based on the topology of the network you are working on.

g Click the Save button.

2 Set up QuickTime Broadcaster to send an Automatic Unicast (Announce) or Manual Unicast to the server.

For Automatic Unicasts, the filename specified in Broadcaster will be created on the server (the .sdp extension will be added if not specified). More information on Automatic Unicast is available on page 30. For Manual Unicast, the sdp file must be Exported from Broadcaster and manually copied to the Streaming Servers Movies directory.

34 Chapter 3 Managing Your QuickTime Streaming Server

Chapter 3 Managing Your QuickTime Streaming Server 35

3 After you start the broadcast, test the reflected stream from the server in QuickTime Player by opening this URL:

rtsp:// /

4 To enable clients to tune in to the multicast relay, make a copy of the SDP file and edit the copy as follows:

a In the line that begins with c=IN IP4, change the IP address to the multicast IP address specified in step 1.

b In the first line beginning with m= (usually m=audio), change the 0 to the base port specified in step 1 (for example, 9000).

c In the next line beginning with m= (usually m=video), change the 0 to the base port plus 2 (9002).

5 Save the file where clients can access it:

If you put the file on an HTTP or FTP server, clients can access the multicast in QuickTime Player by opening one of these URLs:

http:// /

ftp:// /

If you put the multicast SDP file on a web server or email it to clients, they can open it in QuickTime Player.

If you place the multicast SDP file on a web server, configure the MIME type on the web server by entering: mime type extension application/sdp sdp

Alternatively, you can open the SDP file or URL in QuickTime Pro, save the file as a self- contained .mov file, and then send the file to clients or embed it in a webpage.

As long as the broadcast SDP filename isnt changed, you can stop and start broadcasts using the same name. However, if you change parameters in the SDP file, you must complete steps 4 and 5 for each new broadcast.

36

This chapter provides information on what to do if you encounter problems while streaming media.

Using Log Files to Monitor Playlist Broadcasts If you enable logging, you can use the log file to troubleshoot problems that occur during a broadcast. Here are tips for resolving problems you might find:

If the media in the playlist is not being broadcast, use Server Admin to make sure the streaming server is running.

If the streaming server is running, make sure a process called PlaylistBroadcaster is running on the server computer. If it is running, stop the broadcast, delete the SDP file for the broadcast from the streaming server media directory and then restart the broadcast. A new SDP file is generated when you restart the broadcast.

If Media Files Dont Stream Properly Try streaming a sample movie to see if the server can stream it. Sample movies are included with the server.

If the server streams the sample movie, the problem may be with the way your movie file is prepared. Re-create the movie.

If the sample movie doesnt stream, the problem may be with the server computer or the network. Verify the following:

Check streaming server activity and, if necessary, reduce the maximum number of connections or throughput.

If the problem occurs on a client computer, make sure the user has the appropriate Streaming Proxy and Streaming Transport settings. The administrator for the client computers network should be able to provide the correct settings.

4Troubleshooting and Technical Information

Chapter 4 Troubleshooting and Technical Information 37

Make sure the client software supports the file format being broadcast.

Verify the structure of the URL.

Review the playlist. If you created a looping playlist containing hinted MPEG-1 QuickTime files, QuickTime clients may have problems viewing the stream.

If Users Cant Connect to Your Broadcast Make sure the client computer has QuickTime 4 or later installed. If users are connecting using a web browser, make sure the QuickTime 4 Plug-in is installed correctly. Also consider the following:

Make sure users have the correct URL.

If users are attempting to connect to your broadcast over HTTP, make sure you disable any web server that may be conflicting with your streaming server. Also, make sure streaming on port 80 is enabled in the General Settings pane of QTSS Server Admin.

If Users See Error Messages While Streaming Media Heres what the messages mean:

Error code 401: The user has tried to access a protected file. Users may need to upgrade to QuickTime 5 or later.

Error code 404: The server cannot locate the URL the user entered. Make sure users enter the correct URL for the broadcast. Tell users they should not enter an RTSP URL into the web browsers location address. RTSP URLs are used only with the Open URL command of QuickTime Player.

Error code 415: The movie file is not hinted or has a compressed movie resource. You need to hint the movie again using the Pro version of QuickTime Player. Alternatively, you may be attempting to natively serve MP3 files on demand (that is, as an HTTP download). QTSS support of MP3 streams is intended for Shoutcast/ Icecast-compatible live streams (such as those created by an MP3 playlist) or live streams of other compatible MP3 live encoder broadcasters. If you want to serve individual MP3 files on demand (not as live streams), host the files on a web server.

Error code 453: The server is too busy for users to view the stream. Users should try again later. You may want to increase the maximum number of connections in the General Settings pane of QTSS Server Admin.

Error code 454: The connection to the server was dropped. Users must start viewing the stream again. Check if the server is behind a firewall or the client is behind Network Address Translation (NAT) software. See Streaming Using Port 80 on page 29 and Streaming Through Firewalls or Networks with Address Translation on page 29.

Error code 5420: The server may not be running. Inspect the streaming server and restart it if necessary. See if the server is behind a firewall or the client is behind Network Address Translation (NAT) software. See Streaming Using Port 80 on page 29 and Streaming Through Firewalls or Networks with Address Translation on page 29.

38 Chapter 4 Troubleshooting and Technical Information

39

This chapter explains QuickTime Broadcaster, Apples award- winning live-encoding software for professional-quality live events.

QuickTime Broadcaster takes full advantage of QuickTime, the most powerful digital media technology on the Internet. The combination QuickTime Broadcaster, QuickTime Streaming Server (QTSS) and QuickTime provides the industrys first end-to-end MPEG- 4-based Internet broadcasting system, which allows you to reach not only the large and growing base of QuickTime Players, but also any ISO-compliant MPEG-4 player.

QuickTime Broadcaster provides a basic view that includes presets for popular broadcasting configurations, making it easy to start broadcasting in a few clicks. Or you can customize your own settings in the expanded view and then save and share them with others.

When to Use a Streaming Server To send your broadcast over the Internet or to more than one viewer over a local network that is not multicast-enabled, you need a streaming server. The streaming server replicates the single stream from QuickTime Broadcaster and allows multiple QuickTime Players to connect to the broadcast.

You can use QuickTime Broadcaster without a streaming server to send your broadcast to a single viewer (with QuickTime Player), or to multiple viewers using the multicast method of transmission.

Setting Up Your First Stream You can set up your first stream and put it on the air in less than five minutes.

The following instructions are for setting up a direct one-to-one connection (not using QTSS or other streaming software) to a computer with QuickTime Player.

You need to know the IP address of the receiving computer.

5Working with QuickTime Broadcaster

To set up a stream: 1 Connect a camera or other video input device to your computer.

2 Open QuickTime Broadcaster and, if the expanded window is open, click Hide Details.

3 Choose options from the Audio and Video pop-up menus that best fit your situation.

4 Click Show Details, click Network, and choose Manual Unicast from the Transmission pop-up menu.

5 In the Address field, enter the IP address of the receiving computer.

Leave other settings at their default values.

6 In QuickTime Broadcaster, choose File > Export SDP.

The file saved in this step is the Session Description Protocol (SDP) file, which contains information your audience will need to watch your broadcast.

7 Send or copy the SDP file to the computer that will be used to view your broadcast.

8 On the sending computer, start the broadcast by clicking Broadcast in the QuickTime Broadcaster window.

To view the broadcast, double-click the SDP file on the receiving computer.

Setting Up QuickTime Broadcaster In this example, QuickTime Broadcaster is installed on a notebook computer. Plug a FireWire camera into the notebook, turn the camera on, and see if QuickTime Broadcaster recognizes it.

To set up QuickTime Broadcaster: 1 Open QuickTime Broadcaster and click Show Details.

2 Click Video and choose a video source from the Source pop-up menu.

If the camera is recognized, it appears in the Source menu. Video settings should also be active (not dimmed).

If the camera doesnt appear in the Source menu, quit QuickTime Broadcaster, make sure your camera is connected and turned on, and then open QuickTime Broadcaster again. If your camera still does not appear, check the QuickTime website or the AppleCare Service & Support website for information on compatibility and other issues.

When broadcasting to QTSS on a separate computer, as in this example, Automatic Unicast (Announce) is the recommended transmission method. Its easy to set up.

3 In QuickTime Broadcaster, click Show Details, click Network, and choose Automatic Unicast (Announce) from the Transmission pop-up menu.

40 Chapter 5 Working with QuickTime Broadcaster

Chapter 5 Working with QuickTime Broadcaster 41

4 In the Network pane, enter the IP address or host name of the receiving computer, a name for the broadcast file, the user name and password for the broadcaster user, and the buffer delay (or accept the default).

Note: The buffer delay sets the number of seconds QuickTime buffers the broadcast before playback. For broadband connections, QuickTime Player 6 or later fills the buffer more quickly than real time, providing an Instant-On viewing experience.

5 Click Broadcast and start QTSS (if its not already running) by selecting the computer in Server Admin, clicking QuickTime Streaming, and clicking Start Service.

To find out if the live stream can be seen from a client, open QuickTime Player on a client computer and Choose File > Open URL in New Player.

6 Enter the Real-Time Streaming Protocol (RTSP) URL displayed in the Location section of the QuickTime Broadcaster window (for example, rtsp://myserver.com/mystream.sdp).

Note: The URL is case-sensitive and must be entered as displayed in the QuickTime Broadcaster window.

The live stream should start playing in QuickTime Player.

7 Test the setup.

This should be done as realistically as possible. Be sure to test the following:

Set up your equipment as it will be used for the live presentationif possible, in the actual location.

Ask a colleague to stand in for the presenter, or better yet, have the presenter take part in the test, making it a dress rehearsal.

Verify the video image and the sound.

Verify that clients on the local network and on the Internet can tune in to the live stream.

Adjust the camera and microphone positions and lighting as necessary and troubleshoot any other problems.

Choosing a Broadcast Method The broadcast method you choose depends on the size of your expected audience:

When broadcasting a live event to only one viewer, you can use QuickTime Broadcaster on Mac OS X; you dont need server software. Sending a broadcast to one recipient is called unicasting. Unicasting is the most common delivery method for general Internet broadcasting.

The unicast recipient must have a computer with QuickTime Player, QuickTime Streaming Server (QTSS), or Darwin Streaming Server installed. If the recipient has server software, the server can reflect your broadcast to multiple viewers.

For an audience of a few hundred connected users, a single Mac computer can run both QuickTime Broadcaster and QTSS. QuickTime Broadcaster sends the stream to QTSS, which then delivers the stream to a group of clients.

The number of clients that can connect to the broadcast depends on available bandwidth and processor capacity. A typical Mac Pro configuration supports at least 200 DSL connections or 400 dial-up connections. This configuration works well for online classes, lectures, and other events with a limited audience.

If your broadcast is to be viewed by a large number of people, use two computers, one with QuickTime Broadcaster to broadcast the stream, and the other with QTSS to reflect the stream to multiple viewers.

If you are on a multicast-enabled network, you can reach multiple viewers by multicasting your broadcast. Multicasting is a method of broadcasting over a local network (not over the Internet) using a single stream thats shared among all viewers of the broadcast. Each viewer tunes in to the broadcast much like a radio tunes into an FM broadcast.

Choosing Compression Settings QuickTime Broadcaster offers a full range of audio and video codecs for real-time compression and streaming. This section helps you pick the codecs most appropriate for your situation.

In general, its best to set audio options before video settings. In QuickTime Broadcaster you can choose from any of the compressors included with QuickTime. This allows you to select the best codec for the type of content being broadcast and for your viewers connections.

For beginners, QuickTime Broadcaster includes default settings (presets) optimized for common types of content and audience connections. For example, the default setting for speech is MPEG-4 audio (AAC) at 8 kHz mono. Although MPEG-4 audio is generally considered a music codec, it also works well for speech content.

You can also create your own settings in the Audio pane of QuickTime Broadcaster. (If you dont see the Audio button, click Show Details.) The settings you create can be saved for future use and shared with others for use with their broadcasts.

For many types of broadcasts, choose the video settings after determining the audio compression. Video quality is usually less important than audio, because dropped or garbled audio is very hard to understand and will quickly frustrate your audience.

The video compression settings for a broadcast depend on the type of motion that will be broadcast and the bandwidth available to viewers. QuickTime Broadcaster provides default settings (presets) for common situations.

42 Chapter 5 Working with QuickTime Broadcaster

Chapter 5 Working with QuickTime Broadcaster 43

For example, video for clients on a local area network (LAN) uses the H.264 codec with a 480 x 360 frame size at 30 frames per second (fps), limiting the data rate to 1372 kilobits per second (Kbps). Video for clients with dial-up connections uses the H.264 codec with a 160 x 120 frame size at 6 fps, limiting the data rate to 30 Kbps.

Creating Presets After you select a compressor to use for audio or video, you can fine-tune your results by selecting additional options. For many audio compressors, you can adjust the sampling rate, or choose between mono and stereo sound. Many video compressors allow you to set frame rates and key frame settings.

To determine whether you can customize codec settings: In the Video pane of QuickTime Broadcaster, click the Options button next to the m

compressors name.

If the button is dimmed, no additional settings are available.

What an SDP File Is A Session Description Protocol (SDP) file describes the parameters and settings for a broadcast, thereby enabling QuickTime Player to receive the broadcast. To view a broadcast, you open the SDP file with QuickTime Player.

You can create an SDP file for any of the three transport options:

Automatic Unicast (Announce): The SDP file can be created automatically on a specified QuickTime Streaming Server. The location address appears only in this case.

Manual Unicast: The SDP file is placed on a streaming server or opened directly in QuickTime Player.

Multicast: The SDP file is opened by hand in QuickTime Player.

To create an SDP file: In QuickTime Broadcaster, choose File > Export > SDP. m

You can send the SDP file to a single viewer or to a streaming server that allows many viewers to connect to the broadcast.

Choosing Network Settings A successful streaming broadcast requires coordination between codec settings and network settings. Choosing a high data rate codec for use on a slower connection will result in viewing problems.

Use this section to help you choose network settings for your broadcast and to serve as a starting point for adjusting parameters to meet your requirements.

Using Automatic Unicast (Announce) You can use QuickTime Broadcaster to broadcast to QTSS using the Automatic Unicast (Announce) transmission method. To do so, you need:

A broadcaster user account. QuickTime Broadcaster will ask for the accounts user name and password, to allow an SDP file to be created on the streaming server. If youre using QuickTime Broadcaster and QTSS on the same computer, you dont need a broadcaster user account.

QTSS 4.0 or later installed on the streaming server.

To start an Automatic Unicast broadcast: 1 In QuickTime Broadcaster, click Show Details (if the expanded window isnt open)

and click Network.

2 Choose Automatic Unicast (Announce) from the Transmission pop-up menu.

3 Enter the IP address or host name of the receiving server, the name of the broadcast file, the user name and password for the streaming server user account (if needed), and the buffer delay (or accept the default).

4 Click Broadcast.

All information is sent to the server. You do not need to create an SDP file.

Using Manual Unicast Manual unicast is a method of broadcasting that requires you to export an SDP file from QuickTime Broadcaster to a receiving computer identified by its IP address. The receiving application can be a single QuickTime Player, QTSS, or Darwin Streaming Server (DSS). If the receiving application is QTSS or DSS, the broadcast is reflected and is no longer limited to a single IP address.

To broadcast via Manual Unicast: 1 In QuickTime Broadcaster, if the expanded window is not open, click Show Details.

2 Click Network.

3 Choose an option from the Preset pop-up menu.

4 Choose Manual Unicast from the Transmission pop-up menu.

5 Enter the IP address of the receiving computer.

To see the IP address of a Mac OS X computer, open System Preferences, click Network, and choose an option from the Show pop-up menu. On a Windows computer, open the Control Panel and then open Network Connections.

6 Enter the audio port and video port numbers (or accept the defaults if broadcasting one-to-one), and the buffer delay (or accept the default).

7 If you want, enter information in the Annotation section.

44 Chapter 5 Working with QuickTime Broadcaster

Chapter 5 Working with QuickTime Broadcaster 45

8 Click Broadcast.

9 Choose File > Export > SDP or File > Export > Movie.

10 Specify a name for the SDP or movie file and click Export.

If the file is exported to QuickTime Player, the user opens the file by choosing File > Open File.

If the file is exported to QTSS or DSS, the user chooses File > Open URL. Talk to your QTSS or DSS administrator to determine the correct URL.

Using Multicast Multicasting is a method of broadcasting over a local network (not over the Internet) using a single stream thats shared among all viewers of the broadcast. Each viewer tunes in to the broadcast much like a radio tunes in to an FM broadcast.

Multicasting requires a network that has access to a multicast backbone (MBone) or is multicast-enabled.

You can multicast over a local network if it is multicast-enabled. Contact your network administrator to find out if your network supports multicasting.

To broadcast over a local network using the multicast method: 1 In QuickTime Broadcaster, if the expanded window isnt open, click Show Details.

2 Click Network.

3 Choose Multicast from the Transmission pop-up menu.

4 Click Generate IP Address.

This enters the IP address youre using to send the multicast. An address is created in a range reserved for multicast broadcasts. If your network administrator has assigned specific multicast addresses, you can enter an address manually.

5 Specify a Time To Live (TTL) setting (or accept the default).

This setting specifies the number of times a media stream can be passed from one router to another before the stream is no longer transmitted. The value can be any number between 1 and 255. A value of 1 reaches client computers on the local network. The larger the number, the farther the multicast packets will travel.

6 Choose File > Export > SPD or File > Export > Movie.

This creates an SDP file or a QuickTime movie file, which you can send to others. To view the broadcast, double-click the SDP file or use QuickTime Player to open the movie file.

Previewing Your Broadcast You can preview your broadcast in the QuickTime Broadcaster window with or without compression. You can also turn off the preview function. Choose from the following:

To preview your broadcast from the source, choose Source from the Preview pop-up menu (above the video preview area).

To preview your broadcast with compression, choose Compress from the Preview pop-up menu and then choose from the presets listed in the Audio and Video pop-up menus. (If there are no pop-up menus below the preview area, click Hide Details.)

Alternatively, click Show Details. In the Audio and Video panes, choose presets from the Preset pop-up menus or specify custom compression settings. In the Video pane, adjust the Quality slider for the best image.

To turn the preview function off, choose None in the Preview pop-up menu.

The preview shows you how your stream will appear under ideal circumstances. It doesnt take into account potential network delays or bandwidth limitations.

Setting Up an Audio-Only Broadcast You can use QuickTime Broadcaster to broadcast audio content such as a concert, speech, or meeting.

QuickTime Broadcaster works with:

Audio supplied by your DV camera or other FireWire device

An external (not internal) CD player

A microphone or other analog audio source connected to the audio input ports of your computer, or to a USB audio input device such as the Griffin iMic

To set up an audio broadcast: 1 In the QuickTime Broadcaster window, click Show Details (if the expanded window is

not open) and click Audio.

2 Choose an audio source from the Source pop-up menu.

If your audio source does not appear in the menu, quit QuickTime Broadcaster, make sure your equipment is connected and turned on, and try again.

3 Choose an appropriate compression setting from the Preset pop-up menu, or specify custom settings.

4 Click Video and make sure Enable Video Stream is deselected (which turns off the video stream).

If audio is creating feedback or you dont want to listen to it, you can turn it off by deselecting Play through speaker in the Audio pane.

46 Chapter 5 Working with QuickTime Broadcaster

Chapter 5 Working with QuickTime Broadcaster 47

Changing the Audio Source QuickTime Broadcaster works with audio from a DV camera or Apple iSight camera, the audio input ports on your computer, and USB audio input devices such as the Griffin iMic.

To choose an audio source: 1 In the QuickTime Broadcaster window, click Show Details (if the expanded window is

not open) and click Audio.

2 Choose an audio source from the Source pop-up menu.

If an audio source is connected and providing input, you should hear audio through the computer (if Play through speaker in the Audio pane is selected), and audio settings should be available (not dimmed).

If your audio source does not appear in the Source pop-up menu, quit QuickTime Broadcaster, make sure your equipment is connected, and try again.

Adding Annotations to Your Broadcast You can add a title, copyright, and other annotations to your broadcast.

To add annotations: 1 In QuickTime Broadcaster, click Network.

If you cant see the Network button, click Show Details.

2 Under Annotations, fill in the desired fields.

Your audience can view this information by choosing Window > Show Movie Info in QuickTime Player. (Viewers who dont have QuickTime Pro see only the first three annotations.)

Hinting the Movie File You can save a compressed and hinted copy of your broadcast as a movie file. The movie is saved on the computer you broadcast from and is ready to post to a QuickTime streaming server so that viewers can watch a rerun of the event.

To record your broadcast and hint a movie file: 1 Choose QuickTime Broadcaster > Preferences.

2 In the Recording field, specify a path (or click Choose to choose a location) in which to store your broadcast file.

3 Select Hint for Streaming Server.

This option adds a hint track containing information needed to stream your movie.

4 Enter a name for your movie and click OK.

5 In the QuickTime Broadcaster window, select Record to disk.

6 Click Broadcast.

Note: An archived broadcast can use a great deal of disk space. If the broadcast is more than a few hours, more than one .mov file might be created. If so, the files are numbered sequentially (for example, mymovie.mov, mymovie2.mov, and so on).

Saving Settings Using Presets You can save your audio, video, and network settings so that you can use them again later.

To create a preset: 1 In QuickTime Broadcaster, choose the settings in the Audio, Video, and Network panes.

If you dont see these panes, click Show Details.

2 Choose Save Preset from the Preset pop-up menu.

3 To reuse these settings, choose your preset from the Preset pop-up menu in each pane (Audio, Video, or Network).

4 To transfer your presets to another computer, choose QuickTime Broadcaster > Preferences and enter a path in the Presets Directory field (or click Choose and select a destination).

Note: Presets must be located in ~/Library/QuickTime Broadcaster. Others using your presets must place their files in the same location on their computers.

Changing the Size of the Broadcast Image You can change the size of the image viewed by your audience. Large frame sizes are often desirable but require more bandwidth and can place excessive demands on slower computers (both broadcasting and receiving). If sound is more important than video in your broadcast (such as a broadcast of a concert or lecture), consider reducing the frame size to allow more bandwidth to be allocated to the audio.

To change the size of the video frame your audience receives: 1 In the QuickTime Broadcaster window, click Show Details (if the expanded window is

not open) and click Video.

2 In the Compression area, enter new numbers into the Width and Height fields.

This procedure does not affect the size of the Preview image in QuickTime Broadcaster.

48 Chapter 5 Working with QuickTime Broadcaster

Chapter 5 Working with QuickTime Broadcaster 49

Changing the Video Source QuickTime Broadcaster works with DV cameras, Apple iSight cameras, IIDC cameras (supported only in Mac OS X v10.2 and later), and other DV sources (such as analog-to- DV converter boxes) that you can connect to your computer using FireWire.

To choose the video source: 1 In the QuickTime Broadcaster window, click Show Details (if the expanded window is

not open) and click Video.

2 Choose an option from the Source pop-up menu.

If a video source is connected and providing input, it should appear in the Source menu, and a preview image should display (if the preview function is on). Video settings should also be available (not dimmed).

If your input device does not appear in the Source menu, quit QuickTime Broadcaster, make sure your input device is connected and turned on, and open QuickTime Broadcaster again. If your input device still does not appear, it may not be compatible with QuickTime Broadcaster.

Choosing the Packetizer In most cases, the default packetizer settings for each compressor dont need to be changed. If you know RTP and want to fine-tune the packetizer, you can change the settings by clicking the Packetizer button in the Audio and Video panes and entering values in the dialogs that appear:

If broadcasting AAC to mobile phones, change the packetizer to MPEG-4 LATM Audio.

If broadcasting H.263 to mobile phones, change the video packetizer to H.263 3GPP.

Saving Broadcast Settings With QuickTime Broadcaster, you can create your custom broadcast settings and save them as documents for reuse and sharing with others.

To save a custom broadcast setting: 1 Choose your audio, video, and network settings.

2 Choose File > Save Broadcast Settings As.

3 Specify a filename and location.

The file you save will have the extension .qtbr.

After the file is saved, double-clicking its icon opens QuickTime Broadcaster (if installed) with the custom settings in place. You can then click Broadcast to begin streaming.

Broadcasting to Mobile Phones QuickTime Broadcaster includes support for broadcasting to streaming-enabled mobile phones. It also includes presets for typical settings used when broadcasting to mobile phones.

To create custom settings for streaming to phones, contact the phone manufacturer to determine the supported audio and video codec. Typically, multimedia-enabled phones support MPEG-4 video and H.263 video, and AAC, AMR, or QCELP audio.

About Firewalls Network firewalls, which protect internal networks from outsiders, can interfere with your ability to send and receive broadcasts.

If youre broadcasting, contact your network administrator to ensure that outgoing ports are open for your broadcast. Many ISPs and corporate networks block these ports to limit bandwidth use and tighten security.

When sending a broadcast, QuickTime Broadcaster uses the following ports by default:

Automatic Unicast (Announce): 554.

Manual Unicast: Enter the port information in the Network pane.

To change a port number, add a colon and the port number to the end of the IP address. For example, 127.0.0.1:7070.

Audiences behind a firewall may be able to view your broadcast by adjusting the network settings in QuickTime preferences, or by configuring the use of a proxy server in Network preferences.

Limiting Access to Your Broadcast To limit who can see your broadcast, you can embed the broadcast movie in a webpage and control access to the HTML page using your web servers security settings.

If you distribute the SDP file or broadcast announcement movie, anyone who obtains the file can view the stream, unless you are broadcasting from within a firewall. If the broadcast is manual unicast, only the computer with the specified IP address can connect.

50 Chapter 5 Working with QuickTime Broadcaster

Chapter 5 Working with QuickTime Broadcaster 51

Tips and Troubleshooting The tips that follow will help you get the most from QuickTime Broadcaster.

I am Being Asked for a Password When you broadcast to QTSS or DSS using Automatic Unicast (Announce), you must provide a user name and password so that a user account and a broadcast file can be created on the streaming server computer. For details on how to create the special user account, see QTSS or DSS Help.

The user name and password required for automatic unicast are not the same as those used for the streaming server web admin utility.

Getting the Most from Available Bandwidth When configuring your broadcast consider the following:

The upload speed when broadcasting. Most ISPs limit upload speed to between 128 kilobits per second and 256 kbps. That means that the total data rate for your broadcast (audio and video) should not exceed your upload speed. In fact, you should set it considerably lower than your upload speed to account for network congestion.

The speed of your viewers network connections. For example, if viewers connect with 56K modems, you should probably limit the overall data rate of your broadcast to 33 kbps. Viewers with faster connections can sustain higher rates, but even for those with T1 Internet access, you should probably limit your broadcasts data rate to 410 kbps. (These numbers are conservative estimates.)

How the broadcasting or streaming server computer is connected to the network and the expected number of viewers. If your streaming server computer is on a T1 line, a maximum of about 25 viewers can connect to your broadcast using 56K dial- up modems.

Tips for Choosing Video Compression Settings For many types of broadcasts, its best to choose the video settings after determining the audio compression. Video quality is usually less important than audio, since dropped or garbled audio is very hard to understand and will quickly frustrate your audience.

The video compression settings for a broadcast depend a lot on the type of motion that will be broadcast and the bandwidth available to your viewers. QuickTime Broadcaster provides default settings (presets) for common situations.

For example, video for clients on a local area network (LAN) uses the H.264 codec with a 480x360 frame size at 30 frames per second (fps), limiting the data rate to 1372 kilobits per second. Video for clients with dial-up connections uses the H.264 codec with a 160x120 frame size at 6 fps, limiting the data rate to 30 Kbps.

Tips for Choosing Audio Compression Settings In general, its best to set audio options before video settings. In QuickTime Broadcaster you can choose from any of the codecs included with QuickTime. This allows you to select the best codec for the type of content being broadcast and your viewers connections.

For beginners, QuickTime Broadcaster includes default settings (presets) optimized for common types of content and audience connections. For example, the default setting for speech is MPEG-4 audio (AAC) at 8 kHz mono. (Although MPEG-4 audio is generally considered a music codec, it also works great for speech content.)

For audio that includes the music, the default setting is MPEG-4 audio (AAC) at 20 kbps per second (Kbps) for dial-up users and 128 Kbps for LAN users.

If the Video Looks Blurry, Stutters, or Freezes If your broadcast looks blurry, stutters, or freezes, it could be the result of an out-of-focus camera, network congestion, or poor compression settings.

To improve broadcast quality, try one or more of the following:

Focus the camera.

Reduce the number of simultaneous viewers (using the QTSS pane of Server Admin).

If a recipient experiences stuttering during playback, adjust the broadcast data rate.

Make sure you are broadcasting using a video codec optimized for streaming, such as H.264 or MPEG-4.

Reduce the frame rate and the frame size of the video.

The best way to get a high-quality broadcast is to test various settings prior to delivering it. That way you can determine the optimal combination of settings for your particular content and your users connection speeds.

Automating QuickTime Broadcaster with AppleScript You can use AppleScript to control QuickTime Broadcaster. For example, you can use a script to select which presets to use, to determine the status of a broadcast, and to start, stop, or pause a stream.

For detailed information on the AppleScript features QuickTime Broadcaster supports, drag the QuickTime Broadcaster icon to the Script Editor icon in /Applications/AppleScript/.

52 Chapter 5 Working with QuickTime Broadcaster

53

This chapter describes key components of a generic webcasting setup and how they are connected.

The setup instructions that follow assume an educational setting such as a university campus, but the example can be easily adapted for many uses:

Distance learning classes

Corporate communications to employees, customers, suppliers, or shareholders

One-time concert or presentation

Childcare center broadcasts to parents

6Setup Example

Streaming PresentationsLive and On Demand The example shown in the following illustration shows how a university network administrator might set up a streaming server and other needed components to stream live and on-demand classroom presentations to students using client computers connected to the campus network and to the Internet.

Streaming server

Broadcaster

The Internet

Clients on Internet

Clients on local network

This setup enables students who cant attend a class in person to view it online. It also enables students to review parts of the lecture later by playing an archived version on their computers.

The streaming setup in the example shown above has these features:

An already-existing local network, with Ethernet connections to classrooms and lecture halls from which live presentations are to be streamed.

A DV camera and microphone set up in a classroom or lecture hall to convert the live presentation to digital form. The camera makes a high-quality DV recording of the presentation and provides the digital signal to be encoded for live streaming.

The DV camera connected through a FireWire port to a notebook computer running QuickTime Broadcaster, which encodes the digitized live presentation and transmits the signal via an Ethernet connection to the streaming server on the campus network.

54 Chapter 6 Setup Example

Chapter 6 Setup Example 55

A streaming server, such as a rack-mounted Xserve running without a monitor and keyboard. The server is running Mac OS X Server with QTSS configured to reflect the encoded live presentation as a unicast stream to each client computer on the campus network or on the Internetthat tunes in to the broadcast. The Xserve comes with Mac OS X Server and QTSS preinstalled.

Client computers of various types with QuickTime Player or other MPEG-4 compliant software installed to access the Xserve streaming server via the campus network. Other client computers can access the streaming server via the Internet.

The broadcaster notebook computer running iMovie is used to produce high- quality on-demand versions of a live presentation after the presentation is concluded. The recorded digitized presentation is brought into the computer for compression through its FireWire connection using the DV camera.

Note: QuickTime Broadcaster can be set to record the encoded live stream to disk for archival purposes. However, for best results, however, the footage should be encoded separately.

The broadcaster notebook computer is also used to control the Xserve remotely using the Server Admin application (or using Web Admin, the QTSS web-based administration application).

Note: The notebook could also be connected to the local network wirelessly via an AirPort base station for extra portability. AirPort is 802.11 compliant and works well with QTSS. Its bandwidth is more than enough for our example setup if other clients dont place heavy demands on the same base station.

Setting It Up The following steps show how to set up QTSS and the other components needed for live and on-demand streaming in this hypothetical university setting.

Step 1: Prepare the Location A typical classroom doesnt provide a broadcasting and recording environment comparable to a professional television or recording studio. However, use the following measures to provide good results:

Go into the classroom you want to use for live streaming, close the doors, and listen for extraneous noise that could interfere with a broadcast. If noise from a nearby break room, video gaming area, street traffic, or other source is noticeable and cant be eliminated, find another room.

If extraneous noise is not an issue, stand in the center of the room, clap your hands or shout, and listen for an echo. If you hear an echo, the sound quality of a live broadcast can be compromised. You can reduce or eliminate echoes by hanging heavy curtains on bare walls or placing acoustic panels in a checkerboard pattern on each wall.

Examine the floors and furniture. Carpeted floors and padded chairs are best. A lectern should have a cloth or other padded surface on top to protect from noises such as the speaker setting down a glass of water.

Consider lighting problems. For more control, you should be able to draw the blinds and supplement room lights with a portable lighting kit that can be quickly set up for a live session.

Step 2: Prepare the Network Make sure there is an Ethernet connection to the room where the live broadcast is to take place. Install, repair, or replace cables and connectors as needed, using high-quality materials.

Keep in mind that streamingespecially live streamingcan make heavy demands on network resources, especially available bandwidth. To ensure that the network can handle the extra load, consider some or all of the following:

Determine the capacity of the existing network and calculate the anticipated additional traffic generated by live and on-demand streaming.

Draw a map of bandwidth segments on your network, listing the capacity between all points.

Determine which applications are used in your network, their use patterns, where they are hosted, and the bandwidth they normally use during peak and off-peak times.

Based on the configuration and capacities of your network, select the appropriate place to install your streaming server, avoiding potential bottlenecks.

If necessary, add capacity to the network (additional T1 lines, routers, switches, and so on) to handle the anticipated maximum concurrent viewers of live broadcasts in addition to other peak network traffic.

Note: A typical local network provides bandwidth internally of 10100 Mbps. In contrast, a T1 line provides only about 1.5 Mbps of bandwidth.

T1 lines work fine for HTTP and FTP, where requests are short-lived or are not time-sensitive, but streaming is much more demanding. With streaming you cant slow things downthe data must be transferred at least as fast as the original content data rate to deliver streams.

For this example, assume a maximum of 10 concurrent viewers, half on the local network and half on the Internet, and a bit rate for each unicast stream of approximately 256 kbps per second. The peak extra bandwidth needed is then about 3.23.3 megabits per second (Mbps).

This estimate includes an extra margin of 2530 percent for unplanned network congestion and peaks in the transmitted streams that can occur for various reasons.

56 Chapter 6 Setup Example

Chapter 6 Setup Example 57

Step 3: Set Up Your Streaming Server You must set up an administrator computer before you can configure and manage your streaming server if, as in this example, the streaming server is running headless, that is, without a display. For information on setting up an administrator computer, see Mac OS X Server Getting Started for Version 10.6 (included on a Mac OS X Server installation disc).

To set up and manage QTSS, you use the Server Admin application, which is installed with Mac OS X Server. After configuring Mac OS X Server, you can also use the web-based administration application, Web Admin, to manage QTSS remotely from any computer connected directly to the local network or to the Internet. For this example, the broadcaster notebook computer in the streaming setup illustration is also used for this purpose.

Although the Xserve comes with Mac OS X Server and QTSS preinstalled, the software must be configured for the particular network to which it is being added and for the specific uses to which it is to be put.

Among the questions to be answered when setting up your streaming server are the following:

Can the server computer be dedicated to streaming?

Its best if your streaming server doesnt also handle web serving, mail serving, and other server tasks. This example is for a dedicated streaming server.

How much RAM is needed?

The minimum required to run QTSS is 128 MB. Estimate about 256 MB of RAM for every 50 MB of throughput you plan to serve. This setup assumes 256 MB of RAM.

How much hard disk storage is needed?

Video files can be large. A hinted one-hour presentation encoded at 300 kbps (not optimized for a server) takes up approximately 135 MB of hard disk space. A 60 GB hard disk can store more than 400 such presentations.

Heres a formula for calculating streaming file sizes:

dataRateInBits / 8 bits * timeInSeconds = file size

Example for a one-hour 300-kbps stream:

300,000 / 8 bits * 3600 = 135,000,000 bytes = 135 MB file size

Many local networks include redundant arrays of independent disks (RAID) storage systems, which provide much larger amounts of hard disk space.

If you store streaming files anywhere other than in the QTSS default location (/Library/QuickTimeStreaming/Movies), you must enter the path in the Settings pane of QuickTime Streaming in Server Admin. See Changing the Streaming Media Directory on page 25. Place any Session Description Protocol (SDP) files referencing live webcasts in the same location so they can be recognized by QTSS.

In this example, all archived streaming files and SDP reference files reside in the default Movies folder on the streaming server.

Does the streaming server have an adequate network card?

The network card is a critical component of your streaming server, because it provides Ethernet connectivity between the server and your audience. An Ethernet card should provide a minimum of 100 megabytes (about 0.1 gigabit) per second of throughput.

Where will the streaming server be located on the network? What about a firewall?

The streaming server must be located where it will be accessible to users (in our example, students) logging in from both the local network and the Internet. It also should be protected by a firewall from unauthorized access to the server and to archived media files.

Mac OS X Server includes IP Firewall service, which scans incoming IP packets and rejects or accepts these packets based on a set of filters you create. For instructions on setting up this service, see Network Services Administration.

Specific ports must be opened in the firewall to allow Real-Time Streaming Protocol (RTSP) requests from users, encoded video and audio from the broadcaster, and outbound streams to clients on the local network and the Internet. The table below lists the ports used by QTSS and for incoming and outgoing requests. (For more information about enabling QuickTime Streaming over a firewall, see Security and Access on page 28.)

58 Chapter 6 Setup Example

Chapter 6 Setup Example 59

Usage Ports Protocols Notes

Responding to messages from clients (such as Play and Pause)

TCP (client initiates -> QTSS) 554, 7070, 8000, 8001, 80

RTSP, RTP, RTCP, MP3 Main port is 554. And 80 is supported in the QT client as an alternative TCP port. These ports also send data to clients.

Sending media and receiving client status

UDP data (QTSS -> client): 69706999, even numbers

UDP status (QTSS <-> client): 6971 6999, odd numbers

TCP data & status (QTSS <-> client): 554, 7070, 8000, 8001, 80

RTP

RTCP

RTSP, RTP, RTCP

Status is required to maintain a connection; if the port is blocked, the server disconnects the client.

Same ports used to respond to messages.

Receiving broadcasts UDP data (broadcaster -> QTSS): 697265535, even numbers

UDP RTCP status (broadcaster <-> QTSS): 697365535, odd numbers

TCP (broadcaster initiates -> QTSS): 554, 7070, 8000, 8001, 80

RTP

RTCP

RTSP, RTP, RTCP

Ports depend on the broadcaster configuration.

Status is required to maintain a connection; if if the port is blocked, the server disconnects the broadcaster.

Broadcasters can broadcast over their TCP message connection with the server instead of using UDP ports.

Streaming through server

TCP (client initiates -> QTSS): 554, 7070, 8000, 8001, 80

RTSP, RTP, RTCP, MP3 Same ports used to respond to messages and receive TCP broadcasts.

MP3 broadcasts (typical default)

TCP (client -> QTSS): 8000

Managing QTSS remotely with Server Admin

TCP (admin client initiates -> server): 311

Managing QTSS remotely with Web Admin

TCP (web browser client initiates -> server): 1220

In this setup example, assume that the students connecting to the streaming server via the Internet are not behind their own firewalls. In that case, it isnt possible to enable streaming on port 80, the port typically carrying HTTP Internet traffic and allowed by most firewalls.

If some clients are behind firewalls, consider enabling streaming on port 80 for those clients to access the streams. For instructions, see Streaming Using Port 80 on page 29.

Subhead Will it be necessary to set up a broadcaster user account on the streaming server?

In this setup example, you must to create a broadcaster user name and password because the encoding software and QTSS are on separate computers. Creating a broadcaster user allows an SDP file, which provides information about the format, timing, and authorship of a live streaming broadcast, to be created on the server. After you specify a name and password, you enter in QuickTime Broadcaster.

For instructions on creating or changing a broadcaster user name and password, see Using Automatic Unicast (Announce) with QTSS on a Separate Computer on page 30. Youll need to use the administrator computer previously set up.

Subhead Will users require authentication to access live or archived presentations?

In our example setup, no authentication is necessary. However, if you want to restrict access to your streams, you must set up individual or group streaming user names and passwords. For information on how to set up and manage such accounts, see the appropriate topics under Security and Access on page 28.

Step 4: Set Up for a Live Webcast For the example setup, the following items are needed:

Good-quality DV camera

Microphone placed near the speaker, either on a stand or clipped to the speakers clothing, connected by good-quality audio cable to the DV camera audio input

Sturdy tripod on which to mount the camera

Portable lighting kit

60 Chapter 6 Setup Example

Chapter 6 Setup Example 61

The Camera Is the First Link Because the camera is the first link in the video signal chain, it is very important. Two main components determine a DV cameras picture quality:

Lens quality. The better the lens, the better the image.

Image capture mechanism. DV cameras use charge-coupled devices (CCDs) to convert the picture into electronic signals. The number and size of the CCDs affect the quality of the image.

Optical zoom gives better quality than digital zoom, but avoid zooming when streaming a live presentation to avoid degrading the stream.

Lower-end DV cameras use a single CCD to capture the complete image, whereas higher-quality cameras use three separate CCDs to scan the red, blue, and green content of the image, giving a better quality scan. CCDs range in size from 1/4 inch to 2/3 inch; bigger CCDs give better resolution.

Here are other desirable features:

You should be able to override automatic camera settings.

Youll want to use a separate microphone that can plug in to the camera for optimal sound pickup. A built-in microphone is unsuitable for most situations.

The camera should accept professional XLR plugs (as opposed to the 1/8-inch mini- ack connectors). It should also have a headphone jack for monitoring the audio input.

FireWire output enables digital transfers and automated capture, which can save time later.

Keep the Microphone Close The microphone is the first link in the audio signal chain and so is also very important. Dynamic microphones are a good all-around choice.

The best way to improve audio if the room has bad acoustics is to place the microphone as close as possible to the person doing the speaking. Use a small lavalier (lapel) microphone clipped to the front of the speakers clothing immediately under the mouth, or use a handheld microphone.

In the case of a panel discussion, use multiple microphones, preferably on sturdy stands, and a small audio mixer. Connect the mixed stereo output from the mixer into the line input on the DV camera.

If you use an external microphone or mixer, make sure all connectors are securely plugged in to assure reliable audio. Plug a pair of headphones into the video cameras headphone output to make sure you can hear the audio and that its not distorted.

A Tripod Is a Must Its important to use a camera tripod when shooting a live presentation, and also to avoid pans, tilts, and zooms. If the camera moves just one degree, every pixel in the frame changes, multiplying the difficulty of encoding the stream adequately. What was a simple scene to encode suddenly becomes much more difficult.

The tripod should be lightweight while still providing stable support for the cameras weight.

Get a Simple Lighting Kit Lighting is a big subject and beyond the scope of this guide, but here are some brief suggestions.

Even a high-quality video camera will produce poor results without proper lighting. Its unlikely that the normal lighting available in a typical classroom will be adequate for shooting a live presentation. At a minimum, youll probably want to add backlighting to make your subject stand out from the background. A portable lighting kit supporting three-point lighting, plus a reflector or two if youre planning to shoot outside, can greatly improve your results.

Step 5: Set Up Broadcaster for Automatic Unicast (Announce) When broadcasting to QTSS on a separate computer, as in this example, Automatic Unicast (Announce) is the recommended transmission method. Its easy to set up.

In this example, QuickTime Broadcaster is installed on a notebook computer. This encoding software is included on the Mac OS X Server CD and can also be downloaded free of charge from the QuickTime Broadcaster website at www.apple.com/quicktime/broadcaster

Once the encoder software is installed, plug the camera into the notebook using FireWire, turn the camera on, and see if QuickTime Broadcaster recognizes it.

To set up QuickTime Broadcaster for Automatic Unicast: 1 Open QuickTime Broadcaster and click Show Details.

2 Click Video and choose a video source from the Source pop-up menu.

If the camera is recognized, it appears in the Source menu. Video settings should also be active (not dimmed).

If the camera doesnt appear in the Source menu, quit QuickTime Broadcaster, make sure your camera is connected and turned on, and then open QuickTime Broadcaster again. If your camera still does not appear, check the QuickTime website or the AppleCare Service & Support website for information on compatibility and other issues.

3 In QuickTime Broadcaster, click Show Details, click Network, and choose Automatic Unicast (Announce) from the Transmission pop-up menu.

62 Chapter 6 Setup Example

Chapter 6 Setup Example 63

4 In the Network pane, enter the IP address or host name of the receiving server (the Xserve in this example), a name for the broadcast file, the user name and password for the broadcaster user created in in the step Setting It Up, and the buffer delay (or accept the default).

Note: The buffer delay sets the number of seconds QuickTime buffers the broadcast before playback. For broadband connections, QuickTime Player 6 or later fills the buffer more quickly than real time, providing an Instant-On viewing experience.

5 Click Broadcast and start QTSS (if its not already running) by selecting the computer in Server Admin, clicking QuickTime Streaming, and clicking Start Service.

6 To find out if the live stream can be seen from a client, open QuickTime Player on one of the client computers and choose File > Open URL in New Player.

7 Enter the Real-Time Streaming Protocol (RTSP) URL displayed in the Location section of the QuickTime Broadcaster window (for example, rtsp://myserver.com/mystream.sdp).

Note: The URL is case sensitive and must be entered exactly as displayed in the QuickTime Broadcaster window.

The live stream should start playing in QuickTime Player.

Step 6: Test Your Setup The last step is to test the setup. This should be done as realistically as possible.

Set up your equipment just as it will be used for the live presentationin the actual location, if possible.

Ask a colleague to stand in for the presenter, or better yet, have the presenter take part in the test, making it a dress rehearsal.

Check the video image and the sound.

Check that clients both on the local network and on the Internet can tune in to the live stream.

Adjust the camera and microphone positions and lighting as necessary and troubleshoot any other problems.

Creating a Webpage for Easy Access Enabling access from a webpage eliminates students having to remember the RTSP URL and names of the streaming server and SDP files.

In our example, the webpage can be added to the existing university website, but it can reside on any web server. Students can access the live presentation (as well as the archives) by clicking links in their browser.

To create a link to the live stream on a webpage, you must embed a streaming movie. One way to embed a streaming movie is with a reference movie.

There are a variety of ways to create reference movies, which function like pointers to the actual media. The simplest way to create a reference movie is with QuickTime Pro:

To create a webpage: 1 Open QuickTime Player Pro.

2 From the File menu select Open URL.

3 Open the URL to your streaming movie using the rtsp URL.

4 Save the movie that plays as a Self-Contained movie.

5 Put the movie that you saved on your website.

6 Make the reference movie the first attribute you specify in the QT WriteObject method call.

If you dont have QuickTime Pro, you can create a simple reference movie with any text editor. Just create a text file with one line in the following format:

RTSPtextRTSP:// /

Save the file with the .mov extension and place the file on your web server. To embed the movie on a webpage, use the Object/Embed tag in the webpages HTML. For example, if the reference movie was named live.mov and is in the same directory as the HTML page, the following tag would embed the live stream:

HEIGHT="256" CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab">

There are many resources with information about authoring webpages with QuickTime content. Some excellent references include the following:

Quicktime for the Web, by Steven Gulie, is the definitive book on QuickTime web authoring.

Apples website documents the attributes of the Object/Embed tag: www.apple.com/quicktime/authoring/embed.html.

64 Chapter 6 Setup Example

Chapter 6 Setup Example 65

Shooting the Live Presentation If all the preparatory work has been done as outlined above, and the equipment and connections have been thoroughly tested, shooting the live presentation should be straightforward.

Here are a few tips for avoiding problems during the event:

On the day of the actual event to be streamed live, set up early so you have time to check once again that all components are working as expected.

If an audience is to be present, let them know in advance that you will be webcasting the presentation live and ask for their cooperation.

Tape down any cables along the floor to minimize tripping hazards.

Use a directional microphone or a live audio feed if at all possible.

Check for potential sources of extraneous noise and take abatement measures if possible.

Archiving the Live Presentation In the example setup, the iMovie application, which comes with Mac OS X, is on the notebook. You use iMovie to import the recorded DV footage from the camera tape and then to encode and archive taped live presentations.

To archive a live presentation, first import the recorded DV footage: 1 Connect the DV camera to the notebook using FireWire and turn on the camera.

2 Insert the tape with the video footage to be archived and switch to VTR mode.

3 On the notebook, open iMovie and set the Mode Switch under the iMovie monitor to Camera mode (drag the round blue slider toward the DV camera icon).

4 Use the playback controls to view a portion of the tape in the iMovie monitor. If the tape doesnt play, check the connections and make sure the camera is turned on.

5 Rewind the tape to a few seconds before the point where you want to start importing.

6 Click Play below the iMovie monitor.

7 Click Import when you see the point in the presentation where you want to start importing.

8 Click Import again when you want to stop importing.

9 If you get some footage that you dont want to include in your archived presentation, you can edit it later using iMovie.

Important: Youll need to monitor hard disk space as you import video and create your iMovie. One minute of DV footage uses about 220 MB of hard disk space, so a one-hour presentation can use up more than 13 GB of disk space. The Free Space status bar, below the clip shelf, shows how much disk space is available at any point in the import process.

Next, use iMovie to compress and encode the DV footage for streaming: 1 In iMovie, choose File > Export Movie.

2 Choose To QuickTime from the Export Movie pop-up menu.

3 Choose a movie format from the Formats pop-up menu.

You can choose one of the QuickTime formats optimized for different uses or choose Expert, which provides custom QuickTime settings such as MPEG-4 Video.

4 Click Export.

5 Name your movie, select a destination for the file, and click Save.

The time it takes to save the movie depends on the movies length and the format you chose.

Note: You may want to save more than one archive streaming file, each compressed for a different connection speed. For example, you might choose lower compression settings for clients on the campus network and higher compression settings for clients connecting over the Internet.

6 After you have saved the encoded file or files, check to make sure every file streams properly.

66 Chapter 6 Setup Example

67

Use this chapter to learn the commands to configure and manage the QuickTime Streaming Server service.

This chapter describes the commands used to configure and manage QuickTime Streaming Server (QTSS).

Performing QTSS Tasks To start QTSS, use the serveradmin or quicktimestreamingserver tool to specify additional service parameters when you start the service.

Starting and Stopping QTSS To start QTSS: $ sudo serveradmin start qtss

or

$ sudo quicktimestreamingserver

To see a list of quicktimestreamingserver tool options: $ sudo quicktimestreamingserver -h

To stop QTSS: $ sudo serveradmin stop qtss

Viewing QTSS Status To see if the service is running: $ sudo serveradmin status qtss

To see complete service status: $ sudo serveradmin fullstatus qtss

Viewing QTSS Settings To view a setting: $ sudo serveradmin settings qtss:setting

7Managing QTSS from the Command Line

To view a group of settings: $ sudo serveradmin settings qtss:modules:_array_id:QTSSAdminModule:*

You can view a group of settings that have part of their names in common by entering as much of the name as you want, stopping at a colon (:), and entering an asterisk (*) as a wildcard for the remaining parts of the name. For example:

To view all service settings: $ sudo serveradmin settings qtss

Changing QTSS Settings You can change QTSS settings by using the serveradmin tool or by editing the QTSS parameter list file.

To change a setting: $ sudo serveradmin settings qtss:setting = value

Parameter Description

setting A QTSS service setting. To see a list of available settings, enter:

$ sudo serveradmin settings qtss

or see Available QTSS Parameters on page 68.

value An appropriate value for the setting.

To change several settings: $ sudo serveradmin settings

qtss:setting = value

qtss:setting = value

qtss:setting = value

[...]

Control-D

Available QTSS Parameters To change the QTSS service settings, use the following parameters with the serveradmin tool.

Parameters To see descriptions of most QTSS parameters, see the streamingserver.xml-sample file in /Library/QuickTimeStreaming/Config/.

Look for XML module and pref names that match the last two segments of the parameter name.

For example, to see a description of: modules:_array_id:QTSSFileModule:record_ movie_file_sdp

68 Chapter 7 Managing QTSS from the Command Line

Chapter 7 Managing QTSS from the Command Line 69

look in the sample file for:

Manualsnet FAQs

If you want to find out how the Mac OS X Server Apple works, you can view and download the Apple Mac OS X Server v20 User's Guide on the Manualsnet website.

Yes, we have the User's Guide for Apple Mac OS X Server as well as other Apple manuals. All you need to do is to use our search bar and find the user manual that you are looking for.

The User's Guide should include all the details that are needed to use a Apple Mac OS X Server. Full manuals and user guide PDFs can be downloaded from Manualsnet.com.

The best way to navigate the Apple Mac OS X Server v20 User's Guide is by checking the Table of Contents at the top of the page where available. This allows you to navigate a manual by jumping to the section you are looking for.

This Apple Mac OS X Server v20 User's Guide consists of sections like Table of Contents, to name a few. For easier navigation, use the Table of Contents in the upper left corner.

You can download Apple Mac OS X Server v20 User's Guide free of charge simply by clicking the “download” button in the upper right corner of any manuals page. This feature allows you to download any manual in a couple of seconds and is generally in PDF format. You can also save a manual for later by adding it to your saved documents in the user profile.

To be able to print Apple Mac OS X Server v20 User's Guide, simply download the document to your computer. Once downloaded, open the PDF file and print the Apple Mac OS X Server v20 User's Guide as you would any other document. This can usually be achieved by clicking on “File” and then “Print” from the menu bar.