You are previewing Learning Flash Media Server 3.
O'Reilly logo
Learning Flash Media Server 3

Book Description

If you're interested in recording and streaming media using FlashMedia Server 3 (FMS3) and Adobe's Real-Time Messaging Protocol,this unique 267-page PDF-only book is the perfect primer. It is nota reference, but a systematic guide to developing FMS3 applicationsusing ActionScript 3.0, with chapters that focus on specificaspects of the server and how they work.FMS3 is very different from regular web servers. Because itsopen-socket server technology stays connected until users quit theapplication, you can stream audio, video, text, and other media inreal time. FMS3 is also quite different from previous versions, afact that web developers familiar with Flash Media Server 2 orFlash Communication Server 1.5 will quickly discover.Don't worry. With Learning Flash Media Server 3 and alittle experience with Flash CS3 and ActionScript 3.0, anyone canget up to speed in no time. You'll learn how to install FMS3,organize your development environment with Apache web server, anduse the management console before diving into the whys and hows of:

  • Recording and playing back streaming audio and video in VP6 andH.264 formats

  • Using the new Flash Media Encoder to stream and recordvideo

  • Camera and microphone settings

  • Non-persistent client-side remote shared objects

  • Two-way audio-video communications

  • Broadcasting and server-side bandwidth control

  • Working with server-side files: the file class

  • Server-side shared objects

  • Server-side streams

  • Setting up a software load handler using FMS3's new server-sideNetStream

  • Bringing in data and working with configuration files

  • At the heart of every chapter is a core set of code that shows theminimum requirements needed for different procedures. Beyond that,Learning Flash Media Server 3 provides you with plenty ofoptions for using FMS3's different versions -- the full-featureserver, the streaming-only server, and the limited-user developmentserver. It's a whole new world of media, and this book puts youright at the doorstep. Ready to enter?

    Table of Contents

    1. Special Upgrade Offer
    2. Adobe Developer Library
    3. 1. Getting Started with Flash Media Server 3
      1. The New Flavors for Flash Media Server 3
      2. What Is a Media Server?
        1. Enter RTMP
        2. Special Languages and Documentation
      3. Installing FMS3
        1. Installation Steps for Windows
        2. Installation Steps for Linux
      4. Organizing Your Development Environment
        1. Server-Side Files
        2. Client-Side Files
        3. Setting Up with a Macintosh
      5. Testing FMS3 Connections
        1. Same computer:
        2. Different computers:
      6. Using the FMS3 Administration Console
      7. Using This Book
        1. Flash and ActionScript 3.0
        2. Client-Side and Server-Side ActionScript
    4. 2. Recording and Playing Back Streaming Audio and Video
      1. Streaming and Broadcasting
      2. Minimalist Project
        1. Camera and Microphone
        2. Minimum Code to Record FLV File
        3. Flash Media Encoder 2 for FMSS Users
        4. Minimum Code to Stream FLV
          1. Playing FLV Files
          2. Metadata
          3. Build Your Own FLV Player
        5. Playback Using the FLVPlayer Component
      3. Combined Record and Playback Application
    5. 3. Setting Your Camera and Microphone
      1. Camera and Microphone Methods for Setting Parameters
        1. Instantiating Camera and Microphone Objects
        2. Default Camera and Microphone Settings
      2. Minimalist Project
        1. Minimum Code to Set Up Camera and Microphone and Display Results
        2. Setting Decisions
        3. Microphone Bandwidth Usage and Rate Settings
        4. Microphone Settings and Latency
      3. Dynamically Testing Your Camera and Microphone Settings
      4. Key Considerations
      5. Adjusting Camera and Audio with Flash Media Encoder
    6. 4. Nonpersistent Client-Side Remote Shared Objects
      1. Sharing Data on Multiple Connections
        1. Persistent and Nonpersistent Shared Objects
        2. Uses of Nonpersistent Remote Shared Objects
      2. Instantiating Remote Shared Objects
        1. Setting Up Shared Object Storage: Slots
        2. Inspecting a Shared Object
          1. The SyncEvent Class
          2. The <code xmlns="" xmlns:epub="" xmlns:m="" xmlns:pls="" xmlns:ssml="" xmlns:svg="" class="literal">changeList</code> Property Property
        3. Syncing Shared Objects
      3. Minimalist Project for Shared Movie Clip
      4. Minimalist Project for Shared Text
      5. Minimalist Project for Shared Function
      6. An Upgraded Text Chat
        1. Chatter Considerations
        2. A Better Chat Application
    7. 5. Two-Way Audio-Video Communications
      1. Face-to-Face Communication
      2. The NetStream Bundle
      3. The NetStream Class and Live Streams
      4. The World’s Easiest Two-Way A/V Chat Application
      5. A Better Two-Way Chat Application
        1. Keeping Track of Users
          1. The Application Class
          2. The Client Class
        2. The Server-Side Script
        3. The Client-Side Strategy
          1. The Responder Class
          2. Responder Callback Function
        4. The Client-Side Applications
      6. Four-Way Conference Application
        1. Two Equals Two: Four Equals Twelve
        2. Positioning the Clients and their Streams
        3. Building the Conference Application
      7. Moving On to More Server-Side Applications
    8. 6. Broadcasting and Server-Side Bandwidth Control
      1. Casting Many Streams
      2. Switching Cameras
        1. Selecting a Camera
        2. Two-Camera Switch
      3. The Minimum Studio
        1. Utility Stream Class
        2. The Basic Broadcast Studio
        3. The Minimum TV
      4. Introduction to the Server Side
        1. Using SSAS
        2. Setting Server-Side Client Bandwidth Limits
        3. Launching a Server Action from the Client Side
      5. Dynamic Camera, Microphone, and Bandwidth Controls
      6. Bandwidth Checker
        1. Setting Up the Client Class
      7. Conclusion
    9. 7. Working With Server-Side Files: The File Class
      1. Recording Data
      2. The File Class
        1. Creating a File Class Instance
        2. Writing to a File
        3. Reading a File
        4. Minimal Client-Side Write and Read File Data
        5. Deleting Files
      3. Client-Side Formatting
      4. Server-Side Formatting
        1. Server-Side Data Initiation
      5. Beggar’s Database
    10. 8. Server-Side Shared Objects
      1. What Are Server-Side Shared Objects?
      2. Working with Server-Side Shared Objects
        1. Making a Minimalist Room List: Server-Side Class
        2. Making a Room List: Client-Side Retrieval
      3. Removing Users
        1. Client Removal Made Easy
        2. Client-Side Removal Module
      4. Persistent Server-Side Shared Object
        1. Minimalist Server-Side Shared Object
        2. Adding Properties and Slots to Server-Side Shared Objects
        3. Sending Persistent Server-Side Shared Object Data to the Client Side
          1. Sending Shared Object Data
          2. Catching Sends
        4. Creating the Minimalist Application
      5. The Idea Factory
        1. Multiple Server-Side Properties
        2. Client-Side Modules
        3. Deleting Persistent Shared Objects
    11. 9. Server-Side Streams
      1. Stream Management
      2. Anatomy of <code xmlns="" xmlns:epub="" xmlns:m="" xmlns:pls="" xmlns:ssml="" xmlns:svg="" class="literal"> )</code>
        1. Start, Length, and Reset Parameters
      3. Playing MP3 Files
        1. Selecting FLV Files to Play with Server-Side Script
        2. Client Names One Stream, Can Choose Many Streams
        3. Simultaneous Live and Recorded Streams
      4. Changing Streams
        1. Server-Side Code
        2. Control Module
        3. Viewer Module
        4. Reporter Module
      5. Server-Side NetStream Class
        1. Publishing the Client-Side Stream
        2. Playing the Stream from Multiple Servers
    12. 10. Bringing in Data and Working with Configuration Files
      1. Cue Points, Metadata, and Stream Completion
      2. Server-Side LoadVars Class
        1. FMS 3.0 Server-Side LoadVars Class Properties
        2. Passing Name-Value Pairs
      3. Minimalist Example Using Server-Side <code xmlns="" xmlns:epub="" xmlns:m="" xmlns:pls="" xmlns:ssml="" xmlns:svg="" class="literal">LoadVars( )</code>
        1. Server Side <code xmlns="" xmlns:epub="" xmlns:m="" xmlns:pls="" xmlns:ssml="" xmlns:svg="" class="literal">LoadVars</code>
        2. Client Side Bandwidth Selector
      4. Server-Side XML Class
        1. Client-Side and Server-Side XML Class
        2. Placing Data in an XML File
        3. Loading Into and Extracting Data from the XML File
        4. Minimalist Example Using Server-Side XML Class
      5. Using the Configuration Files
        1. Mapping the Config Files
        2. Changing XML and ini Files
          1. FMS.ini
          2. Server.xml
          3. Users.xml
          4. Logger.xml
          5. Adaptor.xml
          6. Vhost.xml
          7. Application.xml
      6. Doing More with Flash Media Server 3
    13. About the Author
    14. Special Upgrade Offer
    15. Copyright