P. 1
flashmediaserver_3.5_config_admin

flashmediaserver_3.5_config_admin

|Views: 685|Likes:
Published by TrixxRO

More info:

Published by: TrixxRO on Mar 12, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/12/2011

pdf

text

original

Sections

  • Chapter 1: Deploying the server
  • Deploying servers in a cluster
  • Deploying edge servers
  • Chapter 2: Configuring the server
  • Provisioning the server
  • Configuration folder structure
  • Working with configuration files
  • Configuring performance features
  • 1 “Configure the recorded media cache” on page 12
  • Enable closing idle connections
  • Configuring security features
  • Performing general configuration tasks
  • Configuring content storage
  • Mapping virtual directories to physical directories
  • Configuring Apache HTTP Server
  • Chapter 3: Using the Administration Console
  • Connecting to the Administration Console
  • Connect to the Administration Console
  • Inspecting applications
  • View applications
  • Viewing log messages for an application
  • Manage administrators
  • Add administrators
  • Managing the server
  • Chapter 4: Monitoring and Managing Log Files
  • Working with log files
  • Access logs
  • Application logs
  • Diagnostic logs
  • Chapter 5: Administering the server
  • Start and stop the server
  • Checking server status
  • Checking video files
  • Clearing the edge server cache
  • Managing the server on Linux
  • Chapter 6: Using the Administration API
  • Working with the Administration API
  • Chapter 7: XML configuration files reference
  • Adaptor.xml file
  • Allow
  • Deny
  • Enable
  • EnableAltVhost
  • HostPort
  • HostPortList
  • <HostPortList>
  • </HostPortList>
  • </HTTPIdent>
  • HTTPIdent2
  • HTTPNull
  • HTTPTunnel
  • HTTPUserInfo
  • IdleAckInterval
  • IdlePostInterval
  • IdleTimeout
  • MaxSize
  • MaxWriteDelay
  • MimeType
  • NeedClose
  • NodeID
  • Order
  • Path
  • RecoveryTime
  • Redirect
  • </Redirect>
  • ResourceLimits
  • RTMP
  • RTMPE
  • SetCookie
  • SSLCertificateFile
  • SSLCertificateKeyFile
  • SSLCipherSuite
  • SSLPassPhrase
  • SSLServerCtx
  • SSLSessionTimeout
  • UpdateInterval
  • WriteBufferSize
  • Application.xml file
  • Access
  • Access (Logging)
  • AccumulatedIFrames
  • AggregateMessages (Client)
  • AggregateMessages (Queue)
  • AllowDebugDefault
  • AllowHTTPTunnel
  • Audio
  • AutoCloseIdleClients
  • AudioSampleAccess
  • AutoCommit
  • Bandwidth
  • BandwidthCap
  • BandwidthDetection
  • Bits
  • BufferRatio
  • Cache
  • CachePrefix
  • CacheUpdateInterval
  • Checkpoints
  • Client
  • ClientToServer (Bandwidth)
  • ClientToServer (BandwidthCap)
  • CombineSamples
  • Connections
  • DataSize
  • Debug
  • Diagnostic
  • DirLevelSWFScan
  • Distribute
  • DuplicateDir
  • Duration
  • Enabled
  • EnhancedSeek
  • EraseOnPublish
  • Exception
  • FileObject
  • FinalHashTimeout
  • FirstHashTimeout
  • FlushOnData
  • FolderAccess
  • HiCPU
  • Host
  • HTTP
  • HTTP1_0
  • Interface
  • Interval
  • JSEngine
  • <JSEngine>
  • KeyFrameInterval
  • LifeTime
  • Live (StreamManager)
  • Live (MsgQueue)
  • LoadOnStartup
  • LockTimeout
  • LoCPU
  • LogInterval
  • MaxAggMsgSize
  • MaxAppIdleTime
  • MaxAudioLatency
  • MaxBufferRetries
  • MaxCores
  • MaxDuration
  • MaxDurationCap
  • MaxGCSkipCount
  • MaxFailures
  • MaxInitDelay
  • MaxLatency
  • MaxMessageSizeLosslessVideo
  • <MaxMessageSizeLosslessVideo>0</MaxMessageSizeLosslessVideo>
  • MaxPendingDebugConnections
  • <MaxPendingDebugConnections>50</MaxPendingDebugConnections>
  • MaxProperties
  • MaxPropertySize
  • MaxQueueDelay
  • MaxQueueSize
  • MaxRate
  • MaxSamples
  • MaxSize (AccumulatedIFrames)
  • MaxSize (Recording)
  • MaxSizeCap
  • MaxStreamsBeforeGC
  • MaxTime
  • MaxTimeOut (Connections)
  • MaxTimeOut (JSEngine)
  • MaxUnprocessedChars
  • MinBufferTime (Live)
  • MinBufferTime (Recorded)
  • MinGoodVersion
  • MsgQueue
  • NetConnection
  • ObjectEncoding
  • OutChunkSize
  • OverridePublisher
  • Password
  • Port
  • Prioritization
  • Proxy
  • PublishTimeout
  • QualifiedStreamsMapping
  • Queue
  • Recorded
  • ResyncDepth
  • Reuse
  • RollOver
  • RuntimeSize
  • Scope
  • ScriptLibPath
  • SendDuplicateOnMetaData
  • SendDuplicateStart
  • SendSilence
  • Server
  • ServerToClient (Bandwidth)
  • ServerToClient (BandwidthCap)
  • SharedObjManager
  • StartClockOnPublish
  • StorageDir
  • StreamManager
  • Subscribers
  • SWFFolder
  • SWFVerification
  • ThrottleBoundaryRequest
  • ThrottleDisplayInterval
  • ThrottleLoads
  • Tunnel
  • Type
  • UnrestrictedAuth
  • UserAgent
  • UserAgentExceptions
  • <UserAgentExceptions>
  • Username
  • Verbose
  • VideoSampleAccess
  • VirtualDirectory
  • XMLSocket
  • <XMLSocket>
  • </XMLSocket>
  • Logger.xml file
  • Delimiter
  • Directory
  • DisplayFieldsHeader
  • EscapeFields
  • Events
  • Fields
  • FileName
  • History
  • LogServer
  • QuoteFields
  • Rename
  • Rotation
  • Schedule
  • ServerID
  • Time
  • Server.xml file
  • ACCP
  • Admin
  • AdminElem
  • AdminServer
  • AllowAnyAACProfile
  • AllowAnyAVCProfile
  • AllowedVideoLag
  • Application
  • ApplicationGC
  • AudioAutoBufferReadSize
  • AuthEvent
  • AuthMessage
  • </AutoCloseIdleClients>
  • CheckInterval
  • Connector
  • Content
  • Core
  • CoreExitDelay
  • CoreGC
  • CoreTimeout
  • CPUMonitor
  • CrossDomainPath
  • ECCP
  • Edge
  • Edge (ResourceLimits)
  • EdgeCore
  • EnableAggMsgs
  • FileCheckInterval
  • FileIO
  • FilePlugin
  • FLVCache
  • FLVCachePurge
  • FLVCacheSize
  • FreeMemRatio
  • FreeRatio
  • GCInterval
  • GlobalQueue
  • GlobalRatio
  • HandleCache
  • HeapSize
  • Httpd
  • IdleTime
  • IPCQueues
  • LargeMemPool
  • LicenseInfo
  • LicenseInfoEx
  • Localhost
  • Logging
  • Mask
  • Master
  • MaxAge
  • MaxAudioSampleDescriptions
  • MaxCacheSize
  • MaxCacheUnits
  • MaxConnectionQueueSize
  • MaxConnectionRate
  • MaxConnectionThreads
  • MaxDataSampleDescriptions
  • MaxELSTEntries
  • MaxEventQueueThreads
  • MaxFlushSize
  • MaxFlushTime
  • MaxIdleTime
  • MaxIOThreads
  • MaxKeyframeCacheSize
  • MaxNumberOfRequests
  • MaxSampleSize
  • MaxSize (FLVCache)
  • MaxSize (HandleCache)
  • MaxSize (RecBuffer)
  • MaxTimestampSkew
  • MaxTracks
  • MaxUnitSize
  • <MessageCache>
  • </MessageCache>
  • MaxVideoSampleDescriptions
  • MessageCache
  • MinConnectionThreads
  • MinEventQueueThreads
  • MinIOThreads
  • MsgPoolGC
  • NetworkingIPv6
  • NumCRThreads
  • NumSchedQueues
  • Options
  • OtherAutoBufferReadSize
  • Playback
  • Plugins
  • Process
  • ProcVMSizeMonitorInterval
  • ProcVMSizeNominal
  • ProcVMSizeWarn
  • Program
  • Protocol
  • PublicIP
  • ReadBufferSize
  • RecBuffer
  • Recording
  • RecordsNumber
  • RetryNumber
  • RetrySleep
  • RTMP (AdminServer)
  • RTMP (Connector)
  • RTMP (Protocol)
  • SegmentsPool
  • Service
  • Services
  • SmallMemPool
  • SocketGC
  • SocketOverflowBuckets
  • SocketRcvBuff
  • SocketSndBuf
  • SocketTableSize
  • SSLCACertificatePath
  • SSLClientCtx
  • SSLRandomSeed
  • SSLSessionCacheGC
  • SSLVerifyCertificate
  • SSLVerifyDepth
  • Streams
  • TerminatingCharacters
  • ThreadPoolGC
  • TrimSize
  • UpdateInterval (Cache)
  • UserDefined
  • VideoAutoBufferReadSize
  • VideoAutoBufferReadSize buffer
  • Users.xml file
  • Allow (HTTPCommands)
  • Allow (User)
  • Deny (HTTPCommands)
  • Deny (User)
  • HTTPCommands
  • Order (HTTPCommands)
  • Order (User)
  • User
  • UserList
  • Vhost.xml file
  • AggregateMessages
  • </AggregateMessages>
  • AliasList
  • AllowOverride
  • Anonymous
  • AppInstanceGC
  • AppsDir
  • CacheDir
  • EdgeAutoDiscovery
  • LocalAddress
  • MaxAppInstances
  • MaxConnections
  • MaxEdgeConnections
  • MaxSharedObjects
  • MaxStreams
  • Mode
  • RequestTimeout
  • RouteEntry
  • </RouteTable>
  • RouteTable
  • SSLCACertificateFile
  • <VirtualDirectory>
  • </VirtualDirectory>
  • VirtualKeys
  • WaitTime
  • Chapter 8: Diagnostic Log Messages
  • Message IDs in diagnostic logs
  • Index

ADOBE FLASH MEDIA SERVER 3.

5 Configuration and Administration Guide
® ®

Last updated 3/2/2010

© 2009 Adobe Systems Incorporated. All rights reserved.
Copyright

Adobe® Flash® Media Server 3.5 Configuration and Administration Guide If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe Systems Incorporated. Please note that the content in this guide is protected under copyright law even if it is not distributed with software that includes an end user license agreement. The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide. Please remember that existing artwork or images that you may want to include in your project may be protected under copyright law. The unauthorized incorporation of such material into your new work could be a violation of the rights of the copyright owner. Please be sure to obtain any permission required from the copyright owner. Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual organization. Adobe, the Adobe logo, Adobe AIR, ActionScript, and Flash are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Red Hat is a trademark or registered trademark of Red Hat, Inc. in the United States and other countries. UNIX is a registered trademark of The Open Group in the US and other countries. Windows is either a registered trademark or a trademark of Microsoft Corporation in the United States and/or other countries. Mac, Macintosh, and Mac OS are trademarks of Apple Inc., registered in the United States and other countries. All other trademarks are the property of their respective owners. This work is licensed under the Creative Commons Attribution Non-Commercial 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/us/ Portions include software under the following terms: Sorenson Spark™ video compression and decompression technology licensed from Sorenson Media, Inc. Speech compression and decompression technology licensed from Nellymoser, Inc. (www.nellymoser.com) Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference.

Last updated 3/2/2010

iii

Contents
Chapter 1: Deploying the server Deploying servers in a cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Deploying edge servers ................................................................................................ 1

Chapter 2: Configuring the server Provisioning the server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Working with configuration files Configuring performance features Configuring security features Configuring content storage ....................................................................................... 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Performing general configuration tasks Configuring Apache HTTP Server

Chapter 3: Using the Administration Console Connecting to the Administration Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Inspecting applications Manage administrators Managing the server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Chapter 4: Monitoring and Managing Log Files Working with log files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Access logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Application logs Diagnostic logs

Chapter 5: Administering the server Start and stop the server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Checking server status Checking video files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Clearing the edge server cache Managing the server on Linux

Chapter 6: Using the Administration API Working with the Administration API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Chapter 7: XML configuration files reference Adaptor.xml file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Application.xml file Logger.xml file Server.xml file Users.xml file Vhost.xml file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE iv
Contents

Chapter 8: Diagnostic Log Messages Message IDs in diagnostic logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

you must configure an XML file. 2 Configure a load balancer to see the servers hosting Flash Media Interactive Server or Flash Media Streaming Server. you should enable cookies when you deploy servers behind a load balancer.28 or later in Windows only.com/go/learn_fms_clustering_en • www. or Flash Media Streaming Server) in a cluster.adobe. Typically you would run Flash Media Interactive Server as an origin server on one computer and run Flash Media Interactive Server as an edge server on another computer. To run the server as an edge server. Deploying multiple servers enables you to scale an application for more clients and creates redundancy. 1 Install Adobe® Flash® Media Server and verify the installation on each computer.0.adobe. Clustering multiple servers behind a load balancer Add all the servers in the cluster to the pool (server farm) in the load balancer. Note: For tunnelling connections. You can deploy any version of the server (Flash Media Interactive Server. then for HTTP tunnelling to work.adobe. If the server does not have an externally visible IP address. For more information. By default. . the server runs as an origin server. Configure the load balancer to distribute the load in round-robin mode and to monitor over TCP port 1935.com/go/learn_fms_scalable_en Deploying edge servers Workflow for deploying edge servers Note: Flash Media Streaming Server cannot be configured as an edge server. see the following articles: • www. Cookies can be enabled in the load balancer or in the Adaptor.Last updated 3/2/2010 1 Chapter 1: Deploying the server Deploying servers in a cluster Workflow for deploying servers in a cluster You can deploy multiple servers behind a load balancer to distribute the client load over multiple servers.com/go/learn_fms_redundancy_en • www. cookies are currently supported only on Adobe® Flash® Player 9. The load balancer distributes traffic among all the servers in the pool. Note: For cross-platform compatibility. The load balancer checks the cookie and sends requests with this cookie to the same server.xml configuration file in the Adaptor/HTTPTunnel/SetCookie element. Ensure that you deploy all servers on computers that meet the minimum system requirements. Flash Media Development Server. use lowercase names for all folders and applications. which eliminates single points of failure.

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 2
Deploying the server

It is also possible to run one server in hybrid mode—that is, to configure some virtual hosts to run as edge servers and other virtual hosts to run as origin servers. This scenario is good for development but not for production.
1. Install Flash Media Interactive Server and verify the installation on each computer.

Deploy all edge and origin servers on computers that meet the minimum system requirements. For information about installing and verifying installation, see the Installation Guide. Note: For cross-platform compatibility, use lowercase names for all folders and applications.
2. Configure an edge server and restart.

On the edge server, edit the Vhost.xml file of the virtual host you want to run as an edge server.
3. Verify that the edge server can communicate with the origin server.

The easiest way to verify is to create an explicit connection. Create a SWF file with an explicit connection to the edge server and run the vod or live service.
4. If you’re installing multiple edge servers, copy the Vhost.xml file to the same directory on each edge server. 5. Verify that each edge server can communicate with the origin server. 6. Place the origin server and those edge servers nearest to it on the same subnet. 7. If you’re deploying more than one edge server, configure a load balancer.

Place the load balancer between the clients and the edges. Configure the load balancer to access the pool of edge servers in round-robin mode and to monitor over TCP port 1935. Use the virtual IP (VIP) address of the pool as the IP address in the RouteEntry element of each edge server’s Vhost.xml file. For detailed information on how to configure the RouteEntry element, see the comments in the RouteEntry element of the default Vhost.xml file, or see RouteEntry.

Configure edge servers
To configure the server to run as an edge server, edit the Vhost.xml configuration file of the virtual host you want to run as an edge server. The Vhost.xml file defines how the edge server connects clients to the origin server. Note: You can also configure some virtual hosts to run applications locally (as origins), while others run applications remotely (as edges); this is called mixed mode or hybrid mode. Configure a virtual host to run as an edge server 1 Open the Vhost.xml file of the virtual host you want to configure and locate the following code (comments have been removed):

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 3
Deploying the server

<VirtualHost> ... <Proxy> <Mode>local</Mode> <Anonymous>false</Anonymous> <CacheDir enabled="false" useAppName="true"></CacheDir> <LocalAddress></LocalAddress> <RouteTable protocol=""> <RouteEntry></RouteEntry> </RouteTable> <EdgeAutoDiscovery> <Enabled>false</Enabled> <AllowOverride>true</AllowOverride> <WaitTime>1000</WaitTime> </EdgeAutoDiscovery> </Proxy> </VirtualHost>

Note: The default VHost.xml file is located in the RootInstall/conf/_defaultRoot_/_defaultVHost_ directory.
2 Edit the following XML elements, as needed.
Element
Mode

Required/optional Required

Description Enter local to configure the server to run as an origin server. Enter remote to configure the server to run as an edge server. A Boolean value specifying whether the edge server connection is implicit (true) or explicit (false). The default value is false. Enables or disables the caching of streams to disk, in addition to caching in memory, on an edge server and allows you to specify the cache location. There are two attributes: enabled and appname. To enable caching, set the enabled attribute to "true". When enabled, the server places streams in the RootInstall/cache/appName directory by default. Use the useAppName attribute to specify whether to use the application name as the name of the cache for the application. Vod applications get significant performance gains when caching is enabled.

Anonymous

Optional

CacheDir

Optional

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 4
Deploying the server

Element
LocalAddress

Required/optional Optional

Description Specifies the local IP address to which to bind a proxy's outgoing connection (the proxy’s loopback address). This element allows the administrator to control network traffic by isolating incoming and outgoing traffic to separate network interfaces. Specifies, in each RouteEntry element, how to route connections from the origin to the edge. There is one attribute, protocol, that indicates the protocol of the outgoing connection. Set this attribute to either "rtmp" or "rtmps". To override the RouteTable protocol for a specific RouteEntry element, add a protocol attribute to the RouteEntry element you want to change. Each RouteEntry element maps a host/port pair to a different host/port pair. In the following example, connections to host1:port1 are routed to host2:port2:
host1:port1;host2:port2

RouteTable

Optional; create a routing table when it is not necessary or desirable for application developers to see the origin server URL or when you want to use implicit connections. Optional

RouteEntry

Typically, host1:port1 is your edge server and host2:port2 is your origin server. The following example routes connections destined for host "edge" on port 1935 to host "origin" on port 80:
<RouteEntry>edge:1935;origin:80</RouteEntry>

You can specify a wildcard character (*) for any host or port. The following example routes connections destined for any host on any port to host "origin" on port 1935:
<RouteEntry>*:*;origin:1935</RouteEntry>

You can also specify a wildcard for the host/port to which connections are being routed. The following example routes connections destined for any host on any port to the same host on port 80:
<RouteEntry>*:*;*:80</RouteEntry>

To reject connections, you can specify that a host/port combination be routed to null:
<RouteEntry>edge:80;null</RouteEntry>

The RouteEntry element has a protocol attribute. This attribute overrides the RouteTable protocol for a specific RouteEntry element. For example, RouteTable may have one RouteEntry element that specifies an encrypted outgoing RTMPS connection and another RouteEntry tag that specifies the regular RTMP connection. If a protocol is not specified, the outgoing connection uses the same protocol as the incoming connection.

3 Validate the XML and save the Vhost.xml file. 4 Restart the server.

More Help topics
“Adaptors and virtual hosts” on page 6

Connect to an edge server
There are two types of edge server connections: explicit and implicit (also called anonymous).

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 5
Deploying the server

An explicit edge server prefixes its address to the origin server’s URL in the client NetConnection.connect() call. For example, for applications running on fms.foo.com, instead of clients connecting to an application with a connection string such as rtmp://fms.foo.com/app/inst, clients are directed through the edge, which prefixes its protocol and hostname to the origin URL, as in the following:
rtmp://fmsedge.foo.com/?rtmp://fms.foo.com/app/inst

An implicit edge server does not change or modify the origin server’s URL in the client NetConnection.connect() call. The identity (the IP address and port number) of the implicit edge is hidden from the application developer. Create an explicit connection ❖ Use the following syntax in a client-side NetConnection.connect() call to make an explicit connection to an edge server:
rtmp://edge/?rtmp://origin/app

A question mark (?) separates the edge’s prefix from the main URL. The prefix contains only the protocol, hostname, and optionally the port number. The prefix must always end with a trailing slash. Create an implicit connection 1 In the Vhost.xml configuration file, set the Proxy/Anonymous element to true. Note: Restart the server after changing the Vhost.xml file.
2 In the Vhost.xml file, create a routing table in the RouteTable element; for more information, see the comments

about RouteEntry tags in the Vhost.xml file installed with Flash Media Server.
3 Use the following syntax in a client-side NetConnection.connect() call to make an implicit connection to an

edge server:
rtmp://edge/app/appinstance

Connect edge servers in a chain ❖ You can chain together any number of edges when you make connections to the origin server. Use the following syntax to chain two explicit edges to direct connection requests to the origin server:
rtmp://edge1/?rtmp://edge2/?rtmp://origin/app/inst

As the connection moves through each edge in the chain, the server consumes the first token in the string. For example, after making the connection to edge1, the connection string changes to:
rtmp://edge2/?rtmp://origin/app/inst

Note: You can specify the RTMPT protocol only for the edges, not for the origin. When you use URL decoration to chain edges, Flash Player 7 and earlier versions may have problems with shared objects because of the embedded question mark (?) character in the URL. Call the following function to encode or escape the question marks from the URL before passing the URL to the shared object:
function escapeURI(uri) { index = uri.indexOf('?'); if (index == -1) return uri; prefix = uri.substring(0, index); uri = uri.substring(index); return prefix += escape(uri); }

xml. see “Configuring content storage” on page 33.xml. For this reason.ini file. Adaptor. adaptor. There are also configuration files for information about administrators and logging: Users.xml Default structure of the server’s configuration (conf) directory . For example. Each application has one or more instances. The server is at the top level and contains one or more adaptors.com on the same server.xml. depending on your needs. if a virtual host needs its own IP address to configure SSL. adaptor. you could use two virtual hosts to host www. but not to a virtual host. application.xml Vhost. You can add adaptors and virtual hosts to organize the server for hosting multiple applications and sites. For example. Vhost.Last updated 3/2/2010 6 Chapter 2: Configuring the server Provisioning the server Adaptors and virtual hosts Provisioning a server divides the server into separate sections. Each virtual host hosts one or more applications.xml.xml and Logger. use adaptors to organize virtual hosts by IP address or port number. Provisioning allows multiple administrators to configure their own sections on one server. virtual host. Configuration folder structure Each of these levels—server. and Application. The most important configuration parameters have been pulled out to the fms.xml Users.com and www. Each adaptor contains one or more virtual hosts. which enables you to use one file to configure the server. The server is divided into hierarchical levels: server. assign it to its own adaptor. conf Server.ini _defaultRoot_ Adaptor. and application.xml _defaultVHost_ Application. you can provision it so that each customer has their own section. Note: For information about registering applications with the server and storing media. use virtual hosts to give customers their own root folders. You can also configure one virtual host to run as an edge server and one to run as an origin server. If you’re hosting multiple websites on a server. This is called running the server in hybrid mode.xml Logger.xml. and application instances—has distinct configuration settings stored in XML files in the RootInstall/conf directory: Server. You can provision Flash Media Server in several ways. virtual host (also called vhost).xml fms.test. If you use your server for hosting. You can assign an IP address or a port number to an adaptor.example.

xml file in an application’s registered directory to create an application-specific configuration. If an IP address is not specified. the adaptor can listen on all available interfaces. For information about logging in to the Administration Console.yy:1935</HostPort> 5 Restart the server.ini. Each virtual host must have a Vhost. • The default adaptor’s root directory is RootInstall/conf/_defaultRoot_. multiple adaptors can listen on port 1935. • You may place an Application. You cannot remove or modify the name of this directory. The server uses the control channel (ctl_channel) attribute internally to communicate between server processes (adding a HostPort element creates a new FMSEdge process).xx. The server uses the HostPort value to listen for clients—no two adaptors can listen on the same port. Each adaptor must have an Adaptor.xml file and a Vhost. For more information about registered application directories. for example.xml file. adaptor2/admin. Add an adaptor 1 Create a new directory with the name of the adaptor in the RootInstall/conf folder. RootInstall/conf/adaptor2. 4 In the Adaptor.xml file that contains information about administrators of that virtual host. In addition. a Logger. 6 To log in to the Administration Console on the new adaptor. Each adaptor directory must contain a _defaultVHost_ directory and an Adaptor. use the syntax adaptorname/username in the Username box.xx. 3 In the _defaultVHost_ directory. If you modify Users. Ensure that the control channels on which separate adaptors listen are different from each other. • The default virtual host’s root directory is RootInstall/conf/_defaultRoot_/_defaultVHost_. unless they use different IP addresses. The following rules define the conf directory structure: • The root configuration folder is RootInstall/conf. see the Developer Guide.xx:1935</HostPort> <HostPort name="edge2" ctl_channel=":19351">yy. You cannot remove or modify the name of this directory. If a host has multiple IP addresses.yy.xml file in its root directory. . and a Users.xml file. for example. or they cannot interoperate. • The server has one initialization file. The control channel (ctl_channel) attribute and the HostPort value specify the ports to which an IP address should bind. You cannot remove or modify the name of this directory.xml file in the conf directory.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml file that serves as a default to all applications in that virtual host and a Users.xml or fms.xml file.ini. the control channels of two adaptors must be different. fms.xml file.5 CONFIGURATION AND ADMINISTRATION GUIDE 7 Configuring the server Edit any of these XML files in a text or XML editor and restart the server for the changes to take effect. create or paste a copy of the _defaultVHost_ directory and an Adaptor. as in the following example: <HostPort name="edge1" ctl_channel=":19350">xx. The server must have a Server. For more information.xml file in the adaptor directory. This file contains commonly used settings. • Virtual host directories may also contain an Application.xml file.yy. see “Working with configuration files” on page 9. 2 In the adaptor2 directory. create or paste a copy of an Application.xml file in its root directory. see “Connecting to the Administration Console” on page 40. including the administrator user name and password and the settings you chose during installation. either internally or externally. Each adaptor must have a default virtual host. in the RootInstall/conf directory. you also must restart Flash Media Administration Server. add a HostPort element to listen on a new port for this adaptor: <HostPort name="edge2" ctl_channel=":19351">:1936</HostPort> The name attribute must be unique on the server.

xml Vhost.xml _defaultVHost_ Application.xml file. conf Server.5 CONFIGURATION AND ADMINISTRATION GUIDE 8 Configuring the server Administrators are defined in the UserList section of the Users.) 3 In the Vhost.com<\AppsDir> Note: It is possible to use the same applications directory for multiple virtual hosts. For information about logging in to the Administration Console. and a Users. for example.xml file to the new virtual host folder. see “Connecting to the Administration Console” on page 40.xml Users. (The Users. but it causes namespace conflicts and is not recommended. 6 Log in to the Administration Console. 8 Connect a test application to the new virtual host to make sure it works. for example: <AppsDir>C:\www. 7 Connect to the new virtual host by specifying the virtual host name.xml _defaultVHost_ Application.com. 5 Restart the server.xml file.xml file.xml The conf directory with an additional adaptor called adaptor2 Add a virtual host 1 Create a folder with the name of the virtual host in an adaptor folder.example. 4 Validate the XML and save the Vhost.xml Vhost. specify an application directory in the AppsDir element.xml file. www.xml Users.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml fms.example. . you are considered a virtual host administrator and don’t have privileges to manage the server or users. for example.xml Logger. in the Server name field. Note: You can call the startVHost() Administration API or log in to the Administration Console without restarting the server.xml Users.xml adaptor2 Adaptor. RootInstall/conf/_defaultRoot_/www.xml file is required only if you are defining administrators for this virtual host. Administrators are either server-level users (similar to a root user) or virtual host-level users.ini _defaultRoot_ Adaptor.xml file. a Vhost. 2 Copy an Application.com. If you log in to an adaptor other than the default adaptor.example.

Navigate to rootinstall\applications\vod and rootinstall\applications\live. To see an example.5 CONFIGURATION AND ADMINISTRATION GUIDE 9 Configuring the server conf Server. • You can override the LoadOnStartup tag.example.xml file override the values in the vhost-level Application.xml Users.com Application. open it in a text editor.com Overriding values in the Application. Each folder contains an Application.xml file. look at the vod and live applications included with Flash Media Server.xml.xml file. see “Configuration folder structure” on page 6. application-specific Application.xml Logger.xml.xml file in an application’s folder. Add an override attribute to any tag and set it to "no".xml Vhost. • You cannot override the subtags of the LoadOnStartup tag.xml file.xml file You can place an Application.xml Vhost. .xml _defaultVHost_ Application. To edit a configuration file.xml fms. Values set in the application-level Application. and hierarchy. Working with configuration files Editing configuration files Note: For information about configuration file names.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml The conf directory with an additional virtual host called www.xml settings from being overridden by the applicationlevel Application. The values in these files override the values in the vhost-level file rootinstall\conf\_defaultRoot_\_defaultVHost_\Application. as in the following: <LoadOnStartup override="no">false</LoadOnStartup> The following rules apply: • When the override="no".ini _defaultRoot_ Adaptor. locations.xml files cannot override that tag’s setting. you also must restart Flash Media Administration Server.xml Users. modify and save it.example.xml Users. You can also prevent settings in the vhost-level Application. and restart the server. If you modify Users.xml www.

ini in a text editor. the server looks for the Symbols tag and processes the child tags in the order in which they appear. 5 Symbols defined in external map files are processed in the order in which they appear in each file.Last updated 3/2/2010 FLASH MEDIA SERVER 3.ADMIN_PASSWORD parameter.xml file: 1 Create a new XML file and save it in the RootInstall/conf folder as substitution. When the server starts. The server builds the symbol map in the following order: 1 The predefined symbols ROOT and CONF are evaluated. The installer defines a few mappings during the installation process and stores them in the fms. that are always available.xml file exists. it looks for the fms.ini file is evaluated. The server has two predefined symbols.xml file in the RootInstall/conf directory.5 CONFIGURATION AND ADMINISTRATION GUIDE 10 Configuring the server It’s a good idea to check that the XML is valid after editing an XML configuration file.ini file 1 Open RootInstall/conf/fms. this substitution.xml file. You can also create additional map files and reference them from the substitution. 2 Enter the following XML structure: <Root> <Symbols> <SymbolName>StringToMapTo</SymbolName> </Symbols> </Root> Add a SymbolName element for each symbol you want to create.xml file). Edit the fms.ini file. After you’ve set up a map file. 2 The fms. 2 Save a copy to another location as a backup.exe file and the CONF symbol is mapped to the location of the Server.xml in the RootInstall/conf folder that maps the symbols to strings that the server substitutes when it reads the configuration files. 3 Enter a new value for the SERVER.xml. The ROOT symbol is mapped to the location of the FMSMaster. Using symbols in configuration files To simplify configuration. Create a file named substitution. 4 The server processes the additional map files in the order in which they appear (in KeyValueFile elements in the substitution. Create a substitution.ini file and the substitution. ROOT and CONF. future updates are faster: you can edit the map file instead of editing each configuration file.xml file maps the symbol TESTUSERNAME to the value janedoe: <Root> <Symbols> <TESTUSERNAME>janedoe</TESTUSERNAME> </Symbols> </Root> . 5 Open the Administration Console and log in with your new password.xml file. 3 If the substitution. you can use symbols as values for XML elements in configuration files. 3 For example. 4 Save the file and restart the server.

txt: <Root> <KeyValueFile>C:\testfiles\mySymbols.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The syntax for specifying an environment variable as a symbol is ${%ENV_VAR_NAME%}. where each pair appears on a separate line and takes the following form: symbol=value The following example shows three symbol-value pairs: USER_NAME=foo USER_PSWD = bar HELLO= "world and worlds" Place comments on separate lines that begin with a number sign (#). use the name of the environment variable within percent (%) characters. you must restart the Administration Server. However. Do not place comments on the same line as a symbol definition. Note: If you change the Users. it substitutes the value from the substitution. you must restart the server. it is surrounded by quotation marks. For example. Using environment variables To refer to an environment variable in one of the XML configuration files. When the server reads the XML file. Creating additional map files You can specify all of your text substitution mappings under the Symbols tag in substitution.txt</KeyValueFile> </Root> These external files are not in XML format. the server maps the following symbol to the COMPUTERNAME variable: ${%COMPUTERNAME%} When you use an environment variable. .xml file. you can also create additional map files.xml file.xml.xml file in a text editor. The server trims leading or trailing white space from both the symbol and the value. If the symbol were used as a regular value. For example. but no white space within double quotation marks.ADMIN_USERNAME with the symbol TESTUSERNAME. The % characters indicate to the server that the symbol refers to an environment variable and not to a user-defined string. If you change any other XML configuration file. 5 Locate the line <User name="${SERVER.ADMIN_USERNAME}"> and replace the symbol SERVER. the following references the file C:\testfiles\mySymbols.5 CONFIGURATION AND ADMINISTRATION GUIDE 11 Configuring the server 4 Open the RootInstall/conf/Users. it would not be surrounded by quotation marks. To do this. 6 Restart the Administration Server. you don’t have to define it in the substitution. They simply contain a collection of symbol-value pairs.xml file. Each element can hold the location of one external file. The first equal sign (=) in a line is considered the delimiter that separates the symbol and the value. create one or more KeyValueFile elements in the substitution.xml file as follows: <User name="janedoe"> Note: Because this symbol is used as an attribute.

if there still isn’t enough room for a new segment. segments of the stream are stored in a cache on the server.ini file. The default value is 500. The size of the cache limits the number of unique streams the server can publish. the server places segments in the cache. Note: Cache settings have no effect on live streams. This is the maximum size of the cache. inserts it into the cache. To increase the probability that a requested stream will be located in the recorded media cache. increase the size of the cache or limit the number of streams playing. If you have cache-full events in the core log file. While a large cache size is useful. complete the following task: ❖ “Combine audio samples” on page 13 Configure the server for vod delivery To configure the server to deliver recorded media. the server notifies the client that the stream is not available and makes an entry in the core log file. the server checks the cache.FLVCACHE_MAXSIZE parameter. 2 Edit the SERVER. Consider memory limits and desired memory and stream performance when utilizing the memory cache. see “Monitoring and Managing Log Files” on page 55.FLVCACHE_MAXSIZE. As long as the cache has not reached capacity. increase the value of SERVER. in megabytes. For more information about the core log file. the server removes unused segments. and returns a reference to that segment to the stream. starting with the least recently used. Adobe recommends that you ensure that your total system memory usage does not exceed the process limit of your OS. If the segment is available. 1 Open the RootInstall/conf/fms. complete the following tasks: 1 “Configure the recorded media cache” on page 12 2 “Configure the size of stream chunks” on page 13 Configure the recorded media cache When a stream is requested from the server.FLVCACHE_MAXSIZE. 3 Restart the server. To decrease the amount of memory the server process uses. decrease the value of SERVER.Last updated 3/2/2010 FLASH MEDIA SERVER 3. . When the cache is full. This value shares memory with the running process and has a limit of 2 GB in Windows and 3 GB in Linux. If the segment is not available. After removing all unused segments. the server gives the stream a reference to the segment for playback. the server retrieves the segment from its source. as live streams do not need or utilize the cache. Each time a stream attempts to access a segment.5 CONFIGURATION AND ADMINISTRATION GUIDE 12 Configuring the server Configuring performance features Configure the server for live video delivery To configure the server to deliver live media.

You can configure applications to deliver aggregate messages to clients running on Flash Player 9. set this value to 1. To increase live streaming capacity. The default value is 4.5 CONFIGURATION AND ADMINISTRATION GUIDE 13 Configuring the server Configure the size of stream chunks Streams break into chunks as they are written to the network. set the OutChunkSize element to a value between 128 and 65536 bytes. The default value is 4096 bytes. 1 Open the Application. To increase live streaming capacity. set this value to 1. audio samples are combined. 3 Restart the server. audio samples are not combined.COMBINESAMPLES_HICPU: If the CPU is higher than this value.0. When this setting is disabled.60. 4 Validate the XML and save the Application.xml file.xml file. the more benefit is gained from larger chunk sizes. 1 Open the RootInstall/conf/fms. Combine audio samples To handle more connections while broadcasting a live stream. APP. The default value is 80.. Important: Do not combine audio samples if you are also using the live aggregation message feature. combine audio samples. You can specify the size of a chunk. For more information. see “Application.COMBINESAMPLES_LOCPU: If the CPU is lower than this value. . 2 Edit the following parameters: • • • • APP. To increase live streaming capacity.. However. 2 In the Client element.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The larger the content size and the higher the bandwidth of the receiving connection. 3 Restart the server. The default value is 60. Large values reduce CPU usage because there are fewer writes.ini file. APP. large values can delay other content on lower bandwidth connections. To increase live streaming capacity. set this value to 8.xml file” on page 93. 5 Restart the server. APP. The default value is 8. 2 Locate the following XML code: <Client> . 1 Open the Application.0 and above. Send aggregate messages Sending aggregate messages reduces CPU usage and increases server capacity. the server breaks up aggregate messages into individual messages before delivering them to clients.COMBINESAMPLES_MAXSAMPLES: Combine this many samples into one message.xml file. <AggregateMessages enabled="true"></AggregateMessages> <Client> 3 Make sure that the enabled attribute is set to true (the default). audio samples are not combined.SUBSCRIBERS: If there are more than this number of subscribers to a stream. set this value to 1.

To close idle connections.xml values override the Server.xml. 1 Locate the following code in the Server. each listener has a limit of 10 connections per second. If there are three listeners and the MaxConnectionRate is set to 10.xml file.Last updated 3/2/2010 FLASH MEDIA SERVER 3. by default).. you can disable the feature for individual virtual hosts or individual applications in the Vhost.xml.Connect. the server imposes a maximum total combined rate of 30 connections per second. The server also writes a message such as “Client x has been idle for y seconds” in the core and event logs.xml files. subscribing to) data.xml file: .xml file. Listeners are defined in the HostPort element in the Adaptor. You can set a fractional maximum connection rate.Connect. A value of 0 or -1 disables this feature.xml configuration file: <Root> <Server> . Enable closing idle connections 1 Locate the following code in the Server. <Protocol> <RTMP> <Edge> <MaxConnectionRate>100</MaxConnectionRate> Element MaxConnectionRate Description The maximum number of incoming connections per second the server accepts. Each port the server is configured to listen on represents a listener.g. A client is active when it is sending (e..Closed. The values defined in the Server. When a client has been idle longer than the maximum idle time (10 minutes. such as 12. The values defined in the Application. Impact Connections requested at a rate above this value remain in the TCP/IP socket queue and are silently discarded by the operating system whenever the queue becomes too long. The value of this element is a global setting for all listeners.xml file. enable the feature in the Server.xml file (the Vhost.xml values). To reclaim these resources for new and active clients. the server sends a status message to the NetConnection object (the client) with the code property set to NetConnection. The server closes the client connection to the server and writes an x-status code of 432 in the access log. Close idle connections Sometimes users abandon their connections to an application.. Vhost. unless the values are defined in the Vhost.xml configuration file apply to all clients connected to the server.xml file.xml configuration files specify how often the server should check for idle clients. Elements in the Server.g.. Once you enable the feature in the Server. If the element is set to 10 connections per second. and Application. per listener.5 CONFIGURATION AND ADMINISTRATION GUIDE 14 Configuring the server Limit connection requests A high connection rate to the server can negatively impact the experience of users already connected to the server. publishing) or receiving (e.Idle followed by NetConnection.5. 3 Restart the server. 2 Validate the XML and save the XML file.xml file override the values defined in the Vhost. the server can close the idle clients.xml files and Application.

When you configure this element. the feature is disabled. MaxIdleTime 3 Restart the server. The default idle time is 600 seconds (10 minutes). in seconds. A shorter interval results in more reliable disconnection times but can also result in decreased server performance.xml file. If this element is disabled in Server. the server uses the value set in the Server. Specifies the maximum idle time allowed. 1 Locate the following code in the Vhost. at which the server checks for active client connections.5 CONFIGURATION AND ADMINISTRATION GUIDE 15 Configuring the server <AutoCloseIdleClients enable="false"> <CheckInterval>60</CheckInterval> <MaxIdleTime>600</MaxIdleTime> </AutoCloseIdleClients> 2 Edit the following elements. The default interval is 60 seconds.xml. The value of the MaxIdleTime element in the Vhost.xml file and remove the comments: <VirtualHost> <AutoCloseIdleClients enable="false"> <MaxIdleTime>600</MaxIdleTime> </AutoCloseIdleClients> </VirtualHost> 2 Edit the following elements. For example. If no value is set for this element. a user might leave the window to idle out. Configure settings for virtual hosts You can disable this feature for a virtual host or specify a different maximum idle time for a virtual host in the Vhost. the feature is disabled for all virtual hosts.Last updated 3/2/2010 FLASH MEDIA SERVER 3. consider the type of applications running on the server. The default idle time is 600 seconds (10 minutes). A low value may cause unneeded disconnections. if you have an application allowing users to watch short video clips. in seconds. in seconds. MaxIdleTime Specifies the maximum idle time allowed.xml. file. Element AutoCloseIdleClients Description Disable this feature for an individual virtual host by setting the enable attribute to false. Impact CheckInterval A client is disconnected the first time the server checks for idle connections if the client has exceeded the MaxIdleTime value.xml file. Element AutoCloseIdleClients Description Set the enable attribute to true to close idle clients. If this element is 0 or less. Specifies the interval. before a client is disconnected. The default value is false. You can set a different value for each virtual host. the default idle time is used. .xml file. before a client is disconnected. even if you specify true in the Vhost. If the enable attribute is omitted or not set to true.xml file overrides the value of the MaxIdleTime element in the Server.

the feature is disabled for all applications. The master process is a monitor that starts core processes when necessary. but there can be many core processes running at a time. 1 Locate the following code in the Application. in seconds. Flash Media Streaming Server doesn’t support multiple processes. you might want to change how applications are assigned to server processes. The following is the XML structure: . If you are configuring the number of core processes and using the reloadApp() Administration API or HTTP command.xml file. Settings in an Application. Settings in an Application. Specifies the maximum idle time allowed. the server uses the value in the Server.xml file. There can be only one master process running at a time. RootInstall/applications/myApp/Application. file. When you start the server. In some scenarios. MaxIdleTime 3 Restart the server.Last updated 3/2/2010 FLASH MEDIA SERVER 3. If this element is disabled in Server.xml file overrides the value of the MaxIdleTime element in the Server. You can set a different value for each application.exe (Windows) and fmscore (Linux).xml file in an application’s folder (for example.xml) apply only to that application.5 CONFIGURATION AND ADMINISTRATION GUIDE 16 Configuring the server Configure settings for applications You can disable this feature for an application or specify a different maximum idle time for an application in the Application. If no value is set for this element in the Vhost. You can configure how applications are assigned to server processes in the Process section of the Application. you are starting a process called FMSMaster. the server uses the value set in the Vhost. Element AutoCloseIdleClients Description Disable this feature for an individual application by setting the enable attribute to false.xml file in a virtual host folder (for example. before a client is disconnected.xml file. Note: The number of core processes you can run is limited by system memory.xml) apply to all the applications running in that virtual host.xml configuration file.xml file.exe (Windows) or fmsmaster (Linux). even if you specify true in the Application. Do not run more than 100. Application instances run in processes called FMSCore.xml. Configure how applications are assigned to server processes Note: This section is only applicable to Flash Media Interactive Server and Flash Media Development Server. see Tech Note kb403044. If no value is set for this element. The value of the MaxIdleTime element in the Vhost. The default idle time is 600 seconds (10 minutes). and you probably won’t need more than 20. RootInstall/conf/_defaultRoot_/_defaultVHost_/Application.xml file.xml file and remove the comments: <VirtualHost> <AutoCloseIdleClients enable="false"> <MaxIdleTime>600</MaxIdleTime> </AutoCloseIdleClients> </VirtualHost> 2 Edit the following elements.xml.

</Application> Configure a process scope ❖ The Scope tag specifies at which level application instances are assigned to core processes. Enter one of the following values for the Scope element. You can set the Distribute numprocs attribute to a value greater than 1 to distribute instances across that number of processes. which contain applications. Depending on available RAM. This is the default value.Last updated 3/2/2010 FLASH MEDIA SERVER 3. 2 Set the numprocs value to a value higher than 1.. the server uses the value immediately lower than the one specified in the Scope tag. Distribute a process scope among multiple core processes The four process scopes don’t provide a good distribution for all scenarios. Scopes have an enclosing relationship with a strict ordering: adaptors contain virtual hosts. In other words. apps. which means that the default behavior is to distribute application instances to three core processes. 1 Set the scope value. 3 Enter one of the following values for the Distribute element. a number between 3 and 11 is realistic for most cases. For example. which contain clients. insts. The value of the Distribute tag must be a scope that is lower in order than the value in the Scope tag. you could either distribute those instances to one core process (<Scope>app</Scope>) or three core processes (<Scope>inst</Scope>).5 CONFIGURATION AND ADMINISTRATION GUIDE 17 Configuring the server <Application> <Process> <Scope>vhost</Scope> <Distribute numprocs="3"></Distribute> <LifeTime> <RollOver></RollOver> <MaxCores></MaxCores> </LifeTime> <MaxFailures>2</MaxFailures> <RecoveryTime>300</RecoveryTime> </Process> . Value adaptor vhost app inst Description All application instances in an adaptor run together in a process. . which contain instances. Running every instance in its own process can create many processes. if you have one application and want to run 25 instances of that application. In this scenario. the value of Distribute can be insts or clients. If the value of Scope is app. All instances of a single application run together in a process. Note: There is no limit to the value of the numprocs attribute. By default. or clients. The default value of numprocs is 3. An application instance can run by itself in a process or it can run in a process with other instances. Each application instance runs in its own process. you could set Scope to app and Distribute numprocs to 3 to distribute the application instances among three core processes. but you should never need more than 40.. Adobe recommends using prime number values because they result in a more even distribution of connections to processes. if the value of Scope is adaptor. This provides the best application isolation and uses the most system resources. the value of Distribute can be vhosts. All application instances in a virtual host run together in a process.

indicating that the maximum number of processes at any given time is 3: <Process> <Scope>app</Scope> <LifeTime> <RollOver>3600</RollOver> <MaxCores>3</MaxCores> </LifeTime> . Most vod (video on demand) applications are stateless because each client plays content independently of all other clients.5 CONFIGURATION AND ADMINISTRATION GUIDE 18 Configuring the server Value vhosts apps insts Description All instances of applications in a virtual host run together in a process. subsequent processes have a duration equal to the specified rollover time. Note that the duration of process 1 might or might not be the full duration specified by the rollover value. you must also set the Distribute numprocs attribute to a value greater than 1. if a shared chat application were set to client. and so on. The duration of the first process is determined by the clock time. and the maximum core processes value is set to 3. This is the default value. so the duration of process 1 is only 40 minutes (because it is 40 minutes until the beginning of the hour in real time). The following diagram depicts the way in which the server rolls over processes. the current time is 12:20. process 2 then accepts new client connections until process 3 starts. For example. as shown in the diagram. Chat and gaming applications are not stateless because all clients share the application state. This feature is disabled by default. Process 1 starts C. Stateless applications don’t require clients to interact with other clients and don’t have clients accessing live streams. indicating that every hour a new process should start. the messages wouldn't reach everyone in the chat because they’d be split into separate processes. If you choose this value. For example. To disable this feature. set RollOver to 0. The duration of process 1 is partially determined by the current time when process 1 starts. Process 4 starts. because the maximum core processes limit was reached When each process starts. Process 1 ends. when process 1 starts. Each application instance runs in its own process. Process 2 starts D. When a core process reaches the limit. Each client connection runs in its own process. A B C D E 12:00 12:20 1:00 2:00 3:00 4:00 5:00 A. when process 1 starts.. any new connections roll over to a new core process. Process 3 starts E.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Client connections B. because rollover values are calibrated to the real clock time. All instances of an application run together in a process. clients Configure the number of core processes and how long each process runs ❖ Specify the number of core processes in the MaxCores tag (the maximum number of core processes that can exist concurrently) and the number of seconds that a core process can run in the RollOver tag. In the XML. the rollover time is set to 3600 seconds (1 hour). Use this value for stateless applications only. it accepts new client connections to the application until process 2 starts.. it accepts new connections until the next process starts: that is. .

If a value is set. 1 Open the RootInstall/conf/fms. you can specify a value in the MaxCores tag to limit the maximum number of core processes that can run simultaneously.com and example2. only the domains listed are accepted. Check for process failures 1 Enter a value in the MaxFailures tag to specify the maximum number of process failures allowed before a core process is disabled. In this case.ALLOW parameter to a comma-delimited list of domains that are allowed to connect to the server. set MaxCores to 0. Configuring security features Restrict which domains can connect to a virtual host If desired. see “Vhost. 2 Once disabled. The default value is all. but clients are disconnected periodically. Verify SWF files You can configure the server to verify client SWF files before allowing them to connect to an application. The default value is 2.5 CONFIGURATION AND ADMINISTRATION GUIDE 19 Configuring the server Note: If you have multiple VHosts with Process/Scope set to adaptor.Last updated 3/2/2010 FLASH MEDIA SERVER 3. By default.xml file” on page 178.ALLOW = example. Note: An application is considered stateless if you configure it to distribute clients over multiple processes. To do this. This ensures that an application instance is not split across multiple processes. old core processes continue to serve earlier connections. Note: Applications that are loaded using the Administration API (including applications loaded using the Administration Console) are not checked for process failures. specify localhost. a master process will not launch a core process until a minimum recovery time elapses. For more information. In stateless applications. To allow localhost connections. For example. you can restrict which domains are allowed to connect to a virtual host.com. example2.com allows connections from the example. Verifying SWF files prevents third parties from creating their own applications that attempt to stream your resources. Enter a value in the RecoveryTime tag to specify the minimum recovery time for contained elements. set the Distribute numprocs attribute to a value greater than 1. 2 Set the VHOST. set the tag to 0 to disable checking for process failures. To disable this feature. such as vod applications. VHOST. Use this feature to guard against a behavior in which a faulty core process can use the entire CPU by being repeatedly launched very quickly. you must set an identical RollOver value for each VHost.ini file.com domains. 3 Restart the server. the server ignores any value you assign to MaxCores and sets it to 1. then set the Distribute tag to clients or set the Scope tag to inst. . This feature is disabled by default. connections are allowed from all domains. If the application is not stateless.

If SWFFolder is empty.xml file and an Application. If the SWF file is verified.xml file defines the location of verifying SWF files in the SWFFolder tag.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml file: . in order: 1 The application-specific Application. the Server. The server passes any values present in Application.xml file. If a client SWF file fails verification. To verify SWF files. 4 If a File plug-in is enabled for retrieval of SWF files. For example. the server looks in the default location: /applications/application_name/SWFs. the server verifies that the client SWF file requesting a connection to the server matches the verifying SWF file. if it exists. The plug-in developer overrides these values with paths to the external content repository. the server verifies it.xml file. adding the path <SWFFolder>C:\Program Files\Adobe\Flash Media Server 3. • Administrative applications that have access to all server levels.xml file in the Vhost folder.xml file. and Flash Media Development Server. copy the SWF file you compiled into the AIR package to the server or external content repository.0 or later or Adobe® AIR™. • All applications in a virtual host. You can override this default in the SWFFolder tag of the Application. This feature is supported in versions 3.xml file. This tag specifies a location for global SWF files. If SWFFolder contains a file path. The server does not send a NetStream status message to the client.5 CONFIGURATION AND ADMINISTRATION GUIDE 20 Configuring the server Note: Verification of SWF files requires Flash Player 9. Note: SWF files connecting to Flash Media Administration Server cannot be verified. If SWFFolder contains a file path. it is allowed to connect to the application. the SWF file that contains the NetConnection object to connect to the server is the one that the server attempts to verify.xml configuration file. The SWFFolder tag defines the location. or in the File plug-in.xml to the plug-in. Flash Media Interactive Server. SWF verification is disabled by default. you can add a path to the folder from which you serve SWF files.5\webroot</SWFFolder> prevents you from needing to maintain two copies of each SWF file. you must set <SWFVerification enable = "true"> in the Application. which means SWF files that are common to all applications. If you installed Apache with Flash Media Server. Locating SWF files for verification The server looks for verifying SWF files in the following locations. the server calls the File plug-in. the server looks in the default location: /applications/application_name/SWFs. the server looks for verifying SWF files in that file path.xml file.xml file defines the location of verifying SWF files for all applications on the virtual host. If SWFFolder is empty. 3 The server checks the SWFFolder tag in the Server. the server disconnects the NetConnection object and logs an event to the access log. Note: If you’re deploying an Adobe AIR application. You can verify SWF files at the following server scopes: • Individual applications. the server looks for verifying SWF files in that file path. For client applications that comprise multiple SWF files or SWF files that dynamically load other SWF files. the server looks in RootInstall/applications/application_name/SWFs folder for the verifying SWF file. This Application. on Windows.xml file. The verifying SWF file is a copy of the client SWF file that you place on the server or in an external content repository. 2 The Vhost-level Application. When verification is enabled. Configure the Server.0 and later of Flash Media Streaming Server. Configure the application-specific Application. When the client SWF file connects to the server. Configure the Application. Configure SWF verification for applications 1 Locate the following section of the Application.0. By default.xml file.115. The Application.xml or Server.

in seconds. Element SWFVerification Attribute enabled Description Set the enabled attribute to "true" or "false" to turn this feature on or off. For example. The default value is the application's folder appended with /SWFs. Container. If you installed Apache with Flash Media Server. The maximum amount of time that a client can use to provide its first verification to the server. Specifying zero scans the parent folder and no subfolders. enter the path to the folder from which you are serving SWF files. which means that the server scans only one subfolder level. The default value is 1. <SWFVerification enabled="false"> <SWFFolder></SWFFolder> <MinGoodVersion></MinGoodVersion> <DirLevelSWFScan>1</DirLevelSWFScan> <MaxInitDelay>5</MaxInitDelay> <FirstHashTimeout>5</FirstHashTimeout> <FinalHashTimeout>60</FinalHashTimeout> <UserAgentExceptions> <Exception to="" from=""/> </UserAgentExceptions> <Cache> <TTL></TTL> <UpdateInterval></UpdateInterval> </Cache> </SWFVerification> </Application> 2 Edit the following elements. verifying SWF files should be placed in the applications/myApplication/SWFs folder. The default value is 0. MinGoodVersion None. Adobe recommends keeping the default value. if you’re serving SWF files from the webroot directory on Windows. for an application called myApplication. This is a reserved field that works with Flash Player. . DirLevelSWFScan None.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Specifying a negative value scans all subfolder levels.. SWFFolder None. For example. The parent folder is specified in the SWFFolder element. leave this field blank. They are the verifying SWF files. If you are using the File plug-in to verify SWF files in an external content repository. The maximum amount of time to process SWF files. Specifies the minimum version of this feature to accept. The default value is 5 seconds.5 CONFIGURATION AND ADMINISTRATION GUIDE 21 Configuring the server <Application> . These SWF files are used to verify connecting SWF files. Specifying a positive value scans that number of subfolder levels. The maximum amount of time that a client can use to provide its final verification to the server. Specifies the number of levels of subfolders within a parent folder to scan for SWF files. if there isn’t a value set for this element.5\webroot. The default value is "false".. MaxInitDelay None FirstHashTimeout None FinalHashTimeout None UserAgentExceptions None. which allows this and all future versions. A single folder or a semicolon-delimited list of folders that contain copies of client SWF files. enter the path C:\Program Files\Adobe\Flash Media Server 3.

Note: In addition to configuring the SWFFolder tag in the Server. Use the from and to attributes to indicate the lowest and highest versions to except. Create verification exceptions ❖ Add Exception elements to the UserAgentExceptions section of the Application. create a folder called SWFs in the application’s folder on the server.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The maximum time in minutes to wait for the server to scan the SWFs folders for updates when there is a miss in the cache. You can also configure other values for these SWF files. such as Flash Media Live Encoder. users can connect to the application until the cache expires. to bypass SWF verification. This is a string comparison. The default value is 1440 minutes (24 hours). You can add one or more exceptions to the SWF verification rules that allow specified user agents. Cache TTL None. If a SWF file is removed from the server. Certain applications—for example. <UserAgentExceptions> <Exception to="FME/0.xml file. The default value is 5 minutes. Create folders for the verifying SWF files 1 If the SWFFolder value is the default.5"/> </UserAgentExceptions> </SWFVerification> Configure SWF verification globally You can configure verification for a group of SWF files on the server that are common to all applications. Adobe® Flash® Media Live Encoder—do not support the form of SWF verification used by the server. A SWF file can be renamed and still used for verification as long as it’s a copy of the client SWF file. in minutes. Container. SWF files within an instance folder can verify only that instance. ❖ In the Server. SWF files in the SWFs directory can verify all instances of the application. Note: Multiple SWF files may exist in either directory. create the folder applications/myMediaApp/SWFs.xml file Root/Server/SWFVerification/SWFFolder tag. UpdateInterval None.. specify folders that hold the verifying SWF files. for an application called myMediaApp. SWF files in the SWFs folder verify connections to any instance of the myMediaApp application. see the comments in the Application. applications/myMediaApp/SWFs/chat01. enable verification in the Vhost-level or application-specific Application. .5 CONFIGURATION AND ADMINISTRATION GUIDE 22 Configuring the server Element Exception Attribute from to Description A user agent to except from verification. The time to live for the SWF file. See “Configure SWF Verification for Applications” in this topic. applications/myMediaApp/SWFs/chat02. with editing to make all numeric fields equal in length.xml file. None. which means a SWF file copied to the SWFs folder is picked up by the server within 5 minutes. as in the following: <SWFVerification enabled="true"> . for example.xml file. For more information. create instance folders in the SWFs directory. and so on. the verification values stay in the cache for 24 hours..0" from="FME/2.xml file and “Create verification exceptions” later in this topic. 2 To verify SWF files for application instances. For example.

foo..Last updated 3/2/2010 FLASH MEDIA SERVER 3. and restart the server. you can change this in the AdminServer section of the Server. domain names.xml file for the adaptor you want to disable (located in RootInstall/conf).133. <Allow>all</Allow> . Limit access to Flash Media Administration Server By default. edit the CrossDomainPath element to specify a cross-domain file. respectively. 2 Locate the following XML: .com.com/myMediaApplication"). you might want to disable RTMPE (encrypted Real-Time Messaging Protocol). 1 Open RootInstall/conf/Server.xml file. as well as the keyword all. 3 Alternatively. in the NetConnection. 1 Open RootInstall/conf/Server. 4 Validate the XML. For example: <Allow>x. <CrossDomainPath></CrossDomainPath> 2 Specify the location of the cross-domain file in the CrossDomainPathElement.xml file.xml</CrossDomainPath> 3 Validate the Server.1.xml file. for the Administration Server): <Server> . 10.connect("rtmpe://www. a client can connect to Flash Media Administration Server from any domain or IP address. Flash Player scans ports just like it does with RTMP. 443 (RTMPE). Because RTMPE uses encrypted channels. for example: <CrossDomainPath>http://store.connect() URL. 10. nc. which lets you specify a list of domains from which a client can access the server.xml and locate the following code: <AdminServer> . Note: RTMPE cannot currently be used between servers or from edge to origin.xml and locate the CrossDomainPath element in the Server element (or the AdminServer element. To request an encrypted or encrypted tunnelling channel.60.. which can be a security risk. save it.. If you don’t control the applications that connect to Flash Media Server and you don’t want them to use RTMPE. and restart the server.example. In some scenarios. RTMPS can be used instead.com. The crossdomain XML file lets you specify a list of domains from which clients can access the edge server or Administration Server. RTMPE requires about 15% more processing power than RTMP. This is specified as a comma-delimited list of host names. 1 Open the Adaptor. RTMPE is enabled in the server’s Adaptor. </AdminServer> 2 Edit the Allow element to specify which connections to Flash Media Administration Server the server responds to. If desired. applications specify rtmpe or rtmpte. save the Server.5 CONFIGURATION AND ADMINISTRATION GUIDE 23 Configuring the server Restrict access to the server with a cross-domain file You can restrict access to an edge server or the Administration Server with a cross-domain XML file.. Disable RTMPE By default..xml file. In these cases. in the following order: 1935 (RTMPE).. for example.com/crossdomain. you can disable RTMPE at the adaptor level.mydomain. and full or partial IP addresses. there is a minor impact on performance. 80 (RTMPE). If an application specifies RTMPE without explicitly specifying a port. 80 (RTMPTE).60</Allow>. foo.

HOSTPORT = :1935. For more information.5 CONFIGURATION AND ADMINISTRATION GUIDE 24 Configuring the server <RTMP> <!-. specify that a port is secure. See also “XML configuration files reference” on page 80 Configure SSL Secure Sockets Layer (SSL) is a protocol for enabling secure communications over TCP/IP. Flash Media Server returns data to the client over port 443. Because secure connections require extra processing power and may affect the server’s performance. -1935. see the NetConnection. Traffic with an “rtmp://” string uses port 1935.com/vod/instance1"). Data passed over the secure connection is encrypted to avoid eavesdropping by unauthorized third parties. RTMPS adheres to SSL standards for secure network connections and enables connections through a TCP socket on a secure port. use RTMPS only for applications that require a higher level of security or that handle sensitive or critical data. the following client code connects securely: var nc:NetConnection = new NetConnection(). Flash Media Server provides native support for both incoming and outgoing SSL connections. it scans the following ports in order: 1935. To configure SSL. which is an 128-bit encrypted protocol.proxyType = "best". .adobe.connect() entry in the ActionScript® 3.0 Language Reference or in the ActionScript 2. 2 Specify the RTMPS protocol in the call to the NetConnection. clients must do the following: 1 Set the NetConnection. To configure the default secure port. enter -443 in the ADAPTOR.proxyType property to "best" before connecting. nc.ini file. RTMPE is more lightweight than SSL and is enabled by default. for example. Note: All server editions support a version of RTMP called RTMPE. “rtmps://host:1935/app”.RTMPE is the encrypted RTMP protocol covering both RTMPE and RTMPTE --> <!-. 4 Restart the server. 80 (RTMP tunneling).This is enabled by default. An outgoing connection is a connection between two servers. 443. An incoming connection is a connection between Flash Player and the server. By default. place a minus (“-”) sign in front of the port number.connect("rtmps://fmsexamples.0 Language Reference. 80. To specify that a port is secure. the client must specify the port in the URI.-443 When Flash Player encounters an “rtmps://fmsdomain/application” string. for example. when Flash Player connects to Flash Media Server.allow these protocols on this adaptor --> <RTMPE enabled="true"></RTMPE> </RTMP 3 Set the RTMPE enabled attribute to "false". If SSL is configured. The default secure port for RTMPS is 443. If you configure any port other than 443 as secure.Last updated 3/2/2010 FLASH MEDIA SERVER 3. To connect to Flash Media Server over an SSL connection. it communicates with Flash Media Server over port 443.connect() method. setting enabled to "false will not --> <!-.HOSTPORT parameter in the RootInstall/conf/fms. as follows: ADAPTOR. nc.

-----END CERTIFICATE----- The first BEGIN CERTIFICATE/END CERTIFICATE pair is your certificate. Element SSLCertificateFile Description The location of the certificate file to send to the client. SSLCertificateKeyFile type="PEM" . the pass phrase must be specified in the SSLPassPhrase tag... <SSL> <SSLServerCtx> <SSLCertificateFile></SSLCertificateFile> <SSLCertificateKeyFile type="PEM"></SSLCertificateKeyFile> <SSLPassPhrase></SSLPassPhrase> <SSLCipherSuite>ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH</SSLCipherSuite> <SSLSessionTimeout>5</SSLSessionTimeout> </SSLServerCtx> </SSL> .5 CONFIGURATION AND ADMINISTRATION GUIDE 25 Configuring the server Certificates You can get an SSL certificate from a certificate authority or create a certificate yourself. The default value is "PEM". Secure incoming connections Specify the location of the SSL certificate and the certificate’s private key. The private key and the certificate can be combined into one file.Last updated 3/2/2010 FLASH MEDIA SERVER 3..xml file for the adaptor you want to configure and locate the following code: <Adaptor> . Your certificate file (if signed by an intermediate CA) should look something like the following: -----BEGIN CERTIFICATE----. </Adaptor> 2 Edit the following elements. -----END CERTIFICATE---------BEGIN CERTIFICATE----. If a certificate is signed by an intermediate Certificate Authority (CA). The location of the private key file for the certificate...... Specify an absolute path or a path relative to the adaptor folder. it must include the intermediate certificate as part of the certificate that the server returns to the client. Specify an absolute path or a path relative to the adaptor folder. You can add additional sections as needed. The type attribute specifies the type of encoding used for the certificate key file. The next BEGIN CERTIFICATE/END CERTIFICATE pair is the intermediate CA that signed your certificate. and configure the adaptor to listen on a secure port. This can be either "PEM" or "ASN1". If the key file is encrypted. 1 Open the Adaptor.

SSLCipherSuite SessionTimeout 3 To configure a secure port for an adaptor.Last updated 3/2/2010 FLASH MEDIA SERVER 3. An RTMPS connection to port 443 succeeds: the client performs a SSL handshake that the server completes. 4 Restart the server. each virtual host has its own domain name. Each domain name must have its own certificate.. or one of a selected number of aliases for common groupings. leave this tag empty. The possible values are listed here: “SSLCipherSuite” on page 91. If the private key file is not encrypted. authentication method. as follows: ADAPTOR. digest type.. An RTMPS connection to port 1935 fails: the client attempts to perform a SSL handshake that the server fails to complete. if you’re hosting multiple customers.xml file: <Adaptor> . An RTMP connection to port 443 also fails: the server tries to perform a SSL handshake that the client fails to complete. encryption method. Any value less than 1 is read as 1.HOSTPORT parameter in the RootInstall/conf/fms.-444</HostPort> 3 For each HostPort element. For example. Note: Generally.. . If a client reconnects to a session before SessionTimeout is reached.HOSTPORT = :1935. enter an Edge element under the SSL element with an identical name attribute. <Ho4stPortList> <HostPort name="edge1" ctl_channel=":19350">${ADAPTOR. the edge uses the default SSL configuration.HOSTPORT}</HostPort> </HostPortList> . The amount of time in minutes a session remains valid. </Adaptor> 2 Create new HostPort elements with unique name and ctl_channel attributes and unique port values for RTMP and SSL.ini file. This lets you assign multiple virtual hosts to one adaptor and return a different certificate for each virtual host. the cipher suite list isn’t sent during the SSL handshake. The SSL ciphers: a colon-delimited list of components. add the following HostPort tag in addition to the default HostPort tag: <HostPort name="edge2" ctl_channel=":19351">:1936.. Configure incoming connections when multiple virtual hosts are assigned to one adaptor You can configure the server to return a certificate based on which port a client connects to. 1 Locate the following code in the Adaptor. A component can be a key exchange algorithm. 5 Check the RootInstall/logs/edge.-443 This configuration tells the server to listen on ports 1935 and 443. and that 443 is a secure port that receives only RTMPS connections.log file to verify that no errors have been reported.5 CONFIGURATION AND ADMINISTRATION GUIDE 26 Configuring the server Element SSLPassPhrase Description The pass phrase to use for decrypting the private key file. specify a minus sign before the port number in the ADAPTOR.00. If you don’t specify an Edge element. Do not change the default settings unless you are very familiar with SSL ciphers. The default value is 5.

pem</SSLCertificateKeyFile> <SSLPassPhrase></SSLPassPhrase> <SSLCipherSuite>ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH</SSLCipherSuite> <SSLSessionTimeout>5</SSLSessionTimeout> </SSLServerCtx> </Edge> </SSL> 4 Validate the XML and save the file.pem</SSLCertificateKeyFile> <SSLPassPhrase></SSLPassPhrase> <SSLCipherSuite>ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH</SSLCipherSuite> <SSLSessionTimeout>5</SSLSessionTimeout> </SSLServerCtx> <Edge name="edge1"> <SSLServerCtx> <SSLCertificateFile>cert2.pem</SSLCertificateFile> <SSLCertificateKeyFile>private. 5 Restart the server.pem when a client connects to it on port 444. Secure outgoing connections 1 Open the Server.xml file and locate the following code: <Root> <Server> <SSL> <SSLEngine></SSLEngine> <SSLRandomSeed></SSLRandomSeed> <SSLClientCtx> <SSLVerifyCertificate>true</SSLVerifyCertificate> <SSLCACertificatePath></SSLCACertificatePath> <SSLCACertificateFile></SSLCACertificateFile> <SSLVerifyDepth>9</SSLVerifyDepth> <SSLCipherSuite>ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH</SSLCipherSuite> </SSLClientCtx> </SSL> </Server> </Root> 2 Edit the following elements. <SSL> <SSLServerCtx> <SSLCertificateFile>cert.pem</SSLCertificateFile> <SSLCertificateKeyFile>private2.5 CONFIGURATION AND ADMINISTRATION GUIDE 27 Configuring the server This sample code demonstrates how to configure edge1 to return cert2.pem when a client connects to it on port 443. edge2 will use the default configuration specified in the SSLServerCtx section that is directly under the SSL container tag. Since there is no Edge tag for edge2. The edge2 server returns cert. .Last updated 3/2/2010 FLASH MEDIA SERVER 3.

in minutes. if this tag is empty.5 CONFIGURATION AND ADMINISTRATION GUIDE 28 Configuring the server Element SSLRandomSeed Description The number of bytes of entropy to use for seeding the pseudo-random number generator (PRNG). Do not disable verification unless you are certain you understand the ramifications. On a Windows 32-bit operating system. The default value is 9. you can disable certificate checking in one virtual host. authentication method. You cannot specify anything less than 8 bytes.xml file to the Adaptor. Disabling certificate verification can result in a security hazard. use a certificate in a different folder for one virtual host. for example. A folder containing certificates.xml file. and implement a different set of ciphers in a third virtual host. SSLCACertificatePath SSLCACertificateFile SSLVerifyDepth Specifies the name of a file containing one or more certificates in PEM format. In Linux. digest type. Specifies the maximum depth of an acceptable certificate. A component can be a key exchange algorithm. The server may take longer to start up if you specify a large number.0". as this tag is a server-level setting that cannot be overridden in Adaptor. 1 Uncomment the SSL section under the Proxy tag in the appropriate Vhost. and the file name must be hash and the extension ". The more entropy. the server looks for certificates in the RootInstall\certs directory. the more random numbers the PRNG will contain.xml file configures all adaptors to use the same settings. certificate verification fails. You don’t need to copy the SSLRandomSeed tag. ❖ Copy the SSL section in the Server. Entropy is a measure of randomness.Last updated 3/2/2010 FLASH MEDIA SERVER 3. or one of a selected number of aliases for common groupings. e98140a6. The SSL ciphers: a colon-delimited list of components. you must specify the location of the certificates. Each file in the folder must contain only a single certificate. encryption method. In this case. You can import the Windows certificate store to the certs directory by running FMSMaster -console -initialize from a command line. A Boolean value specifying whether to verify the certificate returned by the server being connected to (true) or not (false).xml file: . If a self-signed root certificate cannot be found within this depth.0. However. Configure virtual hosts to manage outgoing SSL connections independently For example.xml. The possible values are listed here: “SSLCipherSuite” on page 169. assign one virtual host to each adaptor and configure your adaptors individually to override the settings in the Server.xml files and enter the new values. The default value is true. Do not change the default settings unless you are very familiar with SSL ciphers. and the default value is 16. SSLCipherSuite Configure adaptors to manage outgoing SSL connections independently The SSL section in the Server. you might want to use a different certificate for each virtual host. SSLSessionCacheGC SSLVerifyCertificate How often to flush expired sessions from the server-side session cache.

Configure Flash Media Server to work with a hardware SSL proxy When you use a hardware SSL proxy. Configure the hardware to forward data to Flash Media Server on port 1935. The hardware sits between Flash Media Server and the Internet. To solve this problem.Last updated 3/2/2010 FLASH MEDIA SERVER 3. .xml and Application.xml file.. You must enable checkpoint events at the server level in the Server. play-continue.xml files. 2 Restart the server.xml file in a text editor. Performing general configuration tasks Enable checkpoint logging events Many companies use statistics from the access log to bill customers. <Proxy> <SSL> <SSLClientCtx> <SSLVerifyCertificate></SSLVerifyCertificate> <SSLCACertificatePath></SSLCACertificatePath> <SSLCACertifcateFile></SSLCACertificateFile> <SSLVerifyDepth></SSLVerifyDepth> <SSLCipherSuite></SSLCipherSuite> </SSLClientCtx> </SSL> </Proxy> </VirtualHost> When the SSL tag is present. Data sent between Flash Media Server and the hardware is unencrypted. you don't need to configure Flash Media Server for SSL.5 CONFIGURATION AND ADMINISTRATION GUIDE 29 Configuring the server <VirtualHost> . For more information. Checkpoint events log bytes periodically during an event. you can enable checkpoint events. Flash Media Server listens on port 1935 by default. If you’ve changed the default port. If your programming includes live events or 24/7 programming.. see the comments in the XML files located in the RootInstall/conf folder. configure the hardware to forward data on that port. and publish-continue. the entire SSL section is used to configure the virtual host. You can disable checkpoints at the vhost and application level in the Vhost. You can also override the logging interval at the vhost and application levels. like this: <Checkpoints enable="true">. The following are available as checkpoint events: connect-continue. 4 You can optionally set values for the CheckInterval and LogInterval elements to indicate how often the server should check for and log events. the events you use to calculate billing might not occur within a billing cycle. 2 Locate the Root/Server/Logging/Checkpoints element: <Checkpoints enable="false"> <CheckInterval>60</CheckInterval> <LogInterval>3600</LogInterval> </Checkpoints> 3 Set the Checkpoints enable attribute to true. the server uses the default settings. If an SSL tag is omitted from this section. The hardware encrypts the data and forwards it to the Internet. Configure the hardware to listen externally on port 443 to receive encrypted data sent over Internet from clients. 1 Open the RootInstall/conf/Server.

The default value is ping. Wherever a numeric IPv6 address is used in a client-side script. 2 Set the USERS. IPv4. Enclose numeric IPv6 addresses in URLs in brackets. enclose it in brackets: . By default. see “Users. 2 Locate the following XML: <Debug> <MaxPendingDebugConnections>50</MaxPendingDebugConnections> <AllowDebugDefault>false</AllowDebugDefault> </Debug> 3 Set the AllowDebugDefault element to true.NetworkingIPV6 enable attribute to "true". 5 Restart the server. Activate IPv6 on the network interface card. A system that only runs IPv6 can't communicate with a system that only runs IPv4.ini file.ini file and set the SERVER.HTTPCOMMAND_ALLOW parameter to a comma-delimited list of APIs. The current version of Internet Protocol. supports 32-bit addresses.xml file” on page 175. 1 Open the Application. Restart the server. you must update the NETWORKING_IPV6 value in /etc/sysconfig/network when installing or uninstalling IPv6. or in the server configuration files. the Administration Console must make a special debugging connection to the server. the server does not allow this connection. see the operating system’s Help. IPv6 is embedded in all operating systems that the server supports. For more information. Configuring IPv6 IPv6 (Internet Protocol version 6) is a new version of Internet Protocol that supports 128-bit addresses.xml file of the virtual host or application you want to configure. 4 Save and validate the file. 1 Open the RootInstall/conf/fms.5 CONFIGURATION AND ADMINISTRATION GUIDE 30 Configuring the server 5 Save and validate the file. Allow application debugging connections To play back streams and obtain data from shared objects.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Note: Debug connections count against license limits. IPv6 alleviates the address shortage problem on the Internet. Important: In Red Hat® Linux systems. For more information. Allow Administration API methods to be called over HTTP You must specify each Administration API method that may be called over HTTP. Allow the server to listen on IPv6 sockets. server-side script. 6 Restart the server. You may need to activate IPv6 on the interfaces. Open the RootInstall/conf/fms. and restart the server.

property. Defining Application object properties You can define properties for the server-side Application object in the server’s Application.xx. RTMPS.config.log files (located in the RootInstall/logs/ directory). create an XML tag in the JSEngine section of the Application.xml appropriately to resolve connections quickly.xx.xx.128. If you define properties in the default Application. The following xcomment fields from a sample edge log file indicate that the IPv6 stack and the IPv4 stack are available.log. host name.property. if you are using an IPv4 host name (a host name that resolves to IPv4) on an RTMPT or RTMPTE connection. For example. and RTMPE protocols with a network services database and use a service name (or decimal port number. Check the logs. If you define properties in an Application. with the values jdoe and engineering.xml file. The property name corresponds to the tag’s name. the properties are available for all applications on a virtual host. To define a property.192.108]:1935/streamtest You must specify the interface zone index for a link-local address: rtmp://[fe80::204:23ff:fe14:da1c%4]:1935/streamtest It’s a good idea to register the RTMP. the following XML fragment defines the properties user_name and dept_name.133. not from application.133.5 CONFIGURATION AND ADMINISTRATION GUIDE 31 Configuring the server rtmp://[fd5e:624b:4c18:ffff:0:5efe:10.xml file.xml configuration files.prop_name application. and admin. and all available IP addresses for the host in the master. you should configure the Adaptor. use the syntax in either of these examples: application. edge. When the server starts.config. and that the server host has dual addresses and is listening on both interfaces: FMS detected IPv6 protocol stack! FMS config <NetworkingIPv6 enable=true> FMS running in IPv6 protocol stack mode! Host: fmsqewin2k3-02 IPv4: 10.Last updated 3/2/2010 FLASH MEDIA SERVER 3. if necessary) in the server configuration files. and the property value corresponds to the tag’s contents.config["prop_name"] Note: The properties you define are accessible from application.xml file in an application folder. See HTTPIdent2. it logs available stack configuration.42 IPv6: fe80::204:23ff:fe14:da1c%4 Listener started ( _defaultRoot__? ) : 19350/v6 Listener started ( _defaultRoot__? ) : 19350/v4 Listener started ( _defaultRoot__? ) : 1935/v6 Listener started ( _defaultRoot__? ) : 1935/v4 Note: On IPv6-enabled Linux.log. the properties are available only for that application. respectively: <Application> <JSEngine> <config> <user_name>jdoe</user_name> <dept_name>engineering</dept_name> </config> </JSEngine> </Application> To access the property in server-side code. .

The output is as follows: My computer's name is: jsmith01 My department is: Engineering Note: Server-side ActionScript trace()statements display in the Live Log panel of the Administration Console. For example.dept_name + " department.dept).config. if a client connects through edge servers.5 CONFIGURATION AND ADMINISTRATION GUIDE 32 Configuring the server For example. the outermost edge server detects the bandwidth. the following XML appears in the Application. Native bandwidth detection is faster than script-based because the core server code is written in C and C++. with native bandwidth detection. the following trace() statements are valid: trace("I am " + application. which results in more accurate data.user_name + " and I work in the " + application. The output from either statement would be as follows: I am jdoe and I work in the engineering department. Native bandwidth detection is enabled and configured by default.").xml file.Last updated 3/2/2010 FLASH MEDIA SERVER 3. More Help topics “Using symbols in configuration files” on page 10 Configure or disable native bandwidth detection The server can detect a client’s bandwidth in the core server code (called native bandwidth detection). given the previous XML fragment.").xml file: <Application> <JSEngine> <config> <compName>${%COMPUTERNAME%}</compName> <dept>${DEPT}</dept> </config> </JSEngine> </Application> In a server-side script. You can also use environment variables and symbols you define in the substitution. and you have defined a symbol named DEPT in the substitution. Also.compName).config. .xml file: <Root> <Symbols> <DEPT>Engineering</DEPT> </Symbols> </Root> In addition. the following trace statements are valid: trace("My computer's name is: " + application.config. assume that the environment variable COMPUTERNAME is equal to jsmith01. trace("I am " + application.config["user_name"] + " and I work in the " + application. trace("My department is: " + application. or in a serverside script (called script-based bandwidth detection).config["dept_name"] + " department.config.

. For example. The amount of data in bytes that the server sends to the client. The default value is -1. the rate at which they’re sent. . set the enabled attribute to false and restart the server. Within each individual application folder.xml file... . 2 Edit the following elements..APPSDIR . If desired. you can configure the size of the data chunks. Configuring content storage Setting the location of application files The presence of an application folder within the applications folder tells the server that the application exists. each time sending this much more data..ini file: • Registered applications folder: VHOST. Within the applications folder. and the amount of time the server sends data to the client. To detect the client’s bandwidth. create subfolders to create instances of applications. the following path is to an instance of an application called “my_application”: RootInstall/applications/my_application/first_instance To change the location of the applications folder and the live and vod applications. x bytes are sent. The number of seconds the server sends data to the client. DataSize MaxWait 3 Save and validate the Application. By default. 4 Restart the server. but it also forces the client to wait longer.xml file: . and so on until MaxWait time has elapsed. followed by 2x bytes. <BandwidthDetection enabled="true"> <MaxRate>-1</MaxRate> <DataSize>16384</DataSize> <MaxWait>2</MaxWait> </BandwidthDetection> . For example. create subfolders for your applications. the applications folder is located at RootInstall/applications. 1 Locate the following code in the Application. Element BandwidthDetection MaxRate Description Set the enabled attribute to "true" or "false" to turn this feature on or off. The maximum rate in Kbps that the server sends data to the client. see the Developer Guide. Note: To disable native bandwidth detection. the server attempts to send a series of random blocks of data to the client.. edit the locations in the following parameters in the fms. Increasing this number provides a more accurate bandwidth figure.Last updated 3/2/2010 FLASH MEDIA SERVER 3..5 CONFIGURATION AND ADMINISTRATION GUIDE 33 Configuring the server The server detects bandwidth by sending a series of data chunks to the client.. each larger than the last. For more information about detecting bandwidth in an application. which sends the data at whatever rate is necessary to measure bandwidth. followed by 3x bytes.

1 Stop Flash Media Server and Flash Media Administration Server. for example. all recorded streams for an application are stored in a streams folder in the application directory.xml.Last updated 3/2/2010 FLASH MEDIA SERVER 3. 3 Check that the server user has appropriate access rights to map to the network drive (system account rights are usually not sufficient. Note: Adobe strongly recommends that folders that store streams always contain only streams and no other application files. use virtual directories.) 4 Restart Flash Media Server and Flash Media Administration Server. Content for each instance is sandboxed from other instance of the same application. a user who connects to the secondRoom instance would not be able to access the content in C:\Content\firstRoom. Let’s say. If you do not want resources to be sandboxed by application and application instance. that value is specific to the application. the scope is extended to all the applications on that virtual host. when you specify a value in the virtual host-level Application. Shared objects are stored in a shared objects folder in the application directory. you set the storage directory to C:\Content for the chatApp application: <storageDir>C:\Content</storageDir> When a user connects to the firstRoom instance of the chatApp application and tries to play a stream. the server runs as System Account with no access to network drives. the server looks for the stream in a subfolder C:\Content\firstRoom. If the server is running as a service and the user is logged out. if you already have a collection of video files in a directory other than the application directory. To run with the mapped drive. Within the directory that you specify as the storage directory. Flash Media Server sandboxes the content for each instance of an application. Otherwise. lock the server instead of logging out. you can set the storage directory to that other directory instead of copying content to the application directory. For example. Setting the location of recorded streams and shared objects By default. A Windows network-mapped drive is not valid when a user is logged out. You could do this for vod applications. When you specify a value for the <storageDir> element in the application-specific XML. 2 Make the changes to the configuration.5 CONFIGURATION AND ADMINISTRATION GUIDE 34 Configuring the server • Live application: LIVE_DIR • Vod application: VOD_DIR Mapping directories to network drives By default. You can change the service user to a user with network access privileges with a UNC path.xml file to specify a different location to store streams or shared objects. Using the UNC path is preferred when the server is running as a service. . the mapped drive is removed as well. you must create physical subdirectories for different application instances. Use the StorageDir tag in the Application.

as shown in the following example: <Application> <StreamManager> <VirtualDirectory> <!-.xml or the Application. <VirtualDirectory> controls the storage location of all applications on that virtual host.xml file.xml file. Any instance of the application can access video files in that location (unlike with <storageDir>).xml file or the Vhost. In some scenarios. To map a virtual directory for an application. You would use the <VirtualDirectory> element in the application-specific Application. • You can specify multiple physical directories for a single virtual directory.xml file instead of the virtual-host Application. Virtual directory example: vod One usage scenario for this element is to specify a directory to use for a specific vod application and put video files in this directory to stream them instantly. you might want to specify particular locations for these resources. By mapping a virtual directory to a physical directory.xml file. but without restricting access by application or application instance. the server maps the name to the specified directory and first looks for the stream in the specified directory. A connecting client will be able to play a file in the virtual directory. This element provides various options: • You can specify a virtual directory name or not. --> <Streams>/. The order in which the server determines the correct directory to use for streams is as follows: 1 Virtual directory (as specified in <VirtualDirectory>) 2 Storage directory (as specified in <storageDir>) 3 Default location (the streams folder in the application directory) Note: Adobe strongly recommends that folders that store streams always contain only streams and no other application files. you do not need to copy resources to Flash Media Server’s application directory. or by passing "rtmp://myDomain/VOD/sample. you configure the <VirtualDirectory> tag in Vhost. All applications on the virtual host can access video files in the specified location.flv.xml file. To map a directory in this way. by connecting to the vod application and issuing a NetStream play() call: ns.play(). <VirtualDirectory> controls only the storage location of resources for that application. although Adobe recommends that if you want control at the virtual host level.5 CONFIGURATION AND ADMINISTRATION GUIDE 35 Configuring the server Mapping virtual directories to physical directories Flash Media Server stores recorded streams and video and audio files in default locations in the application directory. you can use the <VirtualDirectory> element in the Vhost.C:\my_videos</Streams> </VirtualDirectory> </StreamManager> </Application> This code overrides the VHost. such as C:\my_videos\sample. When a name is specified. • When specified in an application-specific Application.Specifies application specific virtual directory mapping for recorded streams. edit the application-specific Application. but other applications cannot. • When specified in the virtual-host Application. and you can retain your existing classification and categorization of resources.flv" to the source property of a call to FLVPlayback. .xml file’s mapping of '/' (if it exists) for this application only.Last updated 3/2/2010 FLASH MEDIA SERVER 3.play("sample").xml file.xml file to include the virtual directory. Use multiple <Streams> tags.

ns.5 CONFIGURATION AND ADMINISTRATION GUIDE 36 Configuring the server The <VirtualDirectory> element in the application-specific Application. the order in which the server looks for files is: 1 Virtual directory (as specified in <VirtualDirectory>) 2 Storage directory (as specified in <storageDir>) 3 Default location (the streams folder in the application directory) Virtual directory example: Local and network file paths The following table shows three examples of different virtual directory configurations. If no storage directory is specified by <storageDir>.play("high/sample") tells the server to look for the sample.flv file in the low-bandwidth storage area on the server. It has a higher precedence than the virtual directory mapping in the Vhost. Note that if the client calls ns. the client calls ns. the server publishes the stream to the default streams directory. your application could allow users to view either high-bandwidth video or low-bandwidth video.play("sample"). so it will always be checked first. For example. C:\low_bandwidth and C:\low_bandwidth2. then the server looks in the default location (the streams folder) for the file.flv file in the c:\high_bandwidth folder.c:\low_bandwidth2</Streams> <Streams>high. This call tells the server to look for the sample.xml. and you might want to store high-bandwidth and low-bandwidth video in separate folders. and all streams that start with high are stored in a different directory: <VirtualDirectory> <Streams>low. Virtual directory example: Separating high. so the server will then look for sample. . C:\low_bandwidth\sample.c:\high_bandwidth</Streams> </VirtualDirectory> When the client wants to access low-bandwidth video.xml file affects only that particular application.xml file. including mapping to a network drive. the stream name does not match any virtual directory specified. because the URI specified ("myStream") does not match the virtual directory name that is specified ("low"). which is mapped in Application. Similarly.and low-bandwidth video One way you can use directory mapping is to separate storage of different kinds of resources.flv inside the directory specified by the storage directory element (<storageDir>).c:\low_bandwidth</Streams> <Streams>low. protecting your streams from being accessed by other applications on the same virtual host.play(”low/sample”). a call to ns. and how the configurations determine the directory to which a recorded stream is published.Last updated 3/2/2010 FLASH MEDIA SERVER 3. You can create a mapping wherein all streams that start with low are stored in specific directories. that is.play("low/sample").flv file in the C:\low_bandwidth and C:\low_bandwidth2 folders.flv A client connects to the sample. In the first case.

\RootInstall\applications\yourApp\streams\_definst_\myStream. and media assets from Flash Media Server. The Flash Media Server installation of Apache is like the standard installation.ini file in a text editor.e:\fmsstreams low.\\mynetworkDrive\share\fmsstreams URI in NetStream call Location of published stream "myStream" "low/myStream" "low/myStream" c:\.2/manual/programs folder. The web root is RootInstall/webroot. Installation locations The Apache server that installs with Flash Media Server differs from a standard Apache installation in the following ways: • The apachectl files are in the RootInstall/Apache2. as well as RTMP.conf file and the standard secondary configuration files are in the RootInstall/Apache2.flv Configuring Apache HTTP Server About Apache HTTP Server Flash Media Server 3.flv \\mynetworkDrive\share\fmsstreams\myStream. container HTML pages. The Apache root installation folder is RootInstall/Apache2. You can serve content over HTTP.5 by default on Windows).2/conf/httpd. edit the RootInstall/Apache2. For more information.ini and Adaptor. If you install and enable the web server. .conf file: • Handle multiple adaptors or virtual hosts • Block sensitive file types. edit the fms. Note: The Flash Media Server documentation uses “RootInstall” to indicate the Flash Media Server root installation folder (C:\Program Files\Adobe\Flash Media Server 3.e:\fmsstreams low.flv e:\fmsstreams\myStream.. such as ASC • Handle any non-standard MIME types required for progressive download • Serve the default server-status and server-info pages • Modify source directories Enable Apache When you install Flash Media Server and choose to install Apache.2/conf folder. it is enabled by default. Alternate configurations To do any of the following.xml <VirtualDirectory><Streams> tag low.Last updated 3/2/2010 FLASH MEDIA SERVER 3.2/logs folder. • The httpd.xml files. To manually enable Apache.5 CONFIGURATION AND ADMINISTRATION GUIDE 37 Configuring the server Mapping in Vhost. you can serve video over HTTP progressive download as a fallback solution for web proxies that break RTMP or RTMPT. The Apache documentation and configuration files use “ServerRoot” to indicate the Apache root installation folder.5 includes Apache HTTP Server. you can deliver client SWF files. 1 Open the fms. You can use Apache documentation for most configuration tasks. In addition. see “Monitoring and Managing Log Files” on page 55..2. • The log files are in the RootInstall/Apache2.

HOST = :8134 Setting the parameter to no value disables HTTP proxying: HTTPPROXY.2/cgi-bin RootInstall/Apache2. If you have multiple adaptors. set a value for the HTTPPROXY.com/local-cgi-bin/someScript.ini file.pl . set the SERVER. The default Adaptor.pl http://myFMSServer. To enable HTTP proxying. JPG files.HOST parameter. and many other standard file types over HTTP. you can enable or disable proxying through the HTTPPROXY. 7 Restart the server. 5 Set the enable attribute of the HttpProxy tag to "true". ADAPTOR. open the file for the adaptor you want to configure.HOST = webfarm. as in the following: <HttpProxy enable="true" maxbuf="16384"> <Host port="80">${HTTPPROXY. The following default configuration proxies port 80 HTTP requests to local port 8134: HTTPPROXY.com/cgi-bin/someScript.5 CONFIGURATION AND ADMINISTRATION GUIDE 38 Configuring the server 2 Add port 80 to the ADAPTOR.com/app. HTTP connections by default use port 80. You can also remove the variable and set the value directly in the Host tag. Flash Media Server proxies HTTP connections to port 8134.HOSTPORT = :1935.swf http://myFMSServer.HOST variable in the RootInstall/conf/fms. 6 Save and validate the Adaptor. Configure HTTP proxying in the RootInstall/conf/fms. HTML files.xml configuration file in a text editor. Place files that you want to deliver over HTTP in the correct folders.com:80 Deliver SWF files and HTML files over HTTP Apache can deliver SWF files. set the parameter to the remote server you want to use: HTTPPROXY. Apache is configured to use following paths: Path / /cgi-bin /local-cgi-bin Location RootInstall/Apache2.HOST}</Host> </HttpProxy> Set the value of the HTTPPROXY. To allow Flash Media Server to serve media over HTTP when RTMPT is blocked.xml file.ini file.HTTPD_ENABLED = true 4 Open the Adaptor. Configure HTTP proxying Flash Media Server uses port 80 for RTMPT connections.ini file. By default. In the fms.xml file is located in the RootInstall\conf\_defaultRoot_ folder. You can also specify the port to proxy to or proxy to a remote server.HTTPD_ENABLED parameter to true: SERVER.2/webroot RootInstall/Apache2.HOST parameter. 80 3 To start and stop Apache when Flash Media Server starts and stops.Last updated 3/2/2010 FLASH MEDIA SERVER 3.HOSTPORT tag.2/local-cgi-bin Example URL http://myFMSServer.example.HOST = To proxy to a remote server.

2/cgi-bin folder is a CGI program. fcs.2/cgi-bin RootInstall/Apache2.org. are accessible only to Flash Media Server. To change the location of the cgi-bin or the local-cgi-bin. see the Apache HTTP Server version 2.2/conf/httpd. use custom aliases to give the HTTP virtual directories slightly different names from the RTMP applications.org. Apache attempts to execute the file RootInstall/Apache2.flv.example. To create a web directory for an application. . Create web directories for applications To have Apache serve content over HTTP. For more information about editing the configuration file. Reserved words cannot be used for directory names under the webroot directory or for anything else.9 documentation at www.pl. The following keywords are reserved words: open. Deploying CGI programs By default.Last updated 3/2/2010 FLASH MEDIA SERVER 3. To create aliases for application-specific folders.conf file.conf file. either use one of the predefined web directories or create a web directory for that application.2/conf/httpd.example. Any SWF files and HTML files you want to serve over HTTP must be in these folders or in application-specific folders.xml. Accessible only to Flash Media Server.2/cgi-bin/someScript.apache.com/cgi-bin/someScript.flv file from the RootInstall/applications/hd/streams/_definst_/ folder.2. send. Files in the local-cgi-bin folder. add an alias to the RootInstall/Apache2. if a client requests http://fms.com/hd/someVideo.5 CONFIGURATION AND ADMINISTRATION GUIDE 39 Configuring the server These folders are global. close.apache. If you have applications with these names. Apache serves it the someVideo. For example. edit the RootInstall/Apache2.conf file.2/local-cgi-bin Notes Accessible to anyone through an HTTP call. if a client requests the URL http://fms. If you have a CGI program used by server-side ActionScript.pl. see the Apache documentation at www. Apache assumes any file you place in the RootInstall/Apache2. such as “open_”. not application-specific. crossdomain. the following lines create an alias that points to the streams directory of an application called “hd”: Alias /hd/ "applications/hd/streams/_definst_/" <Directory "applications/hd/streams/_definst_/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow. fpad.deny Allow from all </Directory> Copy media files to the RootInstall/applications/hd/streams/_definst_/ folder to serve them over HTTP. Apache is configured with the following global aliases: Alias /cgi-bin/ /local-cgi-bin/ Path RootInstall/Apache2. idle. edit the httpd. Using Apache as a WebDAV host You can configure the web server to act as a WebDAV host. fms. on the other hand. For example. place it in the local-cgi-bin folder. For example. For information.

htm file in a web browser that has Flash Player installed.swf and fms_adminConsole.htm and fms_adminConsole.htm files are located in the RootInstall/webroot folder.htm files are located in the root installation folder. If you installed Apache with Flash Media Server.swf files in a browser with Flash Player. 1 To open the Administration Console.swf files to the Mac. monitor applications. Server administrators have access to all applications running on the server. By default. Connecting to the Administration Console About the Administration Console The Administration Console is an Adobe Flash Player application (fms_adminConsole. Connect to the Administration Console There are two types of administrators: server administrators and virtual host (vhost) administrators. and manage users. Entering localhost connects you to the default virtual host on this computer. copy the fms_adminConsole. you must enter the port number as well. for example. the fms_adminConsole. When you log in to the Administration Console as a virtual host administrator. the Administration Server must be running. which connects to Adobe Flash Media Server. .Last updated 3/2/2010 40 Chapter 3: Using the Administration Console Use the Adobe Flash Media Server Administration Console to maintain the server. do one of the following: • Type localhost if the server and the Administration Console are running on the same computer. Note: The Administration Console calls Administration APIs to inspect and manage the server.ini file. the Administration Server in installed on port 1111 (the default value at installation time). The Administration Console connects to Adobe Flash Media Administration Server. and you can only manage applications running on that virtual host. localhost:1234. 3 In the Server Address box. open the fms_adminConsole. • On Mac® OS. If the Administration Server is installed on a port other than 1111 (the default). The Administration Console remembers the server address for this server name the next time the console is opened. select Start > Programs > Adobe > Flash Media Server 3.swf) that lets you manage the server and view information about applications running on the server. 2 (Optional) Specify a server name.htm and fms_adminConsole. You can change the port number of the Administration Server after installation by editing the fms. Use the Flash Media Server Administration API Reference to build your own administrative applications. your session is specific to a virtual host. Open the fms_adminConsole. do one of the following: • On Windows. the fms_adminConsole. Otherwise. To log in to the Administration Console.swf and fms_adminConsole. • On Linux.5 > Flash Media Administration Console. Application developers can also use the Administration Console to debug applications. This name is an alias you can use to connect to a server quickly.

enter the fully qualified host name (for example.5 CONFIGURATION AND ADMINISTRATION GUIDE 41 Using the Administration Console • To connect to a virtual host other than the default virtual host. Note: The color of the vertical bar in the upper-right corner (next to the question mark icon) indicates whether the Administration Console is connected (green) or not connected (red) to a server. . 7 (Optional) Click Revert to return the Administration Console to its default settings. when logging in to a virtual host on the adaptor _secondAdaptor_. For example. The username and password are stored in the RootInstall/conf/fms.56.34. Otherwise. enter the username and password you received from the server administrator.myCompany. 4 Enter your username and password.78:1112) of the Administration Server to which you want to connect. Pause refreshing the Administration Console 1 Click the pop-up menu next to Refresh Rate (upper-right corner). • If you are connecting remotely by running the Administration Console on another computer. and select Pause. Ensure your computer has permission to connect to the specified port on the other computer.ini file. and passwords from the Administration Console. www. 5 (Optional) Select the Remember My Password option. Click the folder icon to display links to the Flash Media Server website and related resources. You can disconnect at any time by clicking Logoff. All custom resizing within the Administration Console is restored to the original state. Near the top of every screen of the Administration Console are two icons.xml file allow the connection from the other computer’s IP address. the vhost administrator JLee would enter the following information in the Username box: _secondAdaptor_/JLee. Also.) 8 Click Login.com) or the IP address and port number (12.htm and fms_adminConsole. or pause refreshing at any time. To log in to a virtual host that is not on the default adaptor. copy fms_adminConsole. (The Revert button. You can change the refresh rate to any time interval between 1 and 60 seconds. enter the administrator user name and password you entered during installation. does not affect the server. such as 10 seconds. you must specify the name of the adaptor. The host name must be mapped to a valid network IP address. check that the Administration Server has not been configured to prohibit connections from the specific domain or IP address you are using. Click the question mark icon to display links to Flash Media Server Help. enter the server’s name (FlashMediaServer. 6 (Optional) Select the Automatically Connect Me option. or make sure that this file is in the webroot directory so it can be accessed remotely.com).Last updated 3/2/2010 FLASH MEDIA SERVER 3. In both cases. Change or pause the refresh rate The information in the Administration Console panels refreshes every 5 seconds by default. To test this behavior on Windows. however. If you are the server administrator who installed the server. Reverting deletes all saved servers. verify that the Allow and Deny tags in the Users. scroll down.swf to the other computer. user names. To run the Administration Console from a computer other than the one in which the server is installed. you can edit your local hosts file at windows\system32\drivers\etc\hosts. Change the refresh rate of the Administration Console ❖ Click the pop-up menu next to Refresh Rate (upper-right corner) and select a new time duration.example.

5 Click New Instance. 3 To start refreshing information again. To cancel. A red border appears around the panels of the Administration Console to show that the refresh feature is paused. press Shift+Escape. 6 Select the application from the pop-up menu. click the pop-up menu and select a time duration. 3 Enter the administrator user name and password. From here.5 CONFIGURATION AND ADMINISTRATION GUIDE 42 Using the Administration Console 2 Click Pause Refresh to continue. 2 Enter the name and address of the server or virtual host to which you want to connect. Press Enter to submit the name and start the application instance. which can be edited.) 7 The Administration Console adds a default instance _definst_. Use the View Applications panel to view. (The application must already be configured on the server. . 4 Click View Applications. move to another panel and then back to refresh the console. or unload application instances. Inspecting applications View applications After connecting to a server or virtual host.Last updated 3/2/2010 FLASH MEDIA SERVER 3. the state of an application can be monitored. Manually load an application instance in the Administration Console 1 Follow the steps in “Connect to the Administration Console” on page 40. load. the Administration Console displays a panel that lists the currently running application instances. Note: If you add an application while the Administration service is running and the new application doesn't appear in the Administration Console.

End an application instance When an application instance is ended. • Click the Clients column header to sort by client. 4 Click Reload (circular arrow icon to the right of the Performance tab). 3 Select an application from the list. 4 Click Unload (stop icon to the right of the Performance tab) Viewing log messages for an application The Administration Console Live Log panel displays log messages and trace() statements from server-side scripts for the selected application instance. 1 Follow the steps in “Connect to the Administration Console” on page 40. 3 Select the application from the list. View information about an application 1 Follow the steps in “Connect to the Administration Console” on page 40. 3 In the applications list. such as total uptime or number of users Sort applications list 1 Follow the steps in “Connect to the Administration Console” on page 40. 3 Select an application from the list. do one of the following: • Click the Name column header to sort the applications list by name. 2 Click View Applications. 1 Follow the steps in “Connect to the Administration Console” on page 40. 2 Click View Applications. The following information is listed for the application on the different tabs: • Log messages generated by the application instance on the server • A list of clients connected to the application instance • A list of active shared objects for the application instance • A list of active streams for the application instance • Information about the overall state of the selected application instance.Last updated 3/2/2010 FLASH MEDIA SERVER 3. 2 Click View Applications. (If the console refresh feature is paused. 2 Click View Applications. log messages are still received. all users are disconnected and all instance resources are released. The information in this panel is updated whenever the application instance generates a log message.) .5 CONFIGURATION AND ADMINISTRATION GUIDE 43 Using the Administration Console Reload an application instance in the Administration Console Reload an application instance to reload the server-side scripts for the instance or to disconnect all of its users while immediately allowing new connections.

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 44
Using the Administration Console

Live Log panel

1 Follow the steps in “Connect to the Administration Console” on page 40. 2 Click View Applications. 3 Click Live Log. 4 Select an application from the list. 5 Type text in the Find text box and click Find Next. Use the Find Previous and Clear Log buttons as necessary.

Viewing active streams
Use the Administration Console Streams panel to view information about streams and to play streams.

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 45
Using the Administration Console

Streams panel

1 Follow the steps in “Connect to the Administration Console” on page 40. 2 Click View Applications. 3 Click Streams. 4 Select an application from the list. The Streams panel displays the following information:

• Name: For NetStream streams, the name is the NetStream ID (a server-generated number). For a live stream
being published, the entry displays the live stream name. For a recorded steam, the entry displays the FLV or MP3 filename; for example, flv:stream2.flv or mp3:sound.mp3. If a client requests the stream2.flv, there will be two entries: one for flv:stream2.flv (stored) and one for the actual network stream going to the client.

• Type: A string that describes the type of stream, either stored, live, or NetStream.
5 Select a stream to view its properties. The values of the properties are as follows:

• Name: The actual stream name, not streamID. • Status: States if the stream is publishing, playing live, or playing recorded. • Client: The client ID playing the stream. • Time: The time that the client started playing the stream.
Note: If the stream type is available for debugging, the Administration Console displays its properties in the adjoining panel. If the type is not available for debugging, an error message is displayed.
6 Click Play Stream to start playing the selected stream in a separate window that is the size of the selected stream.

(The Play Stream button appears only if a debug connection is possible. Only named streams can be played.)

Viewing active clients
The Administration Console Clients panel lists detailed information about all clients connected to an application.

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 46
Using the Administration Console

Clients panel

1 Follow the steps in “Connect to the Administration Console” on page 40. 2 Click View Applications. 3 Click Clients. 4 Select an application from the list. The following information is displayed:

• Client ID: The internal ID of the client; this represents a server-generated number that Flash Media Server uses
to identify each client.

• Protocol: The connection protocol that the client uses, such as RTMP. • Bytes In and Bytes Out: The average bytes per second being sent to and from the server. The Administration
Console calculates this ratio by dividing the total number of bytes received in the most recent 15 seconds by 15. When the panel first appears, these figures appear as pending because there is only one data point to start with; figures appear after the panel is open for 15 seconds.

• Connection Time: The date and time the client connected. • Messages In and Messages Out: The number of messages sent to or from the client. Messages In reflects update
requests sent from clients to the server; Messages Out reflects notification of successful updates sent from the server to connected clients.

• Drops: The number of messages dropped since the client connected. For live streams, audio, and video,
messages may be dropped; for recorded streams, only video messages are dropped. Command messages are never dropped.

Viewing active shared objects
The Administration Console Shared Objects panel lists the active shared objects for an application and can be useful when debugging an application. The information is automatically refreshed every 5 seconds, or click Refresh to refresh at any time. The Administration Console displays the name, type (persistent or temporary), and connections (number of users subscribed) of each shared object.

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 47
Using the Administration Console

Shared Objects panel

Note: The Administration Console was built using ActionScript 2.0 and cannot understand AMF3 data. Therefore, the Administration Console cannot display data in remote shared objects in applications built in ActionScript 3.0 unless the application sets the NetConnection.objectEncoding property to AMF0.
1 Follow the steps in “Connect to the Administration Console” on page 40. 2 Click View Applications. 3 Click Shared Objects. 4 Select an application from the list. 5 To display information about a shared object, click the object. The number of users currently connected to and

using the shared object is displayed, along with the data properties assigned to the shared object.

View performance information
The Administration Console Performance panel shows information about the overall state of the application instance. The information is automatically refreshed every 5 seconds, or click Refresh to refresh at any time.

) • Lifespan: The length of time the application instance has been running and the date and time it began to run. active clients. • Bytes Per Second: The average number of bytes sent per second for this application instance. these figures appear as pending because there is only one data point to start with. select Total and deselect In and Out to show only the total amount of bandwidth used. • Messages Per Second: The average number of messages (video frames. For example. • CPU and Memory Usage: The percentage of CPU and memory used by Flash Media Server. 2 Click View Applications. When the panel first appears. and command messages) sent per second.Last updated 3/2/2010 FLASH MEDIA SERVER 3. including data sent. data received. figures appear after the panel is open for 15 seconds. The Administration Console calculates this ratio by determining the total number of bytes received in the most recent 15 seconds and dividing that value by 15. 3 Click Performance. • Bandwidth: The amount of data that the application instance manages. (To determine why connections may have failed. look at the Live Log panel under View Applications. • Active Connections: The number of users currently connected to the application instance. 5 Select and deselect checkboxes to customize the information displayed on the graphs. 4 Select an application from the list. . audio packets. in the Bandwidth graph.5 CONFIGURATION AND ADMINISTRATION GUIDE 48 Using the Administration Console Performance panel 1 Follow the steps in “Connect to the Administration Console” on page 40. including the total number of clients who connected to the application instance since it started. and the number of users whose attempts to connect to the application instance were rejected. The following information is displayed: • Clients: Information about clients connected to this application instance. and the combined amount of data traffic.

. Server administrators can control all virtual hosts and perform server-level tasks.xml file to add server administrators 1 Open the RootInstall/conf/Users. The Allow. 2 Locate the UserList section. 2 Select the Manage Users tab.xml file. 3 Add a new <User></User> section for each server administrator you want to add.Deny</Order> </User> <User name="janedoe"> <Password encrypt="false">S4mpl3P4ss</Password> <Allow></Allow> <Deny></Deny> <Order>Allow. Deny. Add administrators Use the Administration Console to add server administrators Note: You must be a server administrator (not a virtual host administrator) to access the Manage Users tab. see the comments in the Users. such as restarting or shutting down the server.5 CONFIGURATION AND ADMINISTRATION GUIDE 49 Using the Administration Console Manage administrators About administrator roles Administrators are users who are allowed to log in to the Administration Console. You do not need to restart either server. There are two types of administrators: server administrators and virtual host administrators. The Administration Console adds the new user and password to the Users. The User name attribute specifies the user name. and Order elements specify the hosts from which the administrator can connect to the Administration Console. 3 Click New User.ADMIN_PASSWORD}</Password> <Allow></Allow> <Deny></Deny> <Order>Allow. 4 Enter the user name and password and click Save. they can reload or disconnect applications. Edit the Users. The following sample XML adds a user who can connect from any domain: <UserList> <User name="${SERVER. Virtual host administrators can manage the applications on their virtual host—for example. Server administrators can access and perform all operations on all tabs.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml file.ADMIN_USERNAME}"> <Password encrypt="false">${SERVER. The Password element specifies the password.xml file.Deny</Order> </User> </UserList> For more information. Virtual host administrators can access and perform operations on the View Applications tabs. 1 Log in to the Administration Console as a server administrator. They cannot manage servers or administrative users.

ADMIN_USERNAME}"> <Password encrypt="false">${SERVER. .sampleVhost. 5 Confirm the action.Last updated 3/2/2010 FLASH MEDIA SERVER 3. If the file doesn’t exist. 5 Type a new password. and Order elements specify the hosts from which the administrator can connect to the Administration Console. 4 Validate the XML and save the Users. 4 Click Delete This User Account On The Server. for example. 2 Locate the UserList section. RootInstall/conf/_defaultRoot_/www.xml. 2 Click Manage Users.xml file from the RootInstall/conf folder.xml file.Deny</Order> </User> <User name="vHostAdmin"> <Password encrypt="false">Ex4mpl3P4ss</Password> <Allow></Allow> <Deny></Deny> <Order>Allow. Deny. The Allow. The Password element specifies the password.ADMIN_PASSWORD}</Password> <Allow></Allow> <Deny></Deny> <Order>Allow. Reset user password 1 Log in to the Administration Console as a server administrator. 3 Add a new <User></User> section for each virtual host administrator you want to add.5 CONFIGURATION AND ADMINISTRATION GUIDE 50 Using the Administration Console 4 Validate the XML and save the Users.Deny</Order> </User> </UserList> For more information. 3 Select a user.xml file in the root folder of the virtual host.com/Users. 3 Select a user. The following sample XML adds a user who can connect from any domain: <UserList> <User name="${SERVER. Add virtual host administrators 1 Open the Users. 4 Click Reset The Password For This User. The User name attribute specifies the user name. 2 Click Manage Users. Delete user account 1 Log in to the Administration Console as a server administrator.xml file. copy the Users. Delete administrator accounts and reset passwords You must be a server administrator (not a virtual host administrator) to perform operations on the Manage Users tab. see the comments in the Users.xml file.

• Connect to the selected server.5 CONFIGURATION AND ADMINISTRATION GUIDE 51 Using the Administration Console Managing the server Monitoring server performance You can review the performance of individual servers or a group of servers using the Administration Console. • Review information about the applications located on the server or virtual hosts. • Review information about connections to the server. Manage Servers panel Use the small buttons at the top and bottom of the panel to perform the following tasks: • Add a new server to the list. • Edit server login information (user name and password) and select options such as remembering the password and automatically connecting when logging in to the server. • Delete a server from the list. A series of tabs is displayed along the top of the Manage Servers panel. From here. add serial keys. The panel lists the servers and virtual hosts that you can access and manage. • Review the access log and server log. • Review server licenses and. The servers are arranged in a tree structure.Last updated 3/2/2010 FLASH MEDIA SERVER 3. . if necessary. • Ping the server to verify that it is running. The Servers panel occupies the left side of the screen in this section of the Administration Console. you can perform the following actions: • Review the performance statistics for the computer where the applications are running.

1 Follow the steps in “Connect to the Administration Console” on page 40.5 CONFIGURATION AND ADMINISTRATION GUIDE 52 Using the Administration Console • Restart the server or a virtual host. 3 Click Connections. The following information is displayed for each client accessing the server or virtual host: • Server name • If connection has been made • Number of connections • Number of disconnections • Number of bytes in and out • Number of messages dropped Viewing application details The Administration Console Applications panel displays detailed information for all the applications running on the selected server or virtual host. 1 Follow the steps in “Connect to the Administration Console” on page 40. and CPU and memory resources consumed Viewing connection details The Administration Console Connections panel lists all client connections to the selected server. from memory. 3 Click Details. 3 Click Applications. 2 Click Manage Servers. 2 Click Manage Servers. . 4 Select a server from the list.xml configuration files.Last updated 3/2/2010 FLASH MEDIA SERVER 3. 2 Click Manage Servers. such as streams and application instances. • Run garbage collection to clear unused server resources. (Automatic garbage collection intervals can be set in the Server. 1 Follow the steps in “Connect to the Administration Console” on page 40.xml and VHost. The following information is displayed: • Total number of current clients • Life span of the server • Graphical displays of active connections. 4 Select a server from the list. bandwidth resources consumed. Viewing server details The Administration Console Details panel displays live information for the server.) • Stop a server or virtual host.

The name of each application. 1 Follow the steps in “Connect to the Administration Console” on page 40. is displayed: • Server name • Application name • Number of instances of the application that have been loaded on and unloaded from the server • Number of users that are connected • Number of users that have connected and disconnected • Number of instances currently active • Number of instances that have been unloaded from the server • Total number of connections that have been accepted or rejected for each application Viewing license files The Administration Console License panel is where you add serial keys. added by editing configuration files directly) to either fms. 6 Restart the server.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Add a serial key Add serial keys in the Administration Console License panel. 2 Click Manage Servers. the following information is displayed: • The individual serial key number • Authorized peak number of client connections • Bandwidth cap • Whether the license is valid (true) or not (false) Note: Your organization may have more than one license.xml file cannot be removed using the Administration Console. so note the capacity totals listed near the bottom of the Administration Console. 4 Enter the serial key number in the text boxes at the bottom of the Administration Console. 4 Select a server from the list. Note: Serial numbers that are added manually (that is. along with the following information. . The lower frame displays information about custom licenses. 2 Click Manage Servers. 3 Click License. 3 Click License.5 CONFIGURATION AND ADMINISTRATION GUIDE 53 Using the Administration Console 4 Select a server from the list. For each license. Only serial numbers that are added using the Administration Console can be deleted using the Administration Console.ini or the <LicenseInfo> tag of the Server. 1 Follow the steps in “Connect to the Administration Console” on page 40. The panel also displays detailed information for all serial keys authorizing you to run Flash Media Server on the selected server. 5 Click Add Serial Key.

4 Select a server from the list. 3 Click Server Log.5 CONFIGURATION AND ADMINISTRATION GUIDE 54 Using the Administration Console View the access log file The Administration Console Server Log panel displays messages that are written to the access log. 5 To locate a specific string. .Last updated 3/2/2010 FLASH MEDIA SERVER 3. Use the Find Previous and Clear Log buttons as necessary. 2 Click Manage Servers. type it in the Find text box and click Find Next. 1 Follow the steps in “Connect to the Administration Console” on page 40.

Note: In Adobe Flash Player 9 Update 3. see comments in the Server.xml file doesn’t exist.org. Administrators can use standard parsing tools to parse the log files.xml file controls the logging behavior. The location of each log file is determined by the Directory and FileName tags in the Logger.2/logs. The server outputs statistics about client connections and stream activity to access logs. For more information about Apache log files. access.xml files. For more information.xml and Logger. If the Scope tag is set to server. The log files track server activity. such as who is accessing the server.log Tracks information about users accessing the server.log Tracks information about activities in application instances. Configuration files for logging Use the Server. Logs are in W3C format. If the Scope tag is set to server.xml files are ignored. The logs are in the default Apache error and combined access log formats. the root Logger. Flash Player no longer notifies the server about pause events. the Logger. If the Scope tag is set to vhost. The Logging section also contains a Scope tag that determines whether the server writes separate log files for each virtual host or one file for the entire server.conf file. . application.XX. Flash Media Server handles log rotation for the Apache logs. The Logging section includes an Enable tag that determines whether the server logs events. The Apache logs are named access_log and error_log. how users are working with applications. you can place Logger. The server also maintains diagnostic logs and application logs for application activities.2/conf/httpd.apache. diagnostic logs Track information about server operations.xml configuration files to configure logging. Working with web server log files Flash Media Server installs with the Apache HTTP Server.xml and Logger. The default location of the Apache log files is RootInstall/Apache2. The Server. Working with log files About log files The server maintains several different types of logs. and general diagnostics. virtual host Logger.xml files installed in the RootInstall/conf directory. To change the location of the log files. see the Apache documentation at www. edit the RootInstall/Apache2.xml file in the RootInstall/conf folder determines the logging configuration for the whole server.Last updated 3/2/2010 55 Chapter 4: Monitoring and Managing Log Files Adobe Flash Media Server has a variety of log files to help you manage and troubleshoot the server.xml file contains a Logging section that controls logging behavior for the entire server.XX. If the Scope tag is set to vhost and a virtual host Logger.xml files in virtual host root folders to control the behavior of each virtual host.

the edge logs display only the highest IP version the socket listeners are using. Two types of rotation schedules can be established. and enclose numeric IPv6 addresses in URLs within brackets. setting daily at 00:00 rotates files every 24 hours at midnight.log files. For more information about using IPv6. the server creates a new file on the next log event.192.xx. You can move the current active file. For an example. Name. moving or deleting the oldest files. Note: Log file rotation cannot be disabled. However. move the log directory to a backup location. you need to activate IPv6 on the network interface card. see “Configuring IPv6” on page 30. edge.Last updated 3/2/2010 FLASH MEDIA SERVER 3. . Choose a large value for the MaxSize tag. The first option is to set a daily rotation at a certain time.5 CONFIGURATION AND ADMINISTRATION GUIDE 56 Monitoring and Managing Log Files Rotating and backing up log files Log files grow larger over time. Set the Schedule type to "duration" and choose a long maximum duration.xml file to specify a rotation schedule for log files. see the Logger. and that the Flash Media Server host has dual addresses and is listening on both interfaces.xml configuration files that effectively turn off rotation. and admin. For important log files. Use the rotation element in the Logger. enable Flash Media Server to listen on IPv6 sockets. For example.log. in Linux. even if the socket listeners accept connections over both IPv4 and IPv6. FMS detected IPv6 protocol stack! FMS config <NetworkingIPv6 enable=true> FMS running in IPv6 protocol stack mode! Host: fmsqewin2k3-02 IPv4: 10. The following x-comment fields from a sample edge log file indicate that the IPv6 stack and the IPv4 stack are available. You can write an operating system script to delete or back up the log regularly. host name. To use IPv6.xml file installed in the /conf directory. you can set values in the Logger. After following those steps.xx. set a rotation that occurs when the log exceeds a specified length. Alternatively.42 IPv6: fe80::204:23ff:fe14:da1c%4 Listener started ( _defaultRoot__? ) : 19350/v6 Listener started ( _defaultRoot__? ) : 19350/v4 Listener started ( _defaultRoot__? ) : 1935/v6 Listener started ( _defaultRoot__? ) : 1935/v4 Note: In Red Hat Linux. One option is to rotate log files. and all available IP addresses for the host in the master.xx. maximum file size in kilobytes. In the example above.log. and maximum number of log files to keep can also be customized using the rotation element.133. only the two /v6 entries would be displayed. see “Configuration files for logging” on page 55. but there are methods for managing log file size. Flash Media Server (when it starts) logs available stack configuration. For more information about the Logger.xml configuration files. Verifying IPv6 in log files IPv6 (Internet Protocol version 6) is a new version of the Internet Protocol that supports 128-bit addresses.

You can use the substitution string to customize the filename of the access log. with YYYY. and NN representing year. how much total bandwidth was consumed during the session. and which streams were accessed by the connection (and similar resource information). Access events defined in access logs Event connect-pending connect connect-continue Category session session session Description Client connects to the server. Logging can be customized to record all events or only specific events by editing the <Events> and <Fields> elements in the Logger. You can also configure the server to create a separate file per virtual host. play-continue. When logging is configured on a per-virtual-host basis. and publish-continue. such as when a user connected to the server. Substitution strings can be found in the [] brackets. and version. Client unpublishes a live stream.log could be named access. respectively. Client plays a stream.5 CONFIGURATION AND ADMINISTRATION GUIDE 57 Monitoring and Managing Log Files Access logs Reading access logs The access log records information about requests by Flash Player and Flash Media Server application instances. MM. You can also use this information to determine which applications are used most. all logs for a particular virtual host are found in a subdirectory within the logs directory. Logging events periodically for live and 24/7 applications Many companies use statistics from the access log to bill customers.2007052401.log. If your programming includes live events or 24/7 programming. A checkpoint event that provides updates of a corresponding publish event at intervals. You can use the status codes associated with specific events to troubleshoot event failures. A checkpoint event that provides updates of a corresponding connect event at intervals. Use the x-sid field (stream id) and the c-client-id field to find the corresponding publish event. you can enable checkpoint events. it defines events that can be recorded. date. the events you need to calculate billing might not occur within a billing cycle. Checkpoint events log bytes periodically from the start to the end of an event. DD.) Flash Media Server defines event categories. Using these logs. (For example.xml file to “vhost.[YYYYMMDDNN]. Client publishes a live stream. Client disconnects. Client connects to the server. The name of the subdirectory matches the virtual host name. and for each category.xml file. The following are available as checkpoint events: connectcontinue. The default access log is access.xx. set the value of the Scope tag in the Server. access. Use the c-client-id field to find the corresponding connect event.” (This is a separate scope tag just for logging. For information about configuring checkpoint events.Last updated 3/2/2010 FLASH MEDIA SERVER 3. You can configure how often the server logs checkpoint events.log. you can find out about various events. see “Enable checkpoint logging events” on page 29. To solve this problem. The default configuration creates a single access log per server. month. disconnect publish unpublish publish-continue session stream stream stream play stream . which is located in the RootInstall/logs directory. waiting for the client to be authenticated.) To configure the server to create separate log files for each virtual host.

the client sends a “seek” event.inBufferSeek=true (called a “smart seek”).inBufferSeek=true and the client seeks outside the buffer. This event occurs if an Authorization plug-in is present to handle the event. pause unpause client-pause stream stream stream client-unpause seek stream stream client-seek stream stop record recordstop start-transmit stream stream stream stream stop-transmit stream server-start server-stop vhost-start vhost-stop app-start app-stop auth-connect server server vhost vhost application application authorization auth-play authorization auth-publish authorization auth-seek authorization . Client connects to server. Client seeks in a stream and NetStream. Client jumps to a new location within a recorded stream. Use the x-sid field (stream id) with the c-client-id field to find the corresponding play event.0. Smart pause requires Flash Player 9.115. Server has stopped. Also fires when NetStream. A virtual host has stopped An application instance has started.0 and Flash Media Server 3 and later. This type of pause is called a “smart pause”.Last updated 3/2/2010 FLASH MEDIA SERVER 3. This command asks the server to suspend transmission until the client sends a “startTransmit” event because there is enough data in the buffer. Client plays a stream. If a client seeks outside the buffer. Client begins recording a stream. Client publishes a live stream. The stream position is logged in the “cspos” field. Client stops playing or publishing a stream. This event occurs if an Authorization plug-in is present to handle the event. Client pauses stream.5 CONFIGURATION AND ADMINISTRATION GUIDE 58 Monitoring and Managing Log Files Event play-continue Category stream Description A checkpoint event that provides updates of a corresponding play event at intervals. Client stops recording a stream. This event occurs if an Authorization plug-in is present to handle the event. The seek position when the client seeks within the buffer when NetStream. The stream position is logged in the “c-spos” field. This event occurs if an Authorization plug-in is present to handle the event. This command asks the server to transmit more data because the buffer is running low. Server has started.inBufferSeek=false. Client smart unpauses a stream. The server received a “startTransmit” command. The server received a “stopTransmit” command. The stream position is logged in the “c-spos” field. A virtual host has started. Client pauses a stream but the server still sends data to the client so the player has enough data to play when the client unpauses. Client resumes playing stream. An application instance has stopped.

Memory usage (as reported by the getServerStats() method). Logs data to the “x-codec-type” and “x-codec” fields. Time zone information. Application instance name. CPU load. Application names. Client begins recording a stream. For a stream. cs-bytes. Time the event occurred.” or “Pacific Standard Time” Field x-event x-category date time tz x-ctx s-ip x-pid x-cpu-load x-mem-load x-adaptor x-vhost x-app x-appinst x-duration Description Type of event. x-ctx. Duration of a stream or session event. Event category. This event occurs if an Authorization plug-in is present to handle the event. The publisher codec changes during a live event. For a complete description of the x-status codes and descriptions. Adaptor name. this value is the number of seconds the client has been connected.” “Pacific Daylight Time. The following formats apply to the fields in the table below: For date: YYYY-MM-DD For time: hh:mm:ss For time zone: string such as “UTC. For a session.5 CONFIGURATION AND ADMINISTRATION GUIDE 59 Monitoring and Managing Log Files Event filenametransform Category authorization Description A virtual stream path has been mapped to a physical location. Event-dependent context information. x-adaptor. Virtual host name. the data is wrapped in double quotation marks. auth-record authorization codecchange authorization Fields in access logs Note: When the data for this field contains a space or delimiter. but are present for better parsing of the data. The double quotation marks surrounding the data are not part of the data. This event occurs if an Authorization plug-in is present to handle the event. and xsname fields. sc-bytes. Server process ID. x-vhost. this value is the number of seconds the stream has played. c-user-agent. s-uri. x-status c-ip . see “Fields in diagnostic logs” on page 64. IP address or addresses of the server. This applies to the tz. c-referrer. This event occurs if an Authorization plug-in is present to handle the event.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Client IP address. Date of the event.

Stream position. subtract sc-stream-bytes in the “play” event from sc-stream-bytes in the “stop” event. Full path of the file representing the x-sname stream. To calculate the bandwidth usage per stream.Last updated 3/2/2010 FLASH MEDIA SERVER 3. such as MP3 files. subtract cs-stream-bytes in the “publish” event from csstream-bytes in the “unpublish” event. To calculate the bandwidth usage per session. subtract sc-bytes in the “connect” event by sc-bytes in the “disconnect” event c-connect-type Type of connection received by the server: Normal: Connection from a client. The query portion of s-uri. Stream type (FLV.5 CONFIGURATION AND ADMINISTRATION GUIDE 60 Monitoring and Managing Log Files Field c-proto s-uri cs-uri-stem cs-uri-query c-referrer c-user-agent c-client-id cs-bytes Description Connection protocol. To calculate the bandwidth usage per stream. This is a composite field: cs-uri-stem + x-sname + x-file-ext + x-sname-query. Stream length. in bytes. subtract cs-bytes in the “connect” event from cs-bytes in the “disconnect” event. This is a composite field: cs-uri-stem + x-sname + x-file-ext. Query portion of the stream URI specified in play or publish. Note: The value of sc-stream-bytes is not necessarily the same as the value of the QoS ByteCount property. The stem portion of the s-uri field. This information can be used to bill customers per session. Stream size. MP3. in milliseconds. x-service-name Name of the service providing the connection (only applicable to certain connection types). This field shows the number of bytes transferred from the client to the server. sc-stream-bytes This field shows the number of bytes transferred from the server to the client per stream. URI of the Flash Media Server application. in seconds. This information can be used to bill customers per session. URI of the referrer. This field shows the number of bytes transferred from the client to the server per stream. . such as Flash Player Group: Connection between an edge and an origin server Virtual: Client connection that goes through an edge server. or MP4). User agent. To calculate the bandwidth usage per session. using the group connection between the servers for transmission x-sname x-sname-query x-suri-query x-suri-stem x-suri x-file-name x-file-ext x-file-size x-file-length x-spos cs-stream-bytes Stream name. Same as x-sname-query. sc-bytes This field shows the number of bytes transferred from the server to the client. The value of sc-stream-bytes can be greater than x-file-size after streaming files not encoded in FLV format. Client ID.

Codec value of the “x-codec-type” retrieved in the Authorization plug-in’s E_CODEC_CHANGE event.5 CONFIGURATION AND ADMINISTRATION GUIDE 61 Monitoring and Managing Log Files Field x-sc-qos-bytes x-comment x-sid x-trans-sname x-trans-sname-query x-trans-file-ext x-plugin x-page-url x-smax-rec-size x-smax-rec-duration x-trans-mode x-offset c-spos x-eid Description Number of bytes sent to the client for quality of service. record stop. publish. The maximum duration of a recorded stream.Last updated 3/2/2010 FLASH MEDIA SERVER 3.log file. The URL of the web page in which the client SWF file is embedded.log file. The name of the stream that the server transitions from (the original stream). invalid parameter or client connected to server using an unknown protocol.log file. This field is empty in the access. play. connect. publish. Client disconnected due to server shutdown (or application unloaded). The client stream position when a “client-pause” or “client-seek” event is logged. stop play. This field is empty in the access. connect. The ID of a stream. Successful. This event is visible only in the auth. Application currently unavailable. x-codec-type x-codec Event status codes in access logs The Event status codes are based on HTTP response codes. stop connect connect. Connection rejected by application script or access denied by application.log file. Connection rejected by Authorization plug-in or connection rejected due to invalid URI. This ID is unique for the client session but not across sessions. unpublish. The maximum file size of a recorded stream. publish status_unauthorized 401 connect status_forbidden 403 . The query stream portion of the stream name for the stream that the server transitions from. play status_transition status_unavailable status_bad_request 200 210 302 400 A transition between streams has occurred. status_OK record.play2() call. The transition mode sent by the client in the NetStream. Client disconnected due to admin command. Bad request. When a stream is reconnected. Codec type of the frame retrieved in the Authorization plug-in’s E_CODEC event.log file. This field is empty in the access. the offset value indicates where to resume streaming. The file extension portion of the stream name for the stream that the server transitions from. Field connect pending disconnect disconnect Symbol status_continue status_admin_command status_shutdown Status Code 100 102 103 Description Waiting for the application to authenticate. An event ID received by Authorization plug-in. This field is only available in authorization (auth-) events.log file. Comments. Name of the plug-in. This event is visible only in the auth. This event is visible only in the auth. play.

5 CONFIGURATION AND ADMINISTRATION GUIDE 62 Monitoring and Managing Log Files Field connect. Bad gateway. Client is not connected or client terminated. play play connect. Message queue too large. Expected response not provided when command was issued. publish disconnect connect disconnect disconnect disconnect connect status_lic_limit_exceeded unsupported_type data_exceeded chunkstream_error cannot_broadcast cannot_screenshare remote_link_closed process_msg_failed 413 415 416 417 418 419 420 422 disconnect disconnect process_msg_exception process_remote_msg_failed 423 424 disconnect process_admin_msg_failed 425 disconnect process_rtmp_S2S_msg_failed 426 disconnect write_error 427 disconnect invalid_session 428 disconnect gc_client 429 disconnect disconnect remote_onstop remote_on_client_disconnect 430 431 disconnect gc_idle_client 432 disconnect disconnect disconnect swf_hash_fail swf_hash_timeout encoding_mismatch_error 433 434 435 disconnect. Unable to process message received when client connection was in pending or closed state. License to receive screen sharing video failed. Expected response not provided when issued an admin command. connect play. Upstream connection closed. publish Symbol object_not_found client_disconnect status_conflict Status Code 404 408 409 Description Application or stream not found. License limit exceeded. SWF verification failure. Unable to process unknown data type. Unsupported media type. Expected response not provided when command issued. disconnect the client. Client does not have privilege to broadcast. SWF verification timeout. Resource limit exceeded or stream is already being published. Client connection invalid. Error handling message. Client disconnected due to incompatibility with object encoding. Close downstream connection. Upstream connection closed because the last client disconnected. closed due to inactive or idle status. Unable to obtain ping response or client states not connected. Server internal error. unable to write data. Stream stopped because client disconnected. Flash Media Server autoclose feature automatically closed the connection.Last updated 3/2/2010 FLASH MEDIA SERVER 3. play connect server_internal_error bad_gateway 500 502 . Can also mean that a change has been made by the Authorization plug-in.

Last updated 3/2/2010 FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 63 Monitoring and Managing Log Files Field connect Symbol service_unavailable Status Code 503 Description Service unavailable. too many connections pending for authorization by access module. An unknown exception is thrown from the JS engine. Fields in application logs Field date time Event(s) All All Description Date of the event. ~fcstreamjshook() clean up. Time of the event.00. . located in the subdirectory within the Flash Media Server logs directory. Flash Media Server is configured.log. by default. for instance. The application folder is located in the matching virtual host directory.log. disconnect disconnect disconnect js_disconnect js_close_previous_client js_exception 600 601 602 disconnect disconnect play js_chunkstream_error js_debug_forbidden js_gc_object 603 604 605 Application logs Application log file The application log records information about activities in application instances. Bad application data. The default application log is application. Network connection was closed or reused.xx. to create one application log per application instance. Application disconnect. The “xx” in the filename is a two-digit number representing the history of the application log. This log is used primarily for debugging (logging uncommon events that occur in an application instance). The most recent logs can be found in application. Application does not allow debug connections.

edge. Status code: The code is a 10-character string that represents the severity. and httpcache.log.log. by default. All categories are listed in “Status categories in diagnostic logs” on page 65.Last updated 3/2/2010 FLASH MEDIA SERVER 3. . x-ctx All Event-dependent context information. and message ID. The last four characters represent message ID.xx.log. admin. All message IDs are listed in “Diagnostic Log Messages” on page 196. This log is used primarily for debugging (logging uncommon events that occur in Flash Media Server processes). The “xx” in the filename is a two-digit number representing the version of the log. as follows: (w) = warning (e) = error (i) = information (d) = debug (s) = trace from server-side script (_) = unknown The next three characters represent category. The default diagnostic logs are master.xx. For a list of messages that appear in the diagnostic log files. Time at which event occurred.log.xx. category. All the diagnostic logs are located in the Flash Media Server logs directory.xx. Flash Media Server is configured.xx.5 CONFIGURATION AND ADMINISTRATION GUIDE 64 Monitoring and Managing Log Files Field x-pid x-status Event(s) All All Description Server process ID. The first three characters represent severity.log. core. to create a diagnostic log for each type of process. Diagnostic logs Diagnostic log file The diagnostic log records information about Flash Media Server operations (this is in addition to the information logged by the operating system). Fields in diagnostic logs Field date time Event(s) All All Description Date on which the event occurred. see “Diagnostic Log Messages” on page 196.

The first three characters represent severity.Last updated 3/2/2010 FLASH MEDIA SERVER 3. x-stx All Event-dependent context information.5 CONFIGURATION AND ADMINISTRATION GUIDE 65 Monitoring and Managing Log Files Field x-pid x-status Event(s) All All Description Server process ID. as follows: (w) = warning (e) = error (i) = information (d) = debug (s) = trace from server-side script (_) = unknown The next three characters represent category. All message IDs are listed in “Diagnostic Log Messages” on page 196. All categories are listed in “Status categories in diagnostic logs” on page 65. and message ID. Status code: The code is a 10-character string that represents the severity. The last four characters represent message ID. Status categories in diagnostic logs Category 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 Description TCService TCServer Presence Storage Stream SMTP Adaptor JavaScript TCApplication TCConnector Admin SharedObject Configuration VirtualHost SSL . category.

Start. stop. or Restart. • Select Flash Media Administration Server from the Services list and click Stop. or Restart.5 > Start Flash Media Server 3. 2 Change to the directory where the server is installed. or restart the server from the Services window 1 Choose Start > Control Panel > Administrative Tools > Services. Start and stop the server Start and stop the server in Windows Use one of the following methods to shut down or restart the server. or restart Flash Media Server 1 Log in as a root user.5 • Choose Start > All Programs > Adobe > Flash Media Server 3.5 > Start Flash Media Administration Server 3.Last updated 3/2/2010 66 Chapter 5: Administering the server Perform regular administrative tasks to keep the server running smoothly. Start.5 > Stop Flash Media Server 3.5 • Choose Start > All Programs > Adobe > Flash Media Server 3.5 Stop the server from the Start menu ❖ Do one of the following: • Choose Start > All Programs > Adobe > Flash Media Server 3. 2 Do one of the following: • Select Flash Media Server (FMS) from the Services list and click Stop. Start the server from the Start menu ❖ Do one of the following: • Choose Start > All Programs > Adobe > Flash Media Server 3. or restart the Administration Server 1 Log in as a root user.5 Start.5 > Stop Flash Media Administration Server 3. Start and stop the server in Linux Start. stop./fmsmgr server stop ./fmsmgr server restart Start. 3 Open a shell window and type one of the following: • • • ./fmsmgr server start . stop. .

what the response time is. 2 Enter . or restart the Administration Server using the command line 1 * cd /<the directory where FMS is installed>. Start. Check server health FMSCheck is a command line utility program that can be used to diagnose and determine server status. or restart Flash Media Server using the command line 1 * cd /<the directory where FMS is installed>. use Event Viewer to open a remote connection to the server. The tool is available for both Windows and Linux using different executable files. select Settings > Control Panel > Administrative Tools > Event Viewer./fmsmgr adminserver stop . bash. it does the following: • Checks the connection to any instance of an application • Checks all active instances of the server by connecting to those applications • Can publish and play a stream • Can play the available server-side stream for an application Note: Currently. The Users. 2 Enter . or Python. 3 Open a shell window and type one of the following: • • • ./fmsmgr adminserver restart Start. 2 Select the Application panel. stop./adminserver [start | stop | restart]. FMSCheck provides information about whether the server is running or not. A small video file for testing is included. FMSCheck is completely scriptable using the language of your choice. Checking server status View server events in the Windows Event Viewer The Windows Event Viewer can be used for tracking Flash Media Server activity and debugging server applications.5 CONFIGURATION AND ADMINISTRATION GUIDE 67 Administering the server 2 Change to the directory where the server is installed. To view the events from another Windows machine. such as Cscript. FMSCheck only supports RTMP connections and does not check for shared objects. C shell. stop. As a command line tool. (The following steps are accurate if you are working directly on the server.xml file must be configured to accept a connection from this tool (this configuration is required to use --allapps and its dependent commands). and which fmscore processes are not responding. The Event Viewer displays a list of events that the server generates. .) 1 From the Windows Start menu. When the tool connects to Flash Media Server. 3 Double-click an event generated by Flash Media Server to view details./fmsmgr adminserver start .Last updated 3/2/2010 FLASH MEDIA SERVER 3./server [start | stop | restart].

verify that the timeout value is adequate. which plays the file from the beginning. then you are effectively running in serial mode. run test. For example. and so on). such as authentication. This command is used along with --parallel. Values for start and duration must be in positive numbers or 0 and represent the number of seconds. and the duration. You can specify all to play the entire file. the existing file is overwritten. fmscheck -v . and -ahostport options in order to log in to the Administration Server. Running parallel without specifying max tests every application in parallel. an error is returned. The value of <sec> is in seconds. This command must be used along with --pubfile. the administrator must use the --auser. This command can take time to finish. only a positive number. The duration parameter is required. --apswd. Example: --app app1/inst1 Queries the Administration Server for active instances and makes a connection to each active instance. Allows the program to output a response to a file. This command is used with --allapps. If there is more than one application. a result cannot be provided. or all is allowed. If the file already exists and record is used. Example: --logfile output. Administrator must specify the application. Prints a version string. If you specify a very long stagger time (longer than the duration of the test).5 CONFIGURATION AND ADMINISTRATION GUIDE 68 Administering the server FMSCheck commands and options Option --host <hostname> --port <number> --app <app> Description Required.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Both record and append are optional. If neither is specified. running all of them in parallel may not be desirable. it is automatically played to verify the success of the publish operation. Example: --play foo 10 5 --allapps --help --logfile <file> --play <name> [start [duration]] --publish <name> <duration> [record|append] Publishes files to the server. If this option is not specified. This command must be used with --publish. if there is a large number of applications. Example: --pubfile input. connect to the second application.flv --publish output 10 --parallel [<max>] Allows the program to play multiple applications at the same time. Example: --host localhost Port number is optional. Indicate the maximum number of applications that can be run in parallel by specifying a value for max. Options are start and duration. to run 10 tests in parallel. Example: --publish foo -1 --pubfile <file> Specifies a filename. However. the name of the output file to be created on server side. and the default value is 1 second. In this case. The default value of start is any. If the program does not receive a response from the server within this interval. Displays Help for using FMSCheck.xml to accept connections from this program. run test. tells the program where to connect the server. Example: rtmp://host/app/inst?foo=abcd --query <" "> --timeout <sec> Specifies a timeout value. Example: --stagger 2 Allows you to input your own string for special purposes. The default value is 1935. You cannot give the play and publish commands at the same time. After the file is published. The administrator must configure Users.log Instructs the program to play video files. the default behavior is to record. zero. Example: --port 1935 Allows the program to connect to an application. in seconds. use the following: --parallel 10 --stagger <sec> Inserts a pause between tests. The default value of duration is 1 second. tests are run on each application serially (connect to the first application. Specify the name of the input video file residing on the client side.

txt All of the Windows examples can be adapted to Linux by using * .txt * fmscheck. Common problems include bad timestamps in the FLV file. Note: The FLVCheck tool does not correct FLV file content corruption.txt * fmscheck. The tool supports unicode filenames.5 CONFIGURATION AND ADMINISTRATION GUIDE 69 Administering the server Option --auser <username> --apswd <password> --ahostport <port> Description Specifies a user name for the Administration Server user. In addition.exe --host localhost --app app1 --logfile output.exe --host localhost --app app1 --pubfile foo./fmscheck instead of * fmscheck.exe --host localhost --allapps --auser admin --apswd admin --parallel 10 -stagger 2 --timeout 100 logfile output. File not found. The tool verifies that metadata is readable. and corrupted audio and video. Code 0 -1 -2 -3 -4 -5 -6 -7 Status Success. specifies an accurate duration. The FLVCheck tool can be used to analyze FLV files before they are deployed on Flash Media Server. Play failed. invalid onMetaData messages. Publish failed. .exe --host localhost --app app1 --play foo 0 10 --logfile output. Operation timed out. Example: --apswd admin Specifies the Administration Server port number.txt * fmscheck.Last updated 3/2/2010 FLASH MEDIA SERVER 3. the tool can also add or update metadata to reflect file duration correctly. The tool can then merge the server metadata with the data present in the file. At least one application failed.exe. Checking video files Checking FLV files created or modified with third-party tools Third-party tools are available to create and modify FLV files. Example: --ahostport 1111 Usage examples for Windows: • • • • * fmscheck. and checks that the FLV file is seekable by Flash Media Server. the default port is 1111. Connection failed. Example: --auser admin Specifies a password for the Administration Server. If the port number is not specified in the command line. Invalid command line argument.flv --publish bar 10 --logfile output. FMSCheck return codes Return codes for the FMSCheck tool report the status after the tool has been run. bad message headers. but some of the tools create files that do not comply with the FLV standard. The tool does fix metadata by scanning the Duration and Can Seek To End metadata fields.

.) When validating metadata. The --help option overrides this option. If the margin has not been exceeded. the absolute difference between metadata_duration and actual_duration is calculated and compared against the margin specified in this command. to check two files: flvcheck -f abc. Display warnings. (If the file contains no errors..264-encoded files or make any other fixes to MP4/F4V files. be returned. creates a new copy of the original FLV file in the same directory as the original. If the margin is exceeded. Treat warnings as errors. Option -f [ --file ] file .) Only the Duration and Can Seek To End metadata fields are corrected. that FLVCheck reports.) Sets the verbose flag. For MPEG-4–based container formats.flv . 2 Use the following syntax to run the FLVCheck tool: flvcheck [-option] <file . 1 Open your operating system’s command prompt and change directories to RootInstall/tools. A subset of the MPEG-4 standards are supported. with corrected metadata.. Description Specifies the path to the video file(s) being checked.> For example. Check a video file with the FLVCheck tool The FLVCheck tool is a command line program./test/123.264-encoded video and HE-AAC-encoded audio within an MPEG-4–based container format. Note: The FLVCheck tool does not correct corrupted H. Relative paths may be used. Displays an example and information about command-line parameters. To get the exact duration. (FLV files only) If a metadata tag is corrupted. -v [--verbose] -V [ --version ] -n [ --nobanner ] -h [ --help ] -d [ --duration ] -q [ --quiet ] Specifies that only the status code. the server logs a warning that the metadata duration is incorrect. Provides a description of options and an example. -w [ --warnings] -W [--warnings_as_errors] -s [ --fixvideostall ] -u [ --usage ] -m [ --fixmeta ] .5 CONFIGURATION AND ADMINISTRATION GUIDE 70 Administering the server Checking other video files Flash Media Server supports playback and recording of H. in seconds.flv The following table describes the command line options available. a backup file is not created. not the text output. All MP4 files and Adobe F4V files are part of the supported subset.Last updated 3/2/2010 FLASH MEDIA SERVER 3. use the FLVCheck tool to verify that the server can play back your files. Turns off header. nothing will be logged. Specifies the margin of error.. specify -d 0. (Avoid using the “\\xd3 character.. the executable is named flvcheck. Prints version information. Fix a stall in video playback (FLV only). (The default is 2 seconds. try the “/” character instead.

but the tool cannot create a file with corrected metadata.5 seconds. -14 MP4 File does not contain any valid tracks. File does not contain a movie box. This error occurs if the MP4 file is empty. ErrorMessage. For example.5 CONFIGURATION AND ADMINISTRATION GUIDE 71 Administering the server 3 If the FLVCheck tool finds no errors in the FLV file. Found backward timestamp. . If a return code of -1 is returned. Flash Media Server cannot read the file. Other types of errors cannot be fixed using the FLVCheck tool. This error could occur if the MP4 file contains audio or video encoded with unsupported codecs. The possible error numbers. This error occurs if you run the tool with the -m option set. Time. types of errors.flv -d 5 would allow the metadata duration to be inaccurate +/. Error numbers -2 -3 -4 -5 Error type General General General General Error messages Invalid file system path specified. File not found. Unrecognized message type. you can use the tool to try to correct the problem. an invalid command-line parameter was specified. Errors and warnings are logged in a log file (stdout).Last updated 3/2/2010 FLASH MEDIA SERVER 3. If there are one or more errors. the status code returned is 0. and messages are as follows. Cannot open file. Try the following: a Use the -m option to try to fix the metadata in the file: flvcheck -m <file> [-quiet] [-help] b Use the -d option to change the duration field margin of error. a positive number indicating the total number of invalid files found is returned. The duration field in the metadata may be inaccurate by a few seconds. Invalid FLV message footer. 4 (FLV files only) If an error is returned from an FLV file due to a metadata error. the error is logged to the stdout file in the following format: Date. flvcheck -f abc. Maximum allowed is 64. indicating that the encoding of part or all of the file is not compatible with the codecs that are supported. -15 MP4 Too many tracks. Invalid FLV data offset. File read error. MP4/F4V files cannot be fixed using the FLVCheck tool. -7 -8 -9 -10 -11 -12 -13 FLV FLV FLV FLV FLV FLV MP4 Invalid FLV signature. FLVCheck errors If an error is found. Unparsable data message. and FileName. -6 General Cannot create corrected file. ErrorNumber.

Flash Media Server cannot play back the track.5 CONFIGURATION AND ADMINISTRATION GUIDE 72 Administering the server Error numbers -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 Error type MP4 MP4 MP4 MP4 MP4 MP4 MP4 MP4 MP4 MP4 General MP4 MP4 MP4 MP4 Error messages Only one sample type allowed per track.. FLVCheck warnings Generally. Ignoring. Duplicate box. canSeekToEnd is false. Error reading MP4 tables. Box is too large. Found duplicate audio track. Max is 64. Time. Found duplicate data track.. Ignoring. warnings are informative and are not fatal errors. Track has unsupported sample type. Unsupported DRM scheme. but you may experience problems with playback. Unrecognized box. Invalid box version. Warning Message. Truncated box. This warning indicates that a track has an invalid video codec. . Invalid chapter time. Invalid movie time scale. Ignoring.. Warning number -100 -101 -102 -103 -104 -105 -106 -107 Warning type General FLV MP4 MP4 MP4 MP4 MP4 MP4 Message Metadata duration is missing or is incorrect.. Warning Number. Flash Media Server ignores (will not play back) tracks that are encoded with unsupported codecs. Warnings are logged to the stdout file in the following format: Date. File contains out-of-order movie fragments. and File Name. Found incomplete track. Flash Media Server will ignore the error that caused the warning and continue to load and play back the video or audio file. Too many tag boxes.. File appears to be FLV with wrong extension.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Found duplicate video track. -108 MP4 Invalid video codec. File contains unexpected movie fragments. Invalid number of data entries in box. Invalid sample size..

this is expected behavior. File is truncated.* 2 Run the cache. Manage the edge server cache in Windows You can create a weekly scheduled task to clear the edge server cache. Edge servers update the timestamp of a file each time the file is used. Box has extraneous bytes at end. Track contains unsupported sample flags. Audio messages found but audio flag not set.bat as the new file to run.bat file to empty the cache directory. 3 Select Control Panel > Scheduled Tasks > Add Scheduled Task. Invalid Track Extends Box. This warning indicates that a track has an invalid audio codec.bat file and verify that it deletes files in the cache directory.bat file has the following syntax: del /Q /S <cache_directory>\*. you must delete unused files to manage disk usage. Bad NellyMoser Frequency. Video flag set but no video messages found. 4 Select cache. File has unsupported metadata format. 1 Create a cache. You can use the timestamp to determine when a cached file was used. Video messages found but video flag not set. -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 FLV MP4 MP4 FLV FLV FLV FLV MP4 MP4 FLV MP4 MP4 MP4 Video may appear stalled due to lack of audio data. 5 Replicate this procedure on each edge server.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The entry in the cache. Audio flag set but no audio messages found. Will only be partially playable. Sample(s) skipped. Clearing the edge server cache Deleting files from the edge server cache Edge servers do not delete content automatically. . The directory structure remains and any files currently locked by the edge server are not deleted.5 CONFIGURATION AND ADMINISTRATION GUIDE 73 Administering the server Warning number -109 Warning type MP4 Message Invalid audio codec. Flash Media Server cannot play back the track. Track contains unsupported edit list. Missing FLV metadata.

You do not need to be a root user to use the Administration Console. If you remove a server service. You must be a root user to use the fmsmgr utility. stops. If <service_name> already appears in the fmsmgr tables. 4 Use the cron utility to schedule cache. Lists all the services installed. use the Administration Console. the corresponding Administration service is also removed. Starts. Removes the Flash Media Server service from the fmsmgr tables.5 CONFIGURATION AND ADMINISTRATION GUIDE 74 Administering the server Manage the edge server cache in Linux 1 Create a shell script named cache. including Administration services.sh to empty the cache directory.sh 3 Run cache. The <install_dir> parameter is the absolute directory path where you installed Flash Media Server.sh to run. Warning: Use this command only if you want to uninstall the server service. A root user must use the fmsmgr utility to start the Flash Media Administration Server before anyone can use the Administration Console. If <service_name> does not exist. the command fails. you still need to manually remove the installed files. stops. Sets the Flash Media Administration service to start manually. Command fmsmgr adminserver start|stop|restart fmsmgr server <service_name> start|stop|restart fmsmgr clearautostart fmsmgr list Description Starts. The cache.sh script has the following syntax: find <cache_directory> -name "*. see the documentation for your Linux distribution. or restarts Flash Media Administration Server.flv" -exec rm-f{}\. (For details about the cron utility.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The server name is fms by default.sh to verify that it deletes the correct files in the cache directory. or restarts a Flash Media Server service. Note: Running multiple Flash Media Server services concurrently is not supported. find <cache_directory> -name "*.) Managing the server on Linux Use the fmsmgr utility to perform basic management tasks for Flash Media Server running on Linux systems. For tasks not listed in the following table. 2 Verify that the script is executable by running the following command: $ chmod 700 cache.mp4" -exec rm-f{}\. . if you do not specify <service_name>. the old entry is updated with the new one. Syntax fmsmgr server <service_name> <cmd> For commands that use the <service_name> parameter.mp3" -exec rm-f{}\. Note: You can add any additional file types to the script. find <cache_directory> -name "*. fmsmgr remove fmsmgr add <service_name> <install_dir> Add a Flash Media Server service to the fmsmgr tables. such as adding users or checking the status of applications. such as starting and stopping the server and services. the command is performed on the name of the server you selected during installation. with additional information about services that are currently running.

Sets the Flash Media Server service to start automatically when the system is started. Sets the Flash Media Administration service to start manually.5 CONFIGURATION AND ADMINISTRATION GUIDE 75 Administering the server Command fmsmgr setadmin <service_name> Description Changes the default Administration service. Any installed Administration service can be used to administer one or more servers. The Administration service name is the same as the Flash Media Server service name. fmsmgr getadmin fmsmgr setautostart<service_name> fmsmgr clearautostart <service_name> fmsmgr suggestname Gets the name of the default Administration service. . Only one Administration service can be running at a time.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Suggests a service name that does not already appear in the fmsmgr tables.

it is assumed that you want to perform the command on the virtual host to which you connected when you logged in to Flash Media Server. and configure the server from an Adobe Flash Player or Adobe AIR client over RTMP or RTMPE or from a web client over HTTP. if you have.xml file that give you finer control over permissions. administrators are logged in to the “_defaultRoot_” adaptor. • If you do not specify an optional parameter. For example.HTTPCOMMAND_ALLOW}/Enable> <Allow>ping. enter method names in a comma-delimited list to allow HTTP requests to execute Administration API calls. When logging in to a virtual host not on the default adaptor. virtual-host administrators must specify the name of the adaptor. 4 In the <Allow> element. 3 Open the Users. Set permissions for Administration API method calls over HTTP Note: You do not need to set permissions to call methods over RTMP. The API is described in detail in Adobe Flash Media Server Administration API Reference. For example. The Flash Media Server Administration Console was built using the Administration API.HTTPCOMMAND_ALLOW parameter is set to true.xml file in the RootInstall/conf folder. For example. use your valid port number in all examples. the following code allows the ping() and changePswd() methods: <AdminServer> <HTTPCommands> <Enable>${USERS.Allow</Deny> </HTTPCommands> </AdminServer> Note: There are additional XML elements in the Users. For more information. Here are a few important tips for working with the Administration API: • Both Adobe Flash Media Server and Flash Media Administration Server must be running. a default value may be used depending on the method. manage. • By default.changePswd</Allow> <Deny>All</Deny> <Order>Deny. see “XML configuration files reference” on page 80. 5 Save the file and restart Flash Media Administration Server. 1 Open the fms. if you do not specify a virtual host in the scope parameter. .ini file in the RootInstall/conf folder. • This document assumes that you have not changed the default port number (1111) for the Administration Server.Last updated 3/2/2010 76 Chapter 6: Using the Administration API Working with the Administration API About the Administration API Use the Administration API to monitor. 2 Make sure that the USERS. the administrator JLee would enter the following information for the administrator user name parameter in the method call: _secondAdaptor_/JLee. when logging in (over RTMP using NetConnection) to a virtual host on the adaptor _secondAdaptor_.

"Hello World" 'String2' The only exceptions are the auser and apswd parameters. Note: You can construct an Administration API call from any language that can send HTTP requests.Success</code> <timestamp>10/3/2007 05:31:01 PM</timestamp> </result> Constructing an HTTP request string Many Administration APIs expect one or more parameters in addition to auser and apswd.2.32].[31. You can use either single quotation marks (') or double quotation marks (").bar:456} .34.4] ['abcd'.ini file. the following code calls the addAdmin() method: http://localhost:1111/admin/addAdmin?auser=adminname&apswd=adminpassword&username="joe"&pa ssword="pass123"&vhost="_defaultRoot_/foo.40] • Objects are passed as inline object literals.5 CONFIGURATION AND ADMINISTRATION GUIDE 77 Using the Administration API Call an Administration API method over HTTP 1 Verify that Flash Media Administration Server is running.com" • Strings are passed as literals surrounded by quotation marks.03 -45 Note: When a number is used for an application name. 3 The server sends the XML results back to the browser: <?xml version="1. {foo:123. • Arrays are passed as comma-separated values enclosed in square brackets. which should be passed without quotation marks. use the server address instead of localhost.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Substitute your administrator user name and password.3. This example uses a web browser because it’s the simplest client and good for testing purposes. which are located in the fms. For example. 2 Open a browser window and enter the following in the address bar: http://localhost:1111/admin/ping?auser=username&apswd=password If the web browser is on a different computer than Flash Media Server. Parameters passed in an HTTP request must adhere to the following formatting rules: • Name the parameters in the string. 245 1.myCompany. the application name must be included within quotation marks (" ") for methods such as reloadApp() and unload App() to work properly. • Numbers are passed as either integer or floating-point literals.0" encoding="utf-8" ?> <result> <level>status</level> <code>NetConnection.20.Call."hi"] [10. [1.

} } } The data is returned to the handler function in an information object. onGetAppStats(): ncAdmin. can connect to the server. and timestamp properties. in this example. a response object (if needed) and any parameters (if needed): ncAdmin. and vod is the name of the application instance from which to retrieve statistics. 1 In the client application. The following sample is built in Flash..text = "Info for "+appName.xml configuration file. 2 Call the NetConnection.connect() call to RTMPE.text). follow the instructions below.com/admin:1111. Create your first application This section contains the code for a simple Flash application that calls the getAppStats() method.description.call() method and pass it the Administration API method. create a NetConnection to Flash Media Administration Server. "MHill". code.Last updated 3/2/2010 FLASH MEDIA SERVER 3.ssn:"123-45-6789"} Call Administration API methods over RTMP or RTMPE To call the Administration API over RTMP or RTMPE. rtmp://www. "635xjh27"). All information objects have level. Some information objects have a data property (containing return data. specify the virtual host’s domain name or IP address as part of the URI— for example. Note: If you want to connect to a virtual host.myVhost.5 CONFIGURATION AND ADMINISTRATION GUIDE 78 Using the Administration API {user:"Joe". .call("getAppStats". an administrator user name.. new onGetAppStats().text = "Call failed: " + info. The getAppStats() method returns performance data for an application running on the server.call("getAppStats". function onGetAppStats(){ this. printObj(info. outputBox). . } else { outputBox. you need a Flash Player or AIR client. the response object onGetAppStats() captures the result of the call.Success"){ outputBox. new onGetAppStats(). ncAdmin. which typically provide information about errors. 3 Define a function to handle the information object returned by the Administration API method. Only valid administrators. often in an object or array) and description and details properties.code != "NetConnection.Call.text+ " returned:" + newline.onResult = function(info){ if (info. "vod"). you need a Flash Player or AIR client.connect("rtmp://localhost:1111/admin". and an administrator password. appName. but change the protocol in the example NetConnection. The following code creates a NetConnection for the administrator MHill with password 635xjh27 to the server on localhost: ncAdmin = new NetConnection(). Note: To call the Administration API over RTMPE. as defined in the Users. passing in three parameters: the URI of the Administration Server. To call Administration APIs over RTMP.

onRelease = function(){ doGetAppStats().connect("rtmp://localhost:1111/admin". } }.Last updated 3/2/2010 FLASH MEDIA SERVER 3. new onGetAppStats(). destination){ for (var prop in obj) { destination. 2 Enter the following code on frame 1 of a Flash file: /** Establishes the connection to Flash Media Server **/ ncAdmin = new NetConnection(). destination). 5 Run the sample Flash application and enter the name of the application you started in step 3 in the input text field."admin_name".onResult = function(info){ if (info. /** Makes the API call. printObj(info. } } } button_btn. start another Flash Media Server application.Success"){ outputBox. ncAdmin. or ActionScript 3.text). } else { outputBox.0."admin_pass").call("getAppStats". 4 Open the Administration Console to verify that the application you started in step 3 is running.text = "Call failed: " + info. destination. create an application with the following elements: • An input text field named appName • A button called button_btn • A multiline. dynamic text field called outputBox • A scroll component attached to the outputBox text field Note: Since this is a Flash Media Server application.0. // Replace admin_name and admin_pass with your // administrator name and password. if (typeof (obj[prop]) == "object") { // recursively call printObj printObj(obj[prop].code != "NetConnection.text = "Info for "+appName.description. "getAppStats" **/ function doGetAppStats() { function onGetAppStats(){ this.0. ActionScript 2. appName. } function printObj(obj. for example.text += "\t". 1 In Flash. you must create an application directory with the application name in the RootInstall\applications directory. . outputBox).Call.text += prop + " = " + obj[prop] + newline. } // Calls the getAppStats() API on the name of application // in the input text field // places the response in the onGetAppStats funtion ncAdmin. } 3 Before running this sample application.5 CONFIGURATION AND ADMINISTRATION GUIDE 79 Using the Administration API Note: You can call Administration APIs from applications written in ActionScript 1.text+ " returned:" + newline.

xml file. For example.60</Allow> See also Deny.xml file. adobe.60. 10.xml file. The name of the directory is the name of the adaptor. and/or full or partial IP addresses from which clients can connect to the server. More Help topics “Editing configuration files” on page 9 Adaptor. Allow A comma-delimited list of host names. if you want to use different digital certificates for different adaptors.xml file is the configuration file for individual network adaptors.xml file. Important: Some XML elements should not be configured without contacting Adobe Support.133. It determines the number of threads that can be used by the adaptor. edit the elements in its Adaptor.Last updated 3/2/2010 80 Chapter 7: XML configuration files reference Edit the configuration files in the RootInstall/conf directory to configure the server.xml file.yourcompany. Example <Allow>foo.com. the default adaptor included with the server at installation is named _defaultRoot_ and its directory is found in the conf/ directory. 10.1. Adaptor Root element.xml file. the communications ports the adaptor binds to. domain names. Order . Each adaptor has its own directory inside the server’s conf directory.xml file The Adaptor. see the RootInstall/conf/_defaultRoot_/Adaptor. Each adaptor directory must contain an Adaptor.com. To change an adaptor’s settings. These elements are marked with an Important note. and the IP addresses or domains from which the adaptor can accept connections. To see the element structure and default values in the Adaptor. Contains all the elements in the Adaptor. You can also implement SSL with the Adaptor.

60. Allow only HTTP 1.com. SetCookie. Redirect. Redirect. and/or full or partial IP addresses from which clients cannot connect to the server. Example <Deny>foo. Edges are defined in HostPort elements in the HostPortList container. MaxWriteDelay Enable Specifies whether or not to allow HTTP tunnelling connections. Disallow all HTTP tunnelling connections. Order Edge Container element. Contains elements that specify an edge to configure for HTTP tunnelling. Use the name specified in the HostPort element. MimeType. Important: Only one application can use a port at a time. This is the default value. adobe.1only keepalive Description Allow all HTTP tunnelling connections. if you configure Flash Media Server to use port 80 for HTTP tunnelling. the web server cannot use port 80. Example <Enable>true</Enable> See also IdlePostInterval. 10. NeedClose. Allow HTTP 1.60</Deny> See also Allow. Contained elements Enable. 10. WriteBufferSize. Each edge can have different HTTPTunnel configurations. IdleAckInterval.yourcompany. IdleAckInterval. domain names. These are the possible values for the Enable element: Value true false http1. MimeType. MimeType.1.0 keepalive connections.Last updated 3/2/2010 FLASH MEDIA SERVER 3. IdlePostInterval. For example. Attribute name A name identifying an edge.1 or HTTP 1. SetCookie.com.5 CONFIGURATION AND ADMINISTRATION GUIDE 81 XML configuration files reference Deny A comma-delimited list of host names.133. MaxWriteDelay . WriteBufferSize.1 tunnelling connections.

-443. To resolve this conflict. <EnableAltVhost>false</EnableAltVhost> See also HTTPTunnel. If you want to bind an adaptor to multiple IP addresses. If there are multiple HostPort elements.Last updated 3/2/2010 FLASH MEDIA SERVER 3. 80. If there are multiple HostPort elements. keep in mind the following: • There is a risk in assigning more than one adaptor to listen on the same IP:port pair.0. if you configure Flash Media Server to use port 80 for HTTP tunnelling. See also Redirect HostPort Specifies to which IP address and port(s) an adaptor binds.) RTMPS connection attempts to ports 1935 or 80 will not succeed. (A port is marked as secure by specifying a minus sign in front of the port number.1 on ports 1935. Each HostPort element corresponds to an FMSEdge process. where 443 is designated as a secure port that will only receive RTMPS connections. 80. and 443. The client will attempt to perform an SSL handshake that the server will fail to complete. Similarly.HOSTPORT parameter in the RootInstall/conf/fms. Example The following HostPort value instructs the adaptor to bind to the IP address 127. . The format is IP:port.. When assigning port numbers. SSL Host Redirects unknown requests to an external server. add a HostPort element for each IP address. the first adaptor to bind to the specified HostPort wins. The default value is :1935. each must have a different ctl_channel. don’t specify anything in front of the colon. ctl_channel The internal port that an FMSEdge (fmsedge in Linux) process listens on.. Flash Media Server logs a warning in the Access log file indicating that the specified IP:port is in use.port..5 CONFIGURATION AND ADMINISTRATION GUIDE 82 XML configuration files reference EnableAltVhost Determines whether an alternative virtual host may be specified as a part of the RTMP URL as query parameter rtmp://host1/app/?_fcs_vhost=host2. To bind to any IP address. This element is exposed as the ADAPTOR. For example. This does not apply to administrative connections. Attributes name A name to identify this HostPort element.port. each must have a different name.0. which are always on by default. and 443.80. The default value is false. If another process tries to bind to the same IP:port combination. it connects to an FMSEdge process on this internal port to establish a control channel.. a regular RTMP connection to port 443 fails because the server tries to perform an SSL handshake that the client fails to complete. a conflict results. the web server cannot use port 80. When an FMSCore process is started (fmscore in Linux). RTMP. where 443 is designated as a secure port that will only receive RTMPS connections. This value instructs the adaptor to bind to any IP address on ports 1935.ini file. • Only one application can use a port at a time.

0. For a response to be returned. The elements in this container list HostPort elements associated with this adaptor. the data is assumed to be an IP address and binds to port 1935.0. Example <HostPortList> <HostPort name="edge1" ctl_channel=":19350">${ADAPTOR.xx.-444</HostPort> </HostPortList> Contained elements HostPort HTTPIdent Configures the server to respond to or reject an HTTP identification request from a client.0. If the HTTPIdent function is enabled but no content is specified. Example <HTTPIdent enable="true"> <Company>Adobe System Inc</Company> <Team>Flash Media Server</Team> </HTTPIdent> The following is an example request: http://serverIP:1935/fcs/ident The following is an example response: .0.0. or there is a colon with no ports specified. When the enable attribute is set to true. all elements in the HTTPIdent section are returned as a response. Attributes enable A Boolean value specifying whether the server responds to an HTTP identification request (true) or not (false).0.Last updated 3/2/2010 FLASH MEDIA SERVER 3.log file.1:</HostPort> See also HostPortList HostPortList Container element.0.1 on port 1935: <HostPort>127.80. The following values instruct the adaptor to bind to IP 127.1</HostPort> <HostPort>127.5 CONFIGURATION AND ADMINISTRATION GUIDE 83 XML configuration files reference <HostPort>127.-443</HostPort> If there is no colon in the HostPort value. it logs the request to the edge. the HTTPIdent function must be enabled and the client must do a POST or GET for the "/fcs/ident" resource. which are added by the server.0. the <FCS></FCS> response is returned without content. The entire response is enclosed in <FCS></FCS> elements.1:1935. The default value is false.HOSTPORT}</HostPort> <HostPort name="edge2" ctl_channel=":19351">:1936. When the server receives an HTTP Identification request.

The default value is false. HTTPUserInfo HTTPNull Configures the server to respond to or reject an HTTP GET request for the “/” resource from a client. even if the <HTTPIdent2> tag or the enabled attribute is missing. the HTTPNull function is disabled. (This allows RTMPT connections to be redirected to a different server. For a response to be returned. If you are running Flash Media Server on Linux and have enabled IPv6 but are using an IPv4 hostname (a hostname that resolves to IPv4). RTMPT (Tunnelled Real-Time Messaging Protocol) can have difficulties working with load balancers. This function is available when using Flash Player Update 3 or later. an HTTP 404 response is sent in response to an HTTP GET request. If HTTPNull is disabled and the webserver is enabled.5 CONFIGURATION AND ADMINISTRATION GUIDE 84 XML configuration files reference <fcs> <Company>Adobe System Inc</Company> <Team>Flash Media Server</Team> </fcs> See also HTTPNull. Example <HTTPNull enable="false"> . The IP address can be explicitly configured and does not need to be the IP of the Flash Media Server machine. Attributes enabled A Boolean value specifying whether the server responds to a special HTTP identification request before making a RTMPT connection (true) or not (false). This causes the session to be split across machines.133. This feature is enabled by default. By default. HTTPTunnel.71</HTTPIdent2> See also HTTPNull.Last updated 3/2/2010 FLASH MEDIA SERVER 3.) If the tag is left empty. the HTTPIdent2 function must be enabled. the IP address is determined automatically.128. If a single RTMPT session consists of multiple socket connections. Example <HTTPIdent2 enabled="true">10. requests for the "/" resource are passed to the webserver. then use this tag to resolve RTMPTE and RTMPE connections more quickly: either set the enabled attribute to false or set it to true and set the value of the tag to the IP address to which you’re connecting. HTTPTunnel. When the enable attribute is set to true. each connection may be sent to any one of many Flash Media Servers behind load balancers. Using <HTTPIdent2> enables Flash Player to send a special HTTP request before connecting to Flash Media Server. HTTPUserInfo HTTPIdent2 Configures the server to respond to or reject a special HTTP request from the client before the client attempts to make a RTMPT connection to Flash Media Server. Attributes enable A Boolean value.

Example In the default Adaptor. Request proxying to a specific host can be further controlled based upon port on which the request arrived. The default value is true.xml file: <HttpProxy enable="true" maxbuf="16384"> <Host port="80">${HTTPPROXY. Note: Only one application can use a port at a time. MaxSize.xml file.HTTPPROXY.5 CONFIGURATION AND ADMINISTRATION GUIDE 85 XML configuration files reference HttpProxy Specifies whether the server proxies unknown requests to an external server. Contained elements Path.ini file.example. maxbuf The size of the io buffers. UpdateInterval . The elements in this section configure the incoming HTTP tunnelling connections to the adaptor. or replace the variable in the Adaptor. Attributes enable A Boolean value. For example. the web server cannot use port 80. Contained elements Enable HTTPUserInfo Container element.HOST = webfarm. Each edge can have different HTTPTunnel configurations. The elements in this section configure the absolute path to XML files and the cache settings. the value of the Host element is a variable from the fms.HOST}</Host> </HttpProxy> The IP address and port to which the server proxies unknown HTTP requests. The default value is 16384.Last updated 3/2/2010 FLASH MEDIA SERVER 3. as in the following: HTTPPROXY.ini file.com:80 If you do not specify an IP address or domain name.HOST = :8134 HTTPTunnel Container element. The following is from the default Adaptor.HOST in the fms. Flow control kicks in when the buffer in either direction fills up.xml file. the server uses a localhost port. For proxying to work. automatically handling the case when producers and consumers differ widely in bandwidth. if you configure Flash Media Server to use port 80 for HTTP tunnelling. HTTPTunnel/Enable must be set to true. You can set the value of HTTPPROXY.

Values that are too low may cause clients with very high latencies to become disconnected. use the combination 1024/2048. The values for this element and the IdlePostInterval element affect the latency observed by a client tunnelling into the server. An IdleTimeout of -1 indicates that idle tunnel sessions will not be disconnected. in seconds. IdleTimeout IdleTimeout Specifies the maximum inactivity time. in seconds. Values that are too high may result in disconnected sessions consuming server resources for longer than necessary. and that the receiving server is ready to accept transmissions. Example <IdlePostInterval>512</IdlePostInterval> See also IdleAckInterval. Applications that do not have high latencies can use the configuration 1024/2048. that such a session may remain idle before it will be automatically disconnected.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Applications desiring low latency may configure the combination of values 128/256 for IdlePostInterval and IdleAckInterval elements. For applications not sensitive to high latencies. for a tunnel session before it is closed. When a client using HTTP tunnelling disconnects unexpectedly. The default value is 512 milliseconds. An acknowledgement code is a transmission control character used to indicate that a transmitted message was received uncorrupted and without errors. IdleAckInterval . These elements should be configured at the same time. IdleTimeout IdlePostInterval Specifies the interval in milliseconds at which the client sends idle posts to the server to indicate that Flash Player has no data to send. Example <IdleTimeout>8</IdleTimeout> See also IdlePostInterval. The default setting for IdleTimeout is 8 seconds.5 CONFIGURATION AND ADMINISTRATION GUIDE 86 XML configuration files reference IdleAckInterval Specifies the maximum time in milliseconds the server waits before it sends an acknowledgement code for a client idle post. which provides medium latency. Low values reduce the latency but increase the network bandwidth overhead. their session may remain open for a long period of time after disconnecting. The default settings for the IdleAckInterval and IdlePostInterval elements provide medium latency and are set to 512/512 milliseconds. Applications desiring low latency may configure the combination of values 128/256 for the IdlePostInterval and IdleAckInterval elements. The value of IdleTimeout indicates the maximum time. <IdleAckInterval>512</IdleAckInterval> See also IdlePostInterval. Lower values reduce latency but increase the network bandwidth overhead.

When the cache size reaches the maximum size. Example <Edge name="Edge1"> <Enable>true</Enable> <IdlePostInterval>512</IdlePostInterval> <IdleAckInterval>512</IdleAckInterval> <MimeType>application/x-fms</MimeType> <WriteBufferSize>16</WriteBufferSize> <SetCookie>false</SetCookie> <Redirect enable="false" maxbuf="16384"> <Host port="80">:8080</Host> </Redirect> <NeedClose>true</NeedClose> <MaxWriteDelay>40</MaxWriteDelay> </Edge> You may want to use this sample code as a template for configuring each edge server. The default wait time is 40 seconds.Last updated 3/2/2010 FLASH MEDIA SERVER 3. See also HTTPTunnel . the value is 100. UpdateInterval MaxWriteDelay The HTTP tunnelling protocol ensures that a server will be able to write every four seconds. the server reduces the cache. Example <MaxFailures>2</MaxFailures> See also IdleAckInterval MaxSize Specifies the maximum number of HTTP requests the server keeps in the cache. Anomalous connections are closed after the specified wait time. which may continue to place writes in a queue. Example <MaxSize>100</MaxSize> See also Path. when connections close under abnormal conditions. By default. the notification may not reach the server. Occasionally. The default number of failures is 2.5 CONFIGURATION AND ADMINISTRATION GUIDE 87 XML configuration files reference MaxFailures Specifies the maximum number of failures an edge server may incur before it restarts.

+!*'() See also HTTPTunnel Order Specifies the sequence in which the server evaluates the Allow and Deny elements. and the special characters $-_. The alternative sequence Deny. Example <MimeType>application/x-fcs</Mimetype> See also HTTPTunnel NeedClose A Boolean value specifying whether or not HTTP 1. The server generally uses the MIME type specified by the incoming requests.0 non-keepalive connections are closed once the response is written.Deny</Order> The default sequence indicates that access to a server is denied unless it is specified in the Allow element. Example The following is the default sequence: <Order>Allow. The server uses the entry for the MIMEType element only if it is unable to determine the MIME type from the incoming requests. If the NodeID element is used. The default value is true. and 0-9.Allow indicates that access to a server is allowed unless specified in the Deny element and not specified in the Allow element. which closes the connections.Deny</Order> . The ID must contain URL-safe characters: alphanumerical A-Z.Last updated 3/2/2010 FLASH MEDIA SERVER 3. a following string of up to nine characters is prefixed to the tunnel session IDs and can be used by the load balancers to uniquely identify each node in the cluster. a-z.5 CONFIGURATION AND ADMINISTRATION GUIDE 88 XML configuration files reference MimeType Specifies the default MIME (Multi-purpose Internet Mail Extensions) type header sent on tunnel responses. Example <NeedClose>true</NeedClose> See also MaxWriteDelay NodeID Specifies a unique node identification that supports the implementation of load balancers. The following is the default sequence: <Order>Allow.

The wait time is specified in seconds. The number of failures is specified by the MaxFailures element. HTTP tunnelling must be enabled. Note: For redirection to work. the request is considered an error and the connection is closed. NeedClose ResourceLimits Container element. Example This example instructs the server to redirect unknown requests to the specified redirect host. Example <RecoveryTime>30</RecoveryTime> See also MaxSize Redirect Specifies whether or not the adaptor redirects unknown requests to an external server.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Flow control begins when the buffer in either direction fills up. An unknown request may connect only when it is the first request on a newly accepted connection. At any other time. See also MaxSize. Deny Path Specifies the absolute path of the folder where the server looks for XML files. Flow control automatically handles the request when the bandwidth resources for producers and consumers differ widely. <Redirect enable="false" maxbuf="16384"> <Host port="80">:8080</Host> <Host port="443">:8443</Host> </Redirect> See also MaxWriteDelay. . it is set to uInfo/ in the FMS install directory. it waits for the interval specified here before it restarts. By default.5 CONFIGURATION AND ADMINISTRATION GUIDE 89 XML configuration files reference See also Allow. The maxbuf attribute determines how big the IO buffers are. When an edge server fails. UpdateInterval RecoveryTime Specifies the number of seconds an edge server waits before restarting after a failure.

cookies are currently supported only on Flash Player 9.28 or later. RecoveryTime RTMP Container element. in Windows only. Contained elements RTMPE RTMPE Specifies whether encrypted RTMP (RTMPE) can be used.5 CONFIGURATION AND ADMINISTRATION GUIDE 90 XML configuration files reference The elements in this container configure the resource limits for the edge server. you should enable cookies when you deploy servers behind a load balancer. Note: For tunnelling connections. setting enabled to false will not allow RTMPE or RTMPTE on this adaptor. The elements in this section configure the incoming connections via the Secure Sockets Layer protocol.xml configure the server to act as an SSL-enabled server to accept incoming SSL connections. Contained elements MaxFailures. Example <RTMPE enabled="true"></RTMPE> See also RTMP SetCookie Specifies whether or not the server sets a cookie.0.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The elements in this container determine whether encrypted RTMP (RTMPE) and encrypted tunnelling RTMP (RTMPTE) can be used. RTMPE is the encrypted RTMP protocol covering both RTMPE and RTMPTE. This element is enabled by default. The load balancer checks the cookie and sends requests with this cookie to the same server. The SSL elements in Adaptor. Example <SetCookie>false</SetCookie> See also NodeID SSL Container element. . If the server does not have an externally visible IP address. then for HTTP tunnelling to work. Keep in mind that the cookie adds to the HTTP header size and increases the bandwidth overhead. known as SSL.

specify the passphrase to use for decrypting the private key file in the SSLPassPhrase element. Example <SSLCertificateKeyFile type="PEM"></SSLCertificateKeyFile> The type attribute specifies the type of encoding used for the certificate key file.5 CONFIGURATION AND ADMINISTRATION GUIDE 91 XML configuration files reference You need to acquire a digital certificate to use SSL. it is assumed to be relative to the adaptor directory. Once you get your SSL certificate through a certificate authority. SSLCipherSuite. digest type.xml file. • Specify where to find the associated private key file in the SSLCertificateKeyFile element. encryption method. • Save the modified Adaptor. Example <SSLCertificateFile>c:\myCertFile</SSLCertificateFile> See also SSLCertificateKeyFile. such as Verisign. A component can be a key exchange algorithm. The following is a quick start to allowing SSL-enabled connections to the server: • to the SSL section of the Adaptor. a password must be specified for decrypting and placed in the SSLPassPhrase element described below. . SSLSessionTimeout SSLCipherSuite Specifies the suite of encryption ciphers that the server uses to secure incoming connections.xml file. authentication method. See also SSLCertificateFile. Contained elements SSLServerCtx SSLCertificateFile Specifies the location of the certificate to return to clients who want to make a secure connection to the server. SSLPassPhrase. SSLCipherSuite. If an absolute path to the key file is not specified. This element contains a list of colon-delimited components. If an absolute path is not specified. The encryption format is either PEM (Privacy Enhanced Mail) or ASN1 (Abstract Syntax Notation 1). • If the private key file is encrypted. you then use the SSL elements to configure the server for SSL. The default is PEM.Last updated 3/2/2010 FLASH MEDIA SERVER 3. or by creating it yourself with a product such as OpenSSL. or one of a selected number of aliases for common groupings. • Specify the location of the certificate in the SSLCertificateFile element. the certificate location is assumed to be relative to the adaptor directory. If this file is encrypted. SSLPassPhrase. SSLSessionTimeout SSLCertificateKeyFile This specifies the location of the private key file that corresponds to the public key in the certificate specified in SSLCertificateFile element.

The server does not require the full SSL handshake if the session is still valid. Contained elements SSLCertificateFile. SSLCertificateKeyFile. The default time period is 5 minutes. If the client connects to the same server again at a later time. the server sends back a session object to the client. SSLCipherSuite. this element is left blank. SSLCipherSuite. See also SSLCertificateFile. SSLSessionTimeout SSLPassPhrase Specifies the passphrase to use for encrypting the private key file. It is a base64 encoding that makes the password less readable. it can send back the cached session object. SSLCertificateKeyFile. which the client can place in the cache and reuse at a later time. If the key file is not encrypted. encode the password in base64 format and set the encrypt attribute to true. SSLSessionTimeout SSLSessionTimeout Specifies in minutes how long a SSL-based session remains valid. it must perform the full handshake. SSLPassPhrase. To prevent plain text passwords from appearing in the configuration file. The elements in this section control the incoming SSL configuration for this adaptor. SSLSessionTimeout SSLServerCtx Container element. After that first handshake. When a client connects to a server for the first time. Example <SSLCipherSuite>ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH</SSLCipherSuite> See also SSLCertificateFile. it is not a true encryption. Example <SSLPassPhrase encrypt="true">dGluY2Fu</SSLPassPhrase> The encrypted password is equivalent to the plain text format: <SSLPassPhrase>tincan</SSLPassPhrase> or <SSLPassPhrase encrypt="false" >tincan</SSLPassPhrase> Even though the element attribute is named "encrypt".5 CONFIGURATION AND ADMINISTRATION GUIDE 92 XML configuration files reference Note: Contact Adobe Support before changing the default settings as listed in this example. . Specifies the password to use for decrypting the key file if the key file is encrypted.Last updated 3/2/2010 FLASH MEDIA SERVER 3. SSLCertificateKeyFile. SSL sessions are used to improve performance by avoiding the need to perform the full SSL handshake for every connection. SSLPassPhrase.

5 CONFIGURATION AND ADMINISTRATION GUIDE 93 XML configuration files reference Example <SSLSessionTimeout>5</SSLTimeout> See also SSLCertificateFile. • If an Application. Example <WriteBufferSize>16</WriteBufferSize> See also ResourceLimits Application.xml files cannot override that element’s setting. The Application. SSLPassPhrase. it is ignored. the settings in the Application. In most cases.xml file contains the settings for Flash Media Server applications. and bandwidth limitations.xml file in the application directory override settings in the Application. By default.xml file The Application. SSLCipherSuite UpdateInterval Specifies how often the server refreshes the cache content. SSLCertificateKeyFile. You can add an override attribute to certain elements in a virtual host’s Application. MaxSize WriteBufferSize Specifies the size of the write buffer in kilobytes. the location at which streams and shared objects are stored. the value is 5000 milliseconds.xml file. The default size is 16 KB. • If an element has the override attribute set to no. If you want to have different settings for a particular application. copy an Application. . application-specific Application. but not always.xml file in the virtual host directory configures the default settings for all applications within the virtual host.xml file in the virtual host directory. as in the following: <LoadOnStartup override="no">false</LoadOnStartup> The server uses the following rules when applying the override attribute: • When the override attribute is included in an element and set to no.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml file is located in the application directory and specifies a different value than the default for an element that cannot be overridden.xml file to the application’s registered application directory (/applications/app_name) and edit it to include the settings you want. in milliseconds. then all subelements also cannot be overridden. These settings include the size of the Server-Side Media ActionScript runtime engine. and the default is used. Example <UpdateInterval>5000</UpdateInterval> See also Path.

aggregate messages are broken up into individual messages before being delivered to clients.xml file is missing or invalid. Contained elements Checkpoints AccumulatedIFrames Container element. the LoadOnStartup element can be overridden. Note: By default. • To change an element so it cannot be overridden. which allows the values for the ClientToServer and ServerToClient elements nested in these sections to be overridden.xml file installed with Flash Media Server in the RootInstall/conf/_defaultRoot_/_defaultVhost_ directory. AggregateMessages (Queue) Container element. When the enabled attribute is set to true. it is ignored. Access Container element.5 CONFIGURATION AND ADMINISTRATION GUIDE 94 XML configuration files reference • If the default Application. the Bandwidth and BandwidthCap container elements include an override parameter set to yes. set the override tag to no in the uppermost tag. .dll file. contains an element that control the size of the aggregate messages. The default is false. the server will not start.Last updated 3/2/2010 FLASH MEDIA SERVER 3. MaxSize (AccumulatedIFrames) AggregateMessages (Client) Specifies whether or not to send aggregate messages to clients. It intercepts and examines each connection request to Flash Media Server to determine whether the connection should be accepted or rejected. Contained elements FolderAccess Access (Logging) Container element.xml configuration file is invalid. • All subelements under the LoadOnStartup element cannot be overridden. To see the element structure and default values. The elements in this section specify the maximum size and duration of intermediate frames a live stream can hold in the buffer. The Access plug-in consists of the libconnect. • If the user-specified Application. • If you omit the override attribute. When this setting is disabled. Contained elements MaxTime. see the Application. Contains elements that configure logging in the Access log. The Client element in this XML file includes an override="no" attribute by default. the server will deliver aggregate messages to clients that support them.

UnrestrictedAuth AllowDebugDefault Specifies the default value for application. When this setting is disabled. whether messages in the queue can be combined to form aggregate messages.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The default is true. By default. . The default value is false. when queuing is enabled. Example <AggregateMessages enabled="false"><\AggregateMessages> See also MaxAggMsgSize. The values for this element are described in the following table. When the enabled attribute is set to true (the default value). Example <Allow>true</Allow> See also Max. This is an opening that allows debug connections on a per application basis.5 CONFIGURATION AND ADMINISTRATION GUIDE 95 XML configuration files reference This element also specifies. The server attempts to send aggregate messages to supported clients whenever possible. the server creates aggregate messages. Flash Player has to negotiate a connection to Flash Media Server through an edge server. Flash Player communicates with the server using the RTMP protocol over port 1935. aggregate messages are always broken up into individual messages before being delivered to clients. HTTPTunnel. it will try again over ports 443 and 80 in an attempt to get around firewall settings. MaxMessageSizeLosslessVideo. Example <AllowDebugDefault>false</AllowDebug Default> See also MaxPendingDebugConnections AllowHTTPTunnel This element configures the server to allow HTTP tunnelling connections into this application. or use the HTTP protocol to transmit RTMP packets (called HTTP tunnelling) if there is a firewall that allows only HTTP content to be sent out to public servers. allowing HTTP redirects. In some cases. OutChunkSize Allow Specifies whether or not to allow the "following and Location:" header that is sent with redirection of an HTTP header. If that fails.allowDebug. which prevents TCP/IP connections over nonstandard ports.

Contains elements that determine whether or not to close idle clients automatically. AllowHTTPTunnel. Client. The server also writes a message such as “Client x has been idle for y seconds” in the core and event logs. Use the AutoCloseIdleClients element to specify how often the server should check for idle clients.xml. SharedObjManager.xml values override the Server. (Subsequently. you must enable the feature in the Server.xml file. Disallows tunnelling connections.xml file. The elements in this section specify the settings for audio streams on the server. See also Process. The Application. the values defined in the Server.xml values. HTTP.1 connections only. When a client has been idle longer than the maximum idle time (60 seconds by default). LoadOnStartup. StreamManager. The values defined in the Vhost. Password AutoCloseIdleClients Container element. The server closes the client connection to the server and writes a message to the access log.xml configuration file apply to all clients connected to the server. the feature is disabled. Allows HTTP 1.1only keepalive Description Allows tunnelling connections.xml values override the Vhost. the server sends a status message to the NetConnectionobject (the client).xml files or for individual applications in Application.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml file. SWFVerification Audio Container element.xml file. To configure the closing of idle connections. . Allows HTTP 1. Debug. JSEngine. Example <AllowHTTPTunnel>true></AllowHTTPTunnel> See also Allow Application This is the root element for Application. you can disable the feature for individual virtual hosts in the Vhost. MaxAppIdleTime. unless the values are defined in the Vhost. Contained elements CombineSamples. Once you enable the feature in the Server.xml.0 and 1.1 keepalive connections.xml configuration file apply to all clients connected to the Vhost.5 CONFIGURATION AND ADMINISTRATION GUIDE 96 XML configuration files reference Value true false http1. unless values are defined in the Application.xml values. A client is active when it is sending or receiving data. If the enable attribute is omitted or set to false. Set the enable attribute to true to close idle clients. SendSilence. The default value is false. The Vhost.

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 97
XML configuration files reference

Example
<AutoCloseIdleClients enable="false"> <CheckInterval>60</CheckInterval> <MaxIdleTime>600</MaxIdleTime> </AutoCloseIdleClients>

AudioSampleAccess
Allows the client application to access the raw uncompressed audio data in a stream. By default, this element is disabled. To enable it, set the enable attribute to true. In the tag, specify a list of semicolon-delimited folders to which client applications have access. When this element is enabled, all clients can access the audio data in streams in the specified folders. To enable access to all audio data streamed by the server, specify / in the tag. The folder path is restricted to the application’s streams folder or folders, so do not use absolute paths in the list of folders. While you can also enable access through Server-Side ActionScript, this element allows access to the data without requiring Server-Side ActionScript. You can also override this element with the Access plug-in or Server-Side ActionScript. Example If an application is configured to store streams in folders C:\low_quality and C:\high_quality, the configuration to allow access to sample those streams is as follows:
<AudioSampleAccess enabled="true">low_quality;high_quality</AudioSampleAccess>

See also
VideoSampleAccess

AutoCommit
Specifies whether shared objects are automatically committed when they have been changed. Setting this element to false disables Flash Player function for all shared objects within this instance. Note: If the AutoCommit function is disabled, the server-side script has to call the save function or the SharedObject.commit command for the shared object to persist; otherwise, all data will be lost when the application is shut down. Example
<AutoCommit>true</AutoCommit>

See also
StorageDir, DuplicateDir, ResyncDepth, LockTimeout, MaxProperties, MaxPropertySize

Bandwidth
Container element. The elements nested in this container specify the bandwidth settings for upstream (client-to-server) and downstream (server-to-client) data. By default, the Bandwidth element includes an override parameter set to yes, which allows the values for the ClientToServer and ServerToClient elements to be overridden as well.

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 98
XML configuration files reference

Contained elements
ClientToServer (Bandwidth), ServerToClient (Bandwidth)

BandwidthCap
Container element. The elements in this section specify the bandwidth settings that a user can set. By default, this element includes an override parameter set to yes, which allows the values for the ClientToServer and ServerToClient elements nested in this section to be overridden, too. Contained elements
ClientToServer (BandwidthCap), ServerToClient (BandwidthCap)

BandwidthDetection
Container element. This element contains settings for how the server detects bandwidth. Set the enable attribute to true or false to turn this feature on or off. The server can detect client bandwidth in the core server code (native) or in a server-side script (script-based). Native bandwidth detection is enabled by default and is faster than script-based because the core server code is written in C and C++. The server detects bandwidth by sending a series of data chunks to the client, each larger than the last. You can configure the size of the data chunks, the rate at which they are sent, and the amount of time the server sends data to the client. The following table lists the values available for the BandwidthDetection element.
Element
BandwidthDetection

Description Set the enabled attribute to true or false to turn this feature on or off. The maximum rate in Kbps at which the server sends data to the client. The default value is -1, which sends the data at whatever rate is necessary to measure bandwidth. The amount of data in bytes that the server sends to the client. To detect the client’s bandwidth, the server attempts to send a series of random blocks of data to the client, each time sending this much more data. For example, x bytes are sent, followed by 2x bytes, followed by 3x bytes, and so on until MaxWait time has elapsed. The number of seconds the server sends data to the client. Increasing this number provides a more accurate bandwidth figure but also forces the client to wait longer.

MaxRate

DataSize

MaxWait

Example
<BandwidthDetection enabled="true"> <MaxRate>-1</MaxRate> <DataSize>16384</DataSize> <MaxWait>2</MaxWait> </BandwidthDetection>

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 99
XML configuration files reference

Contained elements MaxRate, DataSize, MinBufferTime (Live)

Bits
This element contains the settings for Flash Player on the Windows and Macintosh platforms. Example
<Bits from="WIN 6,0,0,0" to="WIN 7,0,55,0">0x01</Bits> <Bits from="MAC 6,0,0,0" to="MAC 7,0,55,0">0x01</Bits>

See also
UserAgent

BufferRatio
Specifies the ratio of the buffer length used by server-side stream to live buffer. Example
<BufferRatio>0.5</BufferRatio>

See also
Server

Cache
Container element; contains elements that configure the cache setting for SWF verification. See also TTL, UpdateInterval

CachePrefix
Specifies the cache prefix that is passed from the origin server to the edge server. This element is set on the origin server. The edge server uses the value of this element as a relative path to locate the cache file defined in the CacheDir element. The type attribute provides additional specification for the cache prefix. The type attribute can be set to path or sname. The default is path. Examples
<CachePrefix type="path"></CachePrefix>

When the attribute type is path, the server appends the physical path of the recorded stream to the prefix.
<CachePrefix type="sname"></CachePrefix>

When the attribute type is sname, the server appends the stream name to the prefix. The cache prefix is any text with or without preset parameters. The prefix can be any name without special characters, such as \, :, *, ?, ", <, >, |. All parameters are surrounded by “?”. The server substitutes the actual names for everything specified within the “?”.

Last updated 3/2/2010

FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 100
XML configuration files reference

By default, the prefix is set to ?IP?.
Cache prefix
?IP? ?APP? ?APPINST? ?VHOST?

Actual name IP address of the server Application name Application instance vhost name

You can include the IP address in the prefix to avoid file collision. For example, the edge server might be connecting to two different origin servers with the same file in c:\data\foo.flv. Adding the IP to the prefix for these files points each file to the appropriate server. If you want more than one origin server to share the cache file, do not include the IP as a parameter. Remember the cache prefix is a relative path used by the edge server to look up the cache stream file. Examples The cache prefix creates a relative path in the edge’s CacheDir. All parameters are separated by \ or /.
<CachePrefix type="path">c:\fms\flvs\foo.flv. data/?IP?</CacheDir>

resolves to:
data/xxx.xxx.xxx.xxx/c/fms/flvs/foo.flv <CachePrefix type="path">?APPINST?/data</CacheDir>

resolves to:
app1/inst1/data/c/fms/flvs/foo.flv <CachePrefix type="path">origin1/data/</CacheDir>

resolves to:
origin1/data/c/fms/flvs/foo.flv

See also
StorageDir, DuplicateDir, CacheUpdateInterval

CacheUpdateInterval
This element defines the wait interval for updating cache streaming in the edge server. The interval is defined in milliseconds. The default value is 10 minutes. The minimum interval is 10 seconds. The maximum interval is 24 hours. Example
<CacheUpdateInterval>10</CacheUpdateInterval>

See also
StorageDir, DuplicateDir, CachePrefix

You can disable logging checkpoints for this application. a customer can set any bandwidth limit for their applications. you can enable checkpoint events. The default bandwidth is 1.250.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml file. The elements nested within this container configure the client. The following are available as checkpoint events: connect-continue. a customer can set any bandwidth limit for their applications. You can configure this value in the Bandwidth section of XML and in the BandwidthCap section of XML. but the values in the BandwidthCap section are not. HTTPTunnel. but cannot exceed the caps set by the ISP. and publish-continue. Example <ClientToServer>1250000</ClientToServer> See also ServerToClient (Bandwidth) ClientToServer (BandwidthCap) Specifies the maximum bandwidth a client can send to the server. Checkpoint events log bytes periodically during an event. You can configure this value in the Bandwidth section of XML and in the BandwidthCap section of XML. By default. ClientToServer (Bandwidth) Specifies the bandwidth the client can use for sending data upstream to the server. OutChunkSize. but cannot exceed the caps set by the ISP. Contained elements Bandwidth. For example. MsgQueue. The default bandwidth is 100.5 CONFIGURATION AND ADMINISTRATION GUIDE 101 XML configuration files reference Checkpoints Many companies use statistics from the access log to bill customers.xml file by default.000 bytes per second. Logging checkpoint events to the Access log is enabled in the Vhost. the Client element includes an override="no" parameter. The values in the Bandwidth section can be overridden.000. MaxMessageSizeLosslessVideo. or if the value is invalid. To solve this problem. Individual applications cannot override how the elements in the Client section are configured. play-continue. but the values in the BandwidthCap section are not. If your programming includes live events or 24/7 programming. Contained elements LogInterval Client Container element. BandwidthDetection. the events you use to calculate billing might not occur within a billing cycle. If the checkpoint interval is not specified in the Application. BandwidthCap. For example. This allows ISPs to host applications for customers and ensure that no customer abuses the bandwidth limit. the server uses the value set in the Vhost. This allows ISPs to host applications for customers and ensure that no customer abuses the bandwidth limit. . The values in the Bandwidth section can be overridden.xml file. or change the checkpoint interval of this application.000 bytes per second.

Contained elements MaxTimeOut (Connections). MaxSamples. followed by 2x bytes. HiCPU. The server conserves system resources by combining sound samples. MinBufferTime (Live) Debug Container element. including the maximum number of connections and the value for application. each time sending this much more data. x bytes are sent. MaxPendingDebugConnections . Reuse.5 CONFIGURATION AND ADMINISTRATION GUIDE 102 XML configuration files reference Example <ClientToServer>100000000</ClientToServer> See also ServerToClient (BandwidthCap) CombineSamples Container element. The elements in this section configure debug connections. Interface DataSize Specifies the amount of data in bytes that the server sends to the client. To detect the client’s bandwidth. Contained elements LoCPU. and so on until MaxWait time has elapsed. Example <DataSize>16384</DataSize> See also MaxRate.Last updated 3/2/2010 FLASH MEDIA SERVER 3. the server attempts to send a series of random blocks of data to the client. For example. Subscribers Connections Container element. Contained elements AllowDebugDefault. This strategy saves the CPU and bandwidth overhead when transmitting individual audio packets only. as it can cause latency. The elements in this section configure the HTTP connections for this application. Note: Use this strategy of combining sound samples advisedly during periods of high CPU usage.allowDebug. followed by 3x bytes.

the following XML disallows rtmp and rtmps and only allows clients to connect over rtmpe: <DisallowedProtocols>rtmp. Specifying a positive value scans that number of subfolder levels. the server uses the value immediately lower than the one specified in the Scope tag. See also Enabled DirLevelSWFScan Specifies the number of levels of subfolders within a parent folder to scan for SWF files. See also SWFFolder. With the default configuration. SWFVerification DisallowedProtocols Specifies which protocols cannot be used to connect to an application. which specifies the maximum number of processes to run concurrently. for all your applications and application instances under a single virtual host. The default value is 1. Note: There is no limit to the value of the numprocs attribute. This tag contains a numprocs attribute. The following table lists the values available for the Distribute element: . apps. Scopes have an enclosing relationship with a strict ordering: adaptors contain virtual hosts. Specify protocols in a comma delimited list. or clients. rtmps. which allows all protocols to connect to the server. Distribute Specifies how to distribute application instances to processes. Specifying rtmpe includes rtmpe and rtmpte connections. so systems that use multiple virtual hosts will generate more running processes. The default value is false. if the value of Scope is adaptor. If the value of Scope is app. three core processes will run. The default value of the numprocs attribute is 3. Specifying zero scans the parent folder and no subfolders. which contain instances. but you should never need more than 40.5 CONFIGURATION AND ADMINISTRATION GUIDE 103 XML configuration files reference Diagnostic Specifies whether diagnostic logging for the message queue is enabled. In other words. For example. The value of the Distribute tag must be a scope that is lower in order than the value in the Scope tag. the numprocs attribute must be set to a value higher than 0 or 1. The default value is insts. meaning each application instance runs in its own process. which means that the server scans only one subfolder level. To use this feature. Each virtual host is allotted three core processes. which contain clients. or rtmpe. This feature is turned on by default. The parent folder is specified in the SWFFolder element. insts. which contain applications. Specifying rtmp includes rtmp and rtmpt connections. By default. the value of Distribute can be vhosts. the value of Distribute can be insts or clients.rtmps</DisallowedProtocols> The default value is blank. Any protocol not specified is allowed. Specifying a negative value scans all subfolder levels. You can specify rtmp.Last updated 3/2/2010 FLASH MEDIA SERVER 3.

clients Example <Distribute numproc="1"></Distribute> See also Scope. Example To include the application name in the paths for the backup files. The default wait time is 3 seconds. LifeTime. the messages wouldn't reach everyone in the chat because they’d be split into separate processes.xml file: one is in the SharedObjManager container and one is in the StreamManager container. RecoveryTime DuplicateDir Note: This feature has been deprecated.Last updated 3/2/2010 FLASH MEDIA SERVER 3. you must also set the Distribute numprocs attribute to a value greater than 1. There is effectively no maximum value (the maximum is the maximum value of a 32-bit integer). Each client connection runs in its own process. <DuplicateDir appName="true">c:\backupSharedObjects</DuplicateDir> <DuplicateDir appName="true">c:\backupStreams</DuplicateDir> See also StorageDir Duration This element instructs the server how long. Specifies the physical location where duplicate copies of shared objects or recorded streams are stored. Chat and gaming applications are not stateless because all clients share the application state.5 CONFIGURATION AND ADMINISTRATION GUIDE 104 XML configuration files reference Value vhosts apps insts Description All instances of applications in a virtual host run together in a process. if a shared chat application were set to client. Each application instance runs in its own process. Example <Duration>3</Duration> . This location must already exist when a shared object is copied to it. The minimum wait time is 1 second. MaxFailures. change the appName attribute to "true". Most vod (video on demand) applications are stateless because each client plays content independently of all other clients. in seconds. to wait before it notifies the client when the audio has stopped in the middle of a live or recorded audio stream. This location serves as a backup for shared object files and recorded stream files. All instances of an application run together in a process. This is one of two DuplicateDir elements in the Application. For example. This is the default value. Use this value for stateless applications—applications that don’t require clients to interact with other clients and don’t have clients accessing live streams. If you choose this value.

See also UserAgentExceptions . For On2 VP6. Keyframes improve the visual display of video files while seeking.0.0. a new keyframe is dynamically generated to provide smooth seeking to that index point. Example <EnhancedSeek>true</EnhancedSeek> See also KeyFrameInterval EraseOnPublish When set to true. The default value is true. the new keyframe is calculated and generated in Flash Player 9 Update 3 or later.28. Note: The server generates new keyframes for Sorenson Spark-encoded FLV files.0 as its UserAgent.28.5 CONFIGURATION AND ADMINISTRATION GUIDE 105 XML configuration files reference See also Password Enabled Specifies whether diagnostic logging for the message queue is enabled. For H. the server erases a recorded stream when a new publisher starts publishing. this setting is disabled and the server does not erase a recorded stream. For example. using a specific Flash Player will report WIN 9. Use the from and to attributes to indicate the lowest and highest versions to except. When set to true. See also Live (StreamManager) Exception This element indicates that a specific user agent is an exception to authentication.264-encoded video. This is a string comparison with editing to make all numeric fields equal length. the new keyframe is calculated and generated in Flash Player 9a or later. See also Diagnostic EnhancedSeek This element enables or disables fine-tuning of the seeking performance within streams by creating a keyframe. The server does not insert keyframes and all seeks begin at the nearest existing keyframe. By default.0" and only that version is an exception.0.28.0" and From="WIN 9. Add To="WIN 9.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The default value is false.

which allow access to a particular file only. Example <HiCPU>80</HiCPU> . The VirtualDirectory element nested within this container configures the JSEngine file object settings. which allows access to a particular directory. Contained elements VirtualDirectory FinalHashTimeout This element defines the maximum amount of time that a client can use to provide its final verification to the server. See also Queue. See also SWFVerification FlushOnData Specifies whether the server flushes the message queue when a data message arrives.5 CONFIGURATION AND ADMINISTRATION GUIDE 106 XML configuration files reference FileObject Container element. MaxQueueDelay. AccumulatedIFrames FolderAccess Configures the level of permission that the Access plug-in can set for accessing streams and shared objects. and folderlevel access (a value of true). MaxQueueSize. so the server can send out the messages immediately. Example <FolderAccess>false</FolderAccess> See also Access HiCPU This element instructs the server to start combining samples when CPU utilization is higher than the specified percentage of CPU resources. This element is important for streaming data-only messages. The default percentage of utilization is 80. See also SWFVerification FirstHashTimeout This element defines the maximum amount of time that a client can use to provide its first verification to the server.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The default is true. This allows two levels of permissions: file-level access (a value of false).

The frequency of polling affects both network performance and the efficiency of the HTTP protocol.5 CONFIGURATION AND ADMINISTRATION GUIDE 107 XML configuration files reference See also Subscribers. Password HTTP Container element. MaxSamples Host This element identifies the HTTP proxy. Contained elements HTTP1_0. Username. Verbose. The default is false. Selecting too small a delay value for the above parameters will increase the polling frequency and reduce network performance and efficiency. Redirect HTTP1_0 This element determines whether or not the server can use the HTTP 1. The following table presents these settings. Verbose.0 protocol. The tunnelling protocol is based on the client continuously polling the server. Example <HTTP1_0>false</HTTP1_0> See also HTTP.xml configuration file offers three settings for these parameters. Redirect HTTPTunnel Container element. The Application. Proxy. Example <Host>www. The elements in this section configure the HTTP connection settings for this application. The IdleAckInterval and IdlePostInterval elements control the polling frequency on a per-client basis. Selecting too high values can adversely affect the interactivity of the application and the server.0 protocol. Proxy.Last updated 3/2/2010 FLASH MEDIA SERVER 3.example. LoCPU. Tunnel. The port number can also be specified in the Port element. . disallowing the use of the HTTP 1.com:8080</Host> See also Port. Connections. The elements nested within this container configure the parameters for HTTP tunnelling (sending RTMP packets through HTTP). The value of the Host element can be the host name or an IP address. Type. Connections.

The server may respond sooner than the value of this element if it has data to send back to the client or if some other client is being blocked by the current idle request. Example <IdleAckInterval>512</IdleAckInterval> See also IdlePostInterval. Note: At times. the default value of 512 milliseconds is used. but posting is necessary to provide the server with an opportunity to send data downstream to the client. MimeType. IdleAckInterval. Example <IdlePostInterval>512</IdlePostInterval> . The interval cannot be set to a negative value. Idle posts are sent when Flash Player has no data to send. WriteBufferSize IdlePostInterval Specifies how long Flash Player should wait before sending an idle post to the server. The default interval is 512 milliseconds. MimeType. The interval for an idle post ranges from 0 to 4064 milliseconds. If the IdlePostInterval element is set to a value that lies outside of this range. WriteBufferSize IdleAckInterval Specifies the maximum time the server may wait before it sends back an ack (acknowledgement code) for an idle post sent by the client. the server will not be able to send any data to the client for the selected duration.Last updated 3/2/2010 FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 108 XML configuration files reference Acceptable Latency Low Medium High IdlePostInterval 128 milliseconds 512 milliseconds 1024 milliseconds IdleAckInterval 256 milliseconds 512 milliseconds 2048 milliseconds Example <HTTPTunnel> <IdlePortInterval>512</IdlePostInterval> <IdleAckInterval>512</IdleAckInterval> <MimeType>application/x-fcs</MimeType> <WriteBufferSize>16</WritebufferSize> </HTTPTunnel> Contained elements IdlePostInterval. This interval implies that the client may not be able to reach the server for the selected duration.

In the server Application. respectively: <JSEngine> <config> <user_name>jdoe</user_name> <dept_name>engineering</dept_name> </config> </JSEngine> .xml file in an application folder creates properties available for that application only.com</Interface> See also MaxTimeOut (Connections).example. with the values jdoe and engineering. Example <Interval>3</Interval> See also SendSilence JSEngine Container element.xml configuration files. Example <Interface>www. and the property value corresponds to the tag’s contents. Defining properties in an Application. The server only sends the silence message to clients specified in the UserAgent element in the Client section. or a host name. The elements nested within this container configure the JavaScript engine. To define a property. an IP address. Defining properties in the default Application. WriteBufferSize Interface This element defines the name to use as the outgoing network interface. The property name corresponds to the tag’s name. Silence messages are used to support older versions of Flash Player. Set this to 0 to disable silence message transmission. create an XML tag.Last updated 3/2/2010 FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 109 XML configuration files reference See also IdleAckInterval. you can define properties for the server-side Application object. The name can be an interface name.xml file creates properties available for all applications on a virtual host. Example The following XML fragment defines the properties user_name and dept_name. Reuse Interval Specifies the interval in milliseconds for sending silence messages when no audio is being published to a live stream. The default interval is 3 seconds. MimeType. Bit-flag 0x01 is used to control the silence message.

config.property. Note: Be aware of the correlation between file size and accuracy of seeking when you set this value. Setting a higher value for the interval. ScriptLibPath. This element determines the lifetime of core processes. RollOver Live (StreamManager) Container element. Contained elements AccumulatedIFrames. if this tag is unspecified or set to a value out of range. FileObject. set this element to a nonzero value.config. Process rollover happens only when the Scope element is set to inst. Queue. MaxTimeOut (JSEngine). StartClockOnPublish. PublishTimeout. the server uses a default value of 1000. MaxGCSkipCount. DuplicateDir. which is the recommended value. and the amount of time the server waits before allowing another publisher to take over a live stream.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Contained elements MaxCores. which is an increase of 13 KB. The elements nested within this container configure the intermediate frames in a live stream and the message queue. For example. CacheUpdateInterval LifeTime Container element. not from application. However. or 43%. XMLSocket. or 17%. The same video has a size of 109 KB with the KeyFrameInterval element set to 1000. however. a 15-second video with a file size of 76 KB is increased only to 89 KB when the KeyFrameInterval element is set to 5000. use the syntax in either of these examples: application. The initial value is 60000. Contained elements RuntimeSize. MaxLatency. Setting this element to a higher value than the initial value reduces the number of keyframes added to the FLV file and thus reduces the file size. The value of this element is defined in milliseconds.property.prop_name application.config["prop_name"] Note: The properties you define are accessible from application. EraseOnPublish . reduces the seeking accuracy.5 CONFIGURATION AND ADMINISTRATION GUIDE 110 XML configuration files reference To access the property in server-side code. To roll over such processes. which is an increase of 33 KB. Example <KeyFrameInterval>1000</KeyFrameInterval> See also StorageDir. NetConnection KeyFrameInterval This element defines how often to generate and save keyframes in an FLV file.

The default value is -1. StreamManager LockTimeout Specifies the timeout value before automatically unlocking a shared object if there is a client waiting for an update. MaxSamples Logging A container element. MinBufferTime (Live) LoadOnStartup This element determines whether or not the server loads an application instance when the server starts.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Example <LockTimeout>-1</LockTimeout> See also StorageDir. AutoCommit. . MaxProperties. The elements nested within this container configure live audio. JSEngine.5 CONFIGURATION AND ADMINISTRATION GUIDE 111 XML configuration files reference Live (MsgQueue) Container element. MaxAppIdleTime. MaxPropertySize LoCPU This element instructs the server to stop combining samples when CPU utilization is lower than the specified percentage of CPU resources. If you set this element to true. The default value is false. Example <LoadOnStartup>false</LoadOnStartup> See also Process. an instance of each application on the server will be loaded at start-up. The default percentage of utilization is 60. Example <LoCPU>60</LoCPU> See also Subscribers. The timeout value is specified in seconds. DuplicateDir. HiCPU. Contains elements that control the server logs. which instructs the server to wait for an indefinite time. ResyncDepth. Having an application instance loaded at server start-up saves time when the first client connects to that application. Contained elements MaxAudioLatency.

If the application instance is loaded with no clients connected. See also Queue. The maximum idle time is specified.5 CONFIGURATION AND ADMINISTRATION GUIDE 112 XML configuration files reference Contained elements Access (Logging) LogInterval The interval at which the server logs checkpoint events. MaxQueueSize. StreamManager.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The default is 600 seconds (10 minutes). See also Allow MaxAggMsgSize Specifies the maximum size in bytes of the aggregate messages created from the message queue. MaxQueueDelay. when aggregate messages are enabled. Time is expressed in milliseconds. LoadOnStartup. ApplicationGC MaxAudioLatency Specifies that live audio should be dropped if audio exceeds the time specified. JSEngine. Example <MaxAppIdleTime>600</MaxAppIdleTime> See also Process. FlushOnData. AccumulatedIFrames MaxAppIdleTime Specifies the maximum time an application instance can remain idle with no clients connected before it is unloaded from the server’s memory. in seconds. An application instance is evaluated as idle after all clients disconnect from it. See also Checkpoints Max This element defines the maximum number of redirects allowed. The default value is 4096. Example <MaxAudioLatency>2000</MaxAudioLatency> See also MinBufferTime (Live) . it is not evaluated as idle.

Note: The F_STREAM_RECORD_MAXDURATION field in the Authorization plug-in can override this value. CachePrefix. MaxSize (Recording) MaxDurationCap Specifies the cap on the maximum duration (in seconds) of a recorded file. Values set in the MaxDuration element or in Server-Side ActionScript cannot exceed this value. It is only applicable in edge servers. Example <MaxBufferRetries>128</MaxBufferRetries> See also StorageDir. This element allows ISPs to host applications for customers and ensure that no customer abuses the MaxDuration limit. MaxSizeCap. Note: The F_STREAM_RECORD_MAXDURATION field in the Authorization plug-in can override this value. The default value is -1. Setting the value -1 removes the maximum duration cap. See also MaxDurationCap. CacheUpdateInterval MaxCores The value of this element determines how many core processes can exist for an application. the MaxCores function is disabled. This configuration tag prevents the server from indefinitely trying to buffer data that is never delivered by the origin server. For more information on setting the maximum number of core processes.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The value -1 means there is no maximum duration. in seconds. of a recorded file. The value 0 disables recording. DuplicateDir. see “Configure how applications are assigned to server processes” on page 16. The default value is -1. RollOver MaxDuration Specifies the maximum duration. Setting the value 0 disables recording. Example <MaxCores>0</MaxCores> See also LifeTime. Set this parameter when you deploy a DVR application to prevent the disk from exceeding its capacity.5 CONFIGURATION AND ADMINISTRATION GUIDE 113 XML configuration files reference MaxBufferRetries Specifies the maximum number of attempts to start buffering stream data. The default value of 128 is sufficient in most cases. See also MaxDuration. a customer can set any MaxDuration for their applications. MaxSize (Recording) . For example. By default. but cannot exceed the MaxDurationCap set by the ISP. MaxSizeCap. The default value is zero.

5 CONFIGURATION AND ADMINISTRATION GUIDE 114 XML configuration files reference MaxGCSkipCount Specifies the maximum number of times that the server will skip garbage collection (GC) when the JS engine is busy.xml file. Having a time lag for recovery avoids a denial-of-service action. You can set the value in the Vhost.Last updated 3/2/2010 FLASH MEDIA SERVER 3. the server forces a GC regardless of the JS engine state. This value is set in the Server. See also AutoCloseIdleClients MaxInitDelay The maximum number of seconds used to process SWF files. Example <MaxInitDelay>5</MaxInitDelay> Example SWFVerification . This element determines the frequency of the garbage collection process.FileObject.xml file by default. which can happen when a faulty core consumes all CPU resources by repeatedly launching itself. Once the core processes are disabled. NetConnection MaxFailures The value of this element determines the maximum number of core process failures that can occur before a core process is disabled. XMLSocket. Example <MaxFailures>2</MaxFailures> See also Scope. Example <MaxGCSkipCount>-1</MaxSGCSkipCount> See also RuntimeSize. the server does not launch a core process until some minimum recovery time has elapsed.xml file to override the value set in the Vhost. You can set the value in the Application.xml file. By default. the JS engine does not necessarily perform GC when it is busy. the server forces a GC when the skip count exceeds the value in MaxGCSkipCount. MaxTimeOut (JSEngine). The default value is 5 seconds. ScriptLibPath.xml file to override the value set in the Server. However. If MaxGCSkipCount is set to 0. If MaxGCSkipCount is set to a positive value. so in some cases you must force the server to perform GC regardless of the JS engine state. RecoveryTime MaxIdleTime The maximum time a client can be idle before the server closes the connection. LifeTime. the server only performs GC when the JS engine is not busy. Distribute.

DuplicateDir. UserAgent MaxPendingDebugConnections Specifies the maximum number of pending debug connections. ResyncDepth. The minimum value is 0. Otherwise.5 CONFIGURATION AND ADMINISTRATION GUIDE 115 XML configuration files reference MaxLatency The maximum latency. AutoCommit. Example <MaxPropertySize>-1</MaxPropertySize> . (If the number is set to 0. To specify unlimited. Access. MaxPropertySize MaxPropertySize The maximum size in bytes for each property of a shared object. LockTimeout. debugging connections are disabled. use -1. The default value is 500.) Once the specified number is reached. the timestamp is the last message time. Example <MaxPendingDebugConnections>50</MaxPendingDebugConnections> See also AllowDebugDefault MaxProperties The maximum number of properties for each shared object. use -1. the oldest pending debug connection is rejected to create space. Example <MaxMessageSizeLosslessVideo>0</MaxMessageSizeLosslessVideo> See also OutChunkSize.Last updated 3/2/2010 FLASH MEDIA SERVER 3. If the injection time is larger than MaxLatency. of incoming messages in a live stream. To specify unlimited size. The default is 50. AccumulatedIFrames. this setting determines the timestamp of the message. Example <MaxProperties>-1</MaxProperties> See also StorageDir. the server adds the time difference between the last message time and the injection time to the timestamp of the data message. When a server-side script injects a data message into a live stream. in milliseconds. See also Live (StreamManager) MaxMessageSizeLosslessVideo Specifies the maximum size of messages for screen-sharing packets.

If the buffer size is larger than MaxSize. in kilobytes. AutoCommit. The buffer contains a history of the video messages up to the last keyframe. ResyncDepth. of intermediate frames that a live stream can hold in the buffer. See also Audio MaxSize (AccumulatedIFrames) Specifies the maximum size. FlushOnData. This enables clients to catch up to the latest message even if they join between keyframes. See also Queue. LockTimeout. DuplicateDir. MaxQueueSize. The default value is 4096. A value of 0 disables queuing. Example <MaxSize>-1</MaxSize> . The default value of -1 sends the data at whatever rate is necessary to measure bandwidth without throttling. The default value is 500 milliseconds. A default value of -1 means the size of intermediate frames is unlimited.Last updated 3/2/2010 FLASH MEDIA SERVER 3. in bytes. the server clears the messages. See also Queue. MinBufferTime (Live) MaxSamples Specifies how many sound samples can be combined into one message. Example <MaxRate>-1</MaxRate> See also DataSize. MaxProperties MaxQueueDelay Specifies how often the server will flush the message queue. FlushOnData. MaxQueueDelay.5 CONFIGURATION AND ADMINISTRATION GUIDE 116 XML configuration files reference See also StorageDir. This setting prevents the buffer from growing too large and should be set larger than the total size of intermediate frames between keyframes. AggregateMessages (Queue) MaxQueueSize Specifies how often the server will flush the message queue. The default number of samples is 4. AggregateMessages (Queue) MaxRate Specifies the maximum rate in Kbps at which the server sends data to the client. in milliseconds.

CacheUpdateInterval. This setting prevents the buffer from growing too large and should be set larger than the keyframe interval. a customer can set any MaxSize for their applications. LoCPU. the server clears the messages. The default value of -1 means the duration is unlimited. The value 0 disables recording. The buffer contains a history of the video messages up to the last keyframe. in kilobytes. Note: The F_STREAM_RECORD_MAXSIZE field in the Authorization plug-in can override this value. MaxDuration.5 CONFIGURATION AND ADMINISTRATION GUIDE 117 XML configuration files reference See also Subscribers. of intermediate frames that a live stream can hold in the buffer. MaxBufferRetries MaxTime Specifies the maximum duration. The default value is -1 (unlimited). in kilobytes. in seconds. Set this parameter when you deploy a DVR application to prevent the disk from exceeding its capacity. of a recorded file. This element allows ISPs to host applications for customers and ensure that no customer abuses the MaxSize limit. MaxDurationCap MaxSizeCap Specifies the maximum size cap. Example <MaxTime>-1</MaxTime> .Last updated 3/2/2010 FLASH MEDIA SERVER 3. If the duration in the buffer is larger than the MaxTime. See also MaxSize (Recording). CachePrefix. GC occurs during the application GC interval. Example <MaxStreamsBeforeGC>-1</MaxStreamsBeforeGC> See also StorageDir. The value -1 means there is no maximum size. MaxDuration. of a recorded file. The default value is -1. Note: The F_STREAM_RECORD_MAXSIZE field in the Authorization plug-in can override this value. The default value is -1. DuplicateDir. This enables clients to catch up to the latest message even if they join between keyframes. HiCPU MaxSize (Recording) Specifies the maximum size. The value 0 disables recording. The value -1 means there is no maximum size. For example. but cannot exceed the MaxSizeCap set by the ISP. See also MaxSizeCap. MaxDurationCap MaxStreamsBeforeGC Specifies that garbage collection (GC) should be forced if the stream list grows over the set value.

in seconds. but it also forces the client to wait longer. NetConnection MaxUnprocessedChars Specifies how much data can be received from an XML server (without receiving an end tag) before XMLSocket closes the connection. FileObject. but that number cannot exceed the number specified in this element. . The default value is 0 and no checks are performed to detect runaway scripts. If its execution takes longer than the maximum allowed time. a script can take to execute a JavaScript (Server-Side ActionScript) function. In a production environment.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The default time is 60 seconds. MaxGCSkipCount. Setting a maximum time to execute a script prevents infinite looping in scripts. Example <MaxUnprocessedChars>4096</MaxUnprocessedChars> See also XMLSocket MaxWait This element specifies the number of seconds to wait before the server sends data to the client. Operations such as DNS lock-ups may take more time. Example <MaxTimeOut>60</MaxTimeOut> See also Reuse. MaxGCSkipCount.FileObject. This can be overridden by each XMLSocket by specifying the property XML. Increasing this number provides a more accurate bandwidth figure. ScriptLibPath. Interface MaxTimeOut (JSEngine) The maximum time. Example <MaxTimeOut>0</MaxTimeOut> See also RuntimeSize. you should set this element to a more realistic value that does not impose limits on the time scripts take to execute. after the applications and scripts have been thoroughly tested. then the script is evaluated as a runaway script and its execution is terminated. This setting may be useful in a debugging environment. NetConnection MaxTimeOut (Connections) This element defines the maximum time for a transfer to be completed. If the value of this element is too low. XMLSocket. the risk of aborting correctly functioning operations increases.5 CONFIGURATION AND ADMINISTRATION GUIDE 118 XML configuration files reference See also RuntimeSize. XMLSocket.maxUnprocessedChars. ScriptLibPath.

Example <MinBufferTime>2000</MinBufferTime> See also MaxAudioLatency MinBufferTime (Recorded) Specifies the default buffer length in milliseconds for audio and video. The server generally uses the MIME type specified by the incoming requests. Example <MinBufferTime>2000</MinBufferTime> See also Recorded MinGoodVersion Specifies the minimum accepted version of SWF verification allowed by the server. Example <MinGoodVersion>0</MinGoodVersion> . which allows the current and all future versions. The server will use the entry for the MIMEType element only when it is unable to determine the MIME type from the incoming requests. WriteBufferSize MinBufferTime (Live) Specifies the default buffer length in milliseconds for the live audio and video queue. The default value is 0. Example <MimeType>application/x-fcs</MimeType> See also IdleAckInterval. DataSize MimeType Specifies the default MIME (Multi-purpose Internet Mail Extensions) type header sent on tunnel responses.5 CONFIGURATION AND ADMINISTRATION GUIDE 119 XML configuration files reference Example <MaxWait>4096</MaxWait> See also MaxRate.Last updated 3/2/2010 FLASH MEDIA SERVER 3. IdlePostInterval. The value cannot be set below this by Flash Player.

Setting this value to less than 64 may cause content with a low FPS to delay before starting. UserAgentExceptions MinQueuedVideo The minimum number of video messages to queue at the start of a stream. See also Server MsgQueue Container element. Recorded.5 CONFIGURATION AND ADMINISTRATION GUIDE 120 XML configuration files reference See also SWFFolder.objectEncoding property to either 0 for AMF0 or 3 for AMF3. .Last updated 3/2/2010 FLASH MEDIA SERVER 3. The Duration element nested within this container determines whether or not the server is notified when an audio transmission ending on a stream is encountered. This can be AMF0 or AMF3. Contained elements ObjectEncoding NotifyAudioStop Container element. The default value is 64. Contained elements Live (MsgQueue). The default can be overridden for each individual NetConnection by setting the NetConnection. Example <NotifyAudioStop enabled="false"></NotifyAudioStop> Contained elements Duration ObjectEncoding Specifies the default object encoding to use for SSAS NetConnection. Streams that use H. The elements nested within this container configure live and recorded audio.264 or any other pipelined codec need messages to begin playback. The element nested within this container specifies object encoding to use for SSAS NetConnection. This setting ensures that regardless of the buffer setting there are enough messages to begin playback quickly. The default is AMF3. Server NetConnection Container element.

BandwidthDetection. the chunk setting is capped at 1024 bytes. MsgQueue. SendDuplicateOnMetaData Password Specifies the password for connecting to the proxy. Port.Last updated 3/2/2010 FLASH MEDIA SERVER 3. SendDuplicateStart. If set to true. BandwidthCap.5 CONFIGURATION AND ADMINISTRATION GUIDE 121 XML configuration files reference Example <ObjectEncoding>AMF3</ObjectEncoding> See also NetConnection OutChunkSize Specifies the RTMP chunk size in bytes to use in all streams for this application. See also Host. Larger values reduce CPU usage but cause larger writes that can delay other content on lower bandwidth connections. See also Host. Type. The default value is 4096. Example <OutChunkSize>4096</OutChunkSize> See also Bandwidth. MaxMessageSizeLosslessVideo OverridePublisher Deprecated. The server breaks stream content into chunks of this size. Tunnel. Specifies whether a second client is able to take over the ownership of a live stream when the stream is already published by another client. see the PublishTimeout element. Username . Username Port Specifies the proxy port to connect to if the port is not specified as part of the host in the Host element. HTTPTunnel. add application logic to avoid stream name collision. Note that older clients might not support chunk sizes larger than 1024 bytes. Example <OverridePublisher>true</OverridePublisher> See also Audio. Tunnel. Live (StreamManager). The default value is false. Password. This can have a minimum value of 128 bytes and a maximum value of 65536 bytes. If the chunk setting is larger than these clients can support. Type.

RecoveryTime. Username. By default. which contain instances. or clients). which contain clients. Process rollover happens only when the Scope element is set to inst. Distribute. Proxy Container element. Scopes have an enclosing relationship with a strict ordering: adaptors contain virtual hosts. prioritization is set to false. MaxFailures. Specifies the lifetime of core processes. Distribute LifeTime MaxFailures RecoveryTime Contained elements Scope. The value of the Distribute tag must be a scope that is lower in order than the value in the Scope tag (for example. Messages are sent out through one channel and all messages have the same priority. which is the correct setting to avoid possible latency when server-side NetStream objects are used to publish messages to remote servers. the value of Distribute can be vhosts. If the value is set to true. The value for this element determines the maximum number of core process failures that can occur before a core process is disabled. Type. Specifies how to distribute application instances to processes. LifeTime. apps.5 CONFIGURATION AND ADMINISTRATION GUIDE 122 XML configuration files reference Prioritization Specifies whether outgoing messages are prioritized by message type when sending across a server-to-server connection. The following table lists descriptions of the contained elements. Port. Distribution may be turned off by setting numproc to 0 or 1. Tunnel. The elements nested within this container configure the HTTP Proxy settings. The elements nested within this container determine how a core process is managed. This setting is relevant for multi-point publishing. as follows (where 1 has the highest priority): 1 Data 2 Audio 3 Video See also Server Process Container element.Last updated 3/2/2010 FLASH MEDIA SERVER 3. the server sends messages through multiple channels and prioritizes messages based on the message type. Specifies the recovery time for a core. which contain applications. Value Scope Description Specifies the level at which application instances are assigned to core processes. insts. Contained elements Host. if the value of Scope is adaptor. Password .

flv for client 2.flv for client 1 and c:\video2\myStream. AggregateMessages (Queue) Recorded Container element. set the enabled attribute to false. MaxSizeCap . Contained elements MaxQueueSize.Last updated 3/2/2010 FLASH MEDIA SERVER 3. If the first publisher fails to respond within the time specified in this tag.5 CONFIGURATION AND ADMINISTRATION GUIDE 123 XML configuration files reference PublishTimeout Specifies how long in milliseconds the server waits to receive a response from a publisher when another client tries to publish to the same stream. the server allows the second publisher to take over the live stream. suppose client 1 and client 2 both request to play myStream. This tag is applicable when using the Authorization plug-in. The element nested within this container specifies the ratio of buffer length used by the server-side stream to the live buffer. Contained elements MaxDuration. You can map the stream differently for each client in the F_STREAM_PATH property of your Authorization plug-in code. To prevent the server from pinging the first client. MaxSize (Recording). QualifiedStreamsMapping Enables mapping of virtual stream paths to different physical locations. Queue Container element. The default value is 2000 milliseconds. disable this setting by setting the value of the tag to -1. You can remap the stream to c:\video1\myStream. A message queue is used to buffer incoming messages from the publisher so that the server can send messages in chunks to the subscribers. FlushOnData. an E_FILENAME_TRANSFORM event occurs in the Authorization plug-in. contains elements that configure the settings of the message queue. MaxDurationCap. When a client requests to play a stream. For example. The elements nested within this container specify the duration and file size of files recorded by the server.flv. If a client tries to publish to the same live stream that is being published by another client. To disable queuing. This tag replaces the OverridePublisher tag. MaxQueueDelay. You can disable queuing so that individual messages are immediately sent to subscribers. Flash Media Server pings the first publisher and waits to receive a response. Contained elements MinBufferTime (Recorded) Recording Container element.

The shared object is resynchronized when its version number is greater than the head version minus the current version. A value of 0 disables any checking for process failures. Example <Reuse>true</Reuse> See also MaxTimeOut (Connections). in seconds. The default is to reuse connections. Note: Loading an application with Flash Media Administration Server tools or APIs bypasses this check. LifeTime. MaxFailures Redirect Container element. Example <RecoveryTime>300</RecoveryTime> See also Scope. Interface . MaxProperties. DuplicateDir. MaxPropertySize Reuse This element configures whether or not the server explicitly closes the HTTP connection after each transfer. The server will not launch a core process until some minimum recovery time has elapsed.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The elements nested within this container configure the settings for redirecting the HTTP connection. which happens when a faulty core process consumes all CPU time by repeatedly launching itself. The time lag for recovery can avoid a denial-of-service action. UnrestrictedAuth ResyncDepth This element instructs the server to resynchronize a shared object file. Example <ResyncDepth>-1</ResyncDepth> See also StorageDir. The default value of -1 sends a resynchronized version of the file with every connection. AutoCommit. Set this to false to use a new connection after every transfer. LockTimeout. Contained elements Allow. The recovery time for a core process is specified.5 CONFIGURATION AND ADMINISTRATION GUIDE 124 XML configuration files reference RecoveryTime Specifies the recovery time for a core. Max. Distribute.

Settings made in an Application. MaxTimeOut (JSEngine). see “Configure how applications are assigned to server processes” on page 16. FileObject.exe (Windows) or fmsmaster (Linux). If your application consumes a significant amount of memory. Starting Flash Media Server starts a process called FMSMaster. The default value applies when the engine size lies outside of these limits. NetConnection Scope This element determines the level at which application instances are assigned to core processes. If you create a new script object that will cause the runtime size of the application instance to exceed the value of this element. The following table lists the values available for the Scope element. The lower and upper limits on the size of the JavaScript engine are 10 kilobytes and 51200 kilobytes (50 megabytes). an out-ofmemory error occurs and the application instance is shut down. which is the equivalent of 1 megabyte.5 CONFIGURATION AND ADMINISTRATION GUIDE 125 XML configuration files reference RollOver Specifies how many seconds a core process can be in use before the server creates a new core process. increasing the engine size to 30720 (30 MB) is sufficient to run intensive Server-Side ActionScript operations. The default size is 1024 kilobytes.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Only one master process can run at a time.xml file in an application’s folder apply only to that application. After the time limit for a core is reached. a new core is instantiated. In most cases. you must increase the engine size. The rollover functionality is disabled by default. but many core processes can run at the same time. . XMLSocket.xml file in a virtual host folder apply to all applications running in that virtual host. For more information on rollover processes. Application instances run in processes called FMSCore. Example <RuntimeSize>1024</RuntimeSize> See also MaxGCSkipCount. All subsequent connections are directed to the new core. Example <Rollover>0</RollOver> See also MaxCores RuntimeSize Specifies the maximum size in kilobytes that a particular application instance can use to run Server-Side ActionScript code before the server removes unreferenced and unused JavaScript objects. ScriptLibPath.exe (Windows) fmscore (Linux). The default value is 0 (seconds). Settings in an Application. The master process is a monitor that starts core processes when necessary.

If you choose this value. MaxFailures.asc or application_name.5 CONFIGURATION AND ADMINISTRATION GUIDE 126 XML configuration files reference Value adaptor vhost app inst Description All application instances in an adaptor run together in a process. All instances of a single application run together in a process. the script engine searches. FileObject. the list of paths specified in this element.x behavior and sends onMetaData based on the start position.Last updated 3/2/2010 FLASH MEDIA SERVER 3. no onMetaData is sent. MaxTimeOut (JSEngine). regardless of the command. Example <SendDuplicateOnMetaData>true</SendDuplicateOnMetaData> See also SendDuplicateStart . you must also set the Distribute numprocs attribute to a value greater than 1. in sequence.asc file is located. LifeTime. These paths are used to resolve a script file that is loaded with the load API. NetConnection SendDuplicateOnMetaData Specifies whether an onMetaData message is sent at the beginning of video files when the play and seek commands are called. If no onMetaData is found at the start position. Example <ScriptLibPath>${APP. The following values are available: • • • true sends onMetaData for the play and seek commands. false sends onMetaData for play only. XMLSocket. If the script file is not found there. RecoveryTime ScriptLibPath This element is a list of paths delimited by semicolons instructing the server where to look for server-side scripts loaded into a main. This is the default value. All application instances in a virtual host run together in a process.asc file with the load() method. The server first looks in the location where the main. once falls back to FMS 1. MaxGCSkipCount. Example <Scope>vhost</Scope> See also Distribute. The default value is true.JS_SCRIPTLIBPATH}</ScriptLibPath> See also RuntimeSize. Each application instance runs in its own process.

Prioritization ServerToClient (Bandwidth) Specifies the bandwidth in bytes per second that the server can use for sending data downstream to the client. a customer can set any bandwidth limit for their applications.Play. For example. including play. Contained elements BufferRatio. Contains two elements: BufferRatio.000 bytes per second. but the values in the BandwidthCap section are not. but cannot exceed the caps set by the ISP. seek. only the play command receives the start message. If set to false. The Interval element nested within this container configures the settings for sending silent messages. Contained elements Interval Server Container element. . You can configure this value in the Bandwidth section of XML and in the BandwidthCap section of XML. which specifies the ratio of the buffer length used by the server-side stream to the live buffer.5 CONFIGURATION AND ADMINISTRATION GUIDE 127 XML configuration files reference SendDuplicateStart Specifies whether status message NetStream. OverridePublisher SendSilence Container element.Last updated 3/2/2010 FLASH MEDIA SERVER 3. which specifies whether to prioritize outgoing messages for server-to-server connections. Example <SendDuplicateStart>true</SendDuplicateStart> See also SendDuplicateOnMetaData. and Prioritization. and unpause. The default bandwidth is 250. This allows ISPs to host applications for customers and ensure that no customer abuses the bandwidth limit. The values in the Bandwidth section can be overridden.Start is sent for all commands. Example <ServerToClient>250000</ServerToClient> See also ClientToServer (Bandwidth) ServerToClient (BandwidthCap) Specifies the maximum bandwidth in bytes per second that the server can use for sending data downstream to the client.

5 CONFIGURATION AND ADMINISTRATION GUIDE 128 XML configuration files reference The default bandwidth is 10. By default the physical location is not set.000 bytes per second. Example <ServerToClient>10000000</ServerToClient> See also ClientToServer (BandwidthCap) SharedObjManager Container element.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The elements in this section configure the Stream Manager settings for this application. . AutoCommit. To use dynamic. DuplicateDir. Set this element only if the files for shared objects or recorded streams must be stored in a location other than the application directory. For example. The elements nested within this container configure the Shared Object Manager setting of an application. MaxPropertySize StartClockOnPublish Specifies whether the stream time is sensitive to the difference between publish time and the arrival of the first stream message. Contained elements StorageDir. The default value is false. ResyncDepth. leave this value false. You can configure this value in the Bandwidth section of XML and in the BandwidthCap section of XML. but the values in the BandwidthCap section can not. a customer can set any bandwidth limit for their applications. See also Live (StreamManager) StorageDir Specifies the physical location where shared objects or streams are stored. multibitrate streaming. The values in the Bandwidth section can be overridden. MaxProperties. This allows ISPs to host applications for customers and ensure that no customer abuses the bandwidth limit. Example <StorageDir>C:\myapp\sharedobjects\</StorageDir> <StorageDir>C:\myapp\streams\</StorageDir> See also DuplicateDir StreamManager Container element. but cannot exceed the caps set by the ISP.000. LockTimeout.

MaxBufferRetries. SendDuplicateStart. SWF files located under an instance named folder can only connect to that specific instance. MaxInitDelay. The default number of subscribers is 8. MinGoodVersion. SendDuplicateOnMetaData.5 CONFIGURATION AND ADMINISTRATION GUIDE 129 XML configuration files reference Contained elements StorageDir. Contained elements SWFFolder. ThrottleBoundaryRequest. UserAgentExceptions SWFVerification Container element. See also MinGoodVersion. ThrottleDisplayInterval. When streaming through a proxy server. . Note: SWF files connecting to Flash Media Administration Server cannot be verified. FirstHashTimeout. The default value of the SWFFolder element is the application's folder appended with /SWFs. Cache ThrottleBoundaryRequest Controls the maximum number of concurrent boundary requests per recorded stream. MaxDurationCap Subscribers This element instructs the server to combine sound samples only if there are more than the default number of subscribers to that stream. MaxStreamsBeforeGC. MaxSize (Recording). see “Verify SWF files” on page 19. KeyFrameInterval. Example For an application named myApplication located at C:\applications\. MaxSizeCap.Last updated 3/2/2010 FLASH MEDIA SERVER 3. UserAgentExceptions. CachePrefix. the boundary information about video segments are sent to the proxy server by request. Use a semicolon to separate multiple directories. MaxDuration. EnhancedSeek. HiCPU. Live (StreamManager). ThrottleLoads. Audio. MaxSamples SWFFolder Specifies a single folder or a semicolon-delimited list of folders containing copies of client SWF files. CacheUpdateInterval. DuplicateDir. FinalHashTimeout. The server compares these SWF files to client SWF files connecting to applications on the server. Verifying SWF files is a security measure that prevents someone from creating their own SWF files that can attempt to stream your resources. For more information. Example <Subscribers>8</Subscribers> See also LoCPU. Specifies how the server verifies client SWF files before allowing the files to connect to an application. authenticating SWF files should be placed in C:\applications\myApplication\SWFs. DirLevelSWFScan.

which means the server displays the message 1 out of 64 times when the throttle queue is full. Example <ThrottleBoundaryRequest enable="false">8</ThrottleBoundaryRequest> See also ThrottleDisplayInterval. Example <ThrottleDisplayInterva>64</ThrottleDisplayInterval> See also ThrottleBoundaryRequest. ThrottleDisplayInterval Tunnel Specifies whether or not to tunnel all operations through a given HTTP proxy. Port. The default setting is false. Example <ThrottleLoads enable="true">8</ThrottleLoads> See also ThrottleBoundaryRequest. UpdateInterval .Last updated 3/2/2010 FLASH MEDIA SERVER 3. The default value is 1440 minutes (24 hours). The default value is 64. Type. ThrottleLoads ThrottleDisplayInterval Controls the interval at which the server displays the throttle queue length. Password TTL Specifies in minutes how long each SWF file remains in the cache. When streaming through a proxy server. Example <Tunnel>false</Tunnel> See also Host. See also Cache.5 CONFIGURATION AND ADMINISTRATION GUIDE 130 XML configuration files reference The default value is 8. The default value is 8. ThrottleLoads ThrottleLoads Controls the maximum number of concurrent segment loads per recorded stream. Username. video segments are sent to the proxy server by request.

The default setting is true. See also Cache. Example <Type>HTTP</Type> See also Host. The default is HTTP.5 CONFIGURATION AND ADMINISTRATION GUIDE 131 XML configuration files reference Type Specifies the type of proxy being connected to. Contains an element that specifies a user agent that should be an exception to authentication.0" from="WIN 9.28. The value for this element can be HTTP or SOCKS5. Use the to and from attributes to indicate the lowest and highest versions to except.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Password UnrestrictedAuth A Boolean value that determines whether or not to allow sending the user name/password combination with each HTTP redirect. The settings for clients vary according to whether Flash Player platform is Windows or Macintosh. Example <UserAgentExceptions> <Exception to="WIN 9. Max UpdateInterval Specifies the maximum time in minutes to wait for the server to scan the SWF folders for updates when there is a miss in the cache.0"</Exception> </UserAgentExceptions> . Sending the user name/password combination is useful only if the Allow element permits redirections. TTL UserAgent Container element. Setting the value 0x01 will configure the player and platform for silent messages. Contained elements Bits UserAgentExceptions Container element. Example <UnrestrictedAuth>true</UnrestrictedAuth> See also Allow. The default value is 5 minutes. Port.0.0. Tunnel. Username.28.

all clients can access the video data in streams in the specified folders. this element is disabled. Proxy. Password Verbose This element determines whether or not the server outputs verbose information during HTTP operations. You can also override this element with the Access plug-in or Server-Side ActionScript. To enable access to all video data streamed by the server. Type. so do not use absolute paths in the list of folders. While you can also enable access through Server-Side ActionScript. the configuration to allow access to sample those streams is as follows: <VideoSampleAccess enabled="true">low_quality. specify a list of semicolon-delimited folders to which client applications have access. Example If an application is configured to store streams in folders C:\low_quality and C:\high_quality. Connections. By default. See also Host.high_quality</VideoSampleAccess> See also AudioSampleAccess VirtualDirectory Specifies virtual directory mappings for Server-Side ActionScript File objects.5 CONFIGURATION AND ADMINISTRATION GUIDE 132 XML configuration files reference Contained elements Exception Username Specifies the user name for connecting to the edge. set the enable attribute to true. Tunnel. specify / in the tag. Port. this element allows access to the data without requiring Server-Side ActionScript. When this element is enabled. . Redirect VideoSampleAccess Allows the client application to access the raw uncompressed video data in a stream. For more information. To enable it. The folder path is restricted to the application’s streams folder or folders. Example <Verbose>false</Verbose> See also HTTP1_0. see comments in the Application.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml file and “Mapping virtual directories to physical directories” on page 35. In the tag.

.maxUnprocessedChars.physical_dir_path</VirtualDirectory> See also FileObject WindowsPerAck Controls how many messages can be sent before receiving an acknowledgement from the other end.xml contains the elements and information used to configure log files. This can be overridden by each XMLSocket by specifying the property XML.Last updated 3/2/2010 FLASH MEDIA SERVER 3. MimeType XMLSocket Container element. Example <XMLSocket> <MaxUnprocessedChars>4096</MaxUnprocessedChars> </XMLSocket> Contained elements MaxUnprocessedChars Logger. Logger. IdleAckInterval. Example <WriteBufferSize>16</WriteBufferSize> See also IdlePostInterval.xml file is located at the root level of the /conf directory and is the configuration file for the logging file system. including the location of the log files.5 CONFIGURATION AND ADMINISTRATION GUIDE 133 XML configuration files reference Example <VirtualDirectory>virtual_dir_name. WriteBufferSize Specifies in kilobytes the size of the write buffer. The default size is 16 KB. but that number cannot exceed the number specified in this element. Contains an element that specifies how much data can be received from the XML server (without receiving an end tag) before XMLSocket closes the connection. The default location of the log files is in the /logs directory in the server installation directory.You can edit this file to add or change configuration information. Note: Adobe recommends that you do not change the value of this element.xml file The Logger.

FileName. Fields. in the Access. To effectively turn off rotation. EscapeFields AuthMessage Container element. Access Container element. Contained elements LogServer Application Container element. Contained elements LogServer. see the Logger.5 CONFIGURATION AND ADMINISTRATION GUIDE 134 XML configuration files reference Log files are written in English. The elements nested within this container configure the Access log settings. see the Plug-in Developer Guide at www. The elements nested within this container configure the admin log settings. Contained elements LogServer. For example. Directory. Time admin Container element. . Rotation.xml file enables or disables the log files.log file. may be in another language. The Logging section in the Server. Note: Log file rotation cannot be disabled. To see the element structure and default values. Some content within the log file. Contained elements Directory.Last updated 3/2/2010 FLASH MEDIA SERVER 3. depending on the filename and the operating system. Directory. Delimiter. choose a large maximum size and a long maximum duration for the log files.com/go/learn_fms_plugindev_en. the name is written in that language. Rotation AuthEvent Container element. The elements nested within this container configure the Application log file settings. Field names displayed in the log file are in English. however. Events. If the name of the recorded stream is in a language other than English. For more information. QuoteFields. Time.adobe.xml file installed in the RootInstall/conf/ folder. The elements in this section configure the AuthEvent log file settings. FileName. the columns x-sname and x-suri-stem show the name of the stream. Time. even if the server is running on an English-language operating system.

com/go/learn_fms_plugindev_en. QuoteFields Diagnostic Container element. the log files are located in the logs directory in the server installation directory. By default.) • colon (:) • hyphen (-) See also Directory. see the Plug-in Developer Guide at www. Example <Directory>${LOGGER. EscapeFields. Time.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Contained elements LogServer Delimiter Specifies whether or not to use a single quotation mark (') as a delimiter to separate the fields in the log file. For more information. The following characters are not allowed as delimiters: • triple quotation marks (''' ) • paired double quotation marks ("") • comma (. A delimiter is used to separate the fields in the log file.LOGDIR}</Directory> . The use of the number sign (#) as a delimiter is not recommended. The elements in this section configure the diagnostic log file.adobe.5 CONFIGURATION AND ADMINISTRATION GUIDE 135 XML configuration files reference The elements in this section configure the AuthMessage log file settings.xml file. since # is used as the comment element in the Logger. Rotation core Container element. Contained elements Directory. The elements nested within this container configure the core log settings. Rotation Directory Specifies the directory where the log files are located. Time. Contained elements Directory.

Specifies how many lines to write to the log file before repeating the field headers. EscapeFields. Rotation. and the apostrophe (' ). square brackets ([ ]). bar (|). This optional flag can be set to enable or disable. By default. For a list of events that are recorded in the Access log file. the percent sign (%). The keyword * instructs the server to log all events. Rotation DisplayFieldsHeader Formatting element. Specify events in a semicolon-separated list. The elements nested within this container configure the edge log settings. the carat (^). Fields. Events. and QuoteFields Events Specifies the events written to the log file.5 CONFIGURATION AND ADMINISTRATION GUIDE 136 XML configuration files reference See also Time. Delimiter. The unsafe characters are as follows: the space character. Time. See also Fields Fields Specifies which fields for an event are logged in the Access log file. the tilde (~). FileName. see “Access events defined in access logs” on page 57. a double quotation mark ("). The default line count is 100 lines. . Directory. Contained elements LogServer EscapeFields Formatting element. it is set to enable. Example <EscapeFields>enable</EscapeFields> See also LogServer. This element controls whether or not the fields in the log file are escaped when unsafe characters are found. open or closed curly braces ({ }).Last updated 3/2/2010 FLASH MEDIA SERVER 3. Example <DisplayFieldsHeader>100</DisplayFieldsHeader> See also Delimiter. open or closed angle brackets (< >). QuoteFields edge Container element. the number sign (#).

log. Rotation FileName Specifies the name of the Access log file. Rename . For more information. See also LogServer. Fields. date.log. Directory. access. Fields without data are left empty. Example access. Adobe recommends that you include the following fields in the fields to be logged: the type. Time. Time. MM represents 04 (April). and so on. Rotation.01. M represents the month of its creation. For example. For a list of fields associated with events in the Access log file. The field specification is a semicolon-separated list of one or more fields associated with an event in the log file. See also Events FileIO Container element. the format YYYY must be used. Y represents the year of its creation. The elements in this section configure the settings for the File plug-in log file settings. 2007. the formats M or MM are both allowed. access. N represents the version number of the file. The keyword * specifies that all fields are to be logged. The repetition of a letter represents the number of digits.Last updated 3/2/2010 FLASH MEDIA SERVER 3. QuoteFields. see “Fields in access logs” on page 59. Contained elements Directory. The files are named access.log. and time fields. Schedule.5 CONFIGURATION AND ADMINISTRATION GUIDE 137 XML configuration files reference Fields are associated with the events found in the Access log file. The default number of files to retain is 5. Events. EscapeFields History Specifies the maximum number of log files to keep. Not every field is associated with each event in the log file. M represents 4 (April). Note that there is no limit on the number of versions. Delimiter.com/go/learn_fms_plugindev_en. Example <History>5<History> See also MaxSize. D represents the day of the month of the file’s creation.02. the formats D or DD are both allowed. see the Plug-in Developer Guide at www. category.adobe.03.log This example identifies version 43 of the access log file for October 30. The Access log filename includes a date stamp and version number.2007103043.

The default file size is 10240 KB. Example <HostPort>xxx. . DisplayFieldsHeader Logger Root element. or approximately 1 MB. The elements nested in this section configure the server to send messages to a remote log server. DisplayFieldsHeader master Container element. This element can be set to enable or disable. Rename QuoteFields Formatting element.5 CONFIGURATION AND ADMINISTRATION GUIDE 138 XML configuration files reference HostPort Specifies the IP and port of the log server.xxx:1234</HostPort> See also ServerID. Example <Maxsize>10240</MaxSize> See also Schedule. Specifies whether or not to use quotation marks to surround those fields in the log file that include a space. History. Contained elements HostPort.xml.xxx. Contained elements LogServer MaxSize Specifies the maximum log file size in bytes. The elements nested within this container configure the master log settings. it is set to disable. ServerID. By default.xxx. The Logger element is a container for all the other elements in Logger. LogServer Container element.Last updated 3/2/2010 FLASH MEDIA SERVER 3.

History. This occurs until the maximum history setting is reached.log. Schedule. FileName. Events. EscapeFields Rename Specifies a new name for log files when rotation occurs. History. The default is true.00. The duration is specified in minutes. application. <Schedule type="hh:mm"></Schedule> If the type attribute is duration.log is renamed application. the server rotates the log files every 24 hours. Delimiter. History Rotation Container element. If Rename is set to true. Examples <Rename>true</Rename> See also MaxSize. Directory.01. Rotation. Rename Schedule Specifies the rotation schedule for the log files. The log file with the lowest version number keeps the oldest log history. The log file with the highest version number keeps the oldest log history.02. The elements in this section configure the rotation of the log files. If Rename is set to false. the timestamp 00:00 causes the file to rotate every midnight. There are two types of scheduling: daily rotation and rotation that occurs when the log exceeds a specified length. Schedule.log is renamed application. Rename .log (and so on) when it is time to rotate the log files. rotation occurs when the duration of the log exceeds a specified length. Fields.5 CONFIGURATION AND ADMINISTRATION GUIDE 139 XML configuration files reference Example <QuoteFields>disable</QuoteFields> See also LogServer.Last updated 3/2/2010 FLASH MEDIA SERVER 3.01. and application. <Schedule type="duration"></Schedule> See also MaxSize. <Schedule type="daily"></Schedule> If the type attribute is hh:mm. a new log file is created with the next available version when rotation occurs. Time. Contained elements MaxSize. Examples If the type attribute is daily.

The Access logs are located in the RootInstall\logs directory.xml file is located at the root level of the conf directory. To see the element structure and default values in Server.xml file The Server. The Flash Media Administration Console connects to Flash Media Administration Server.xml. or local. See also Logging Server. The elements nested within the Access container configure the Access log settings.xxx.xxx. The elements nested within the ACCP container configure the Admin Core Communication Protocol (ACCP).Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml file installed with Flash Media Server in the RootInstall/conf/ directory. which in turn connects to Flash Media Server.xml file affect the entire server unless they are overridden in another configuration file.5 CONFIGURATION AND ADMINISTRATION GUIDE 140 XML configuration files reference ServerID By default. Scope ACCP Container element. The default is local time. Flash Media Administration Server and the active cores communicate over ACCP. Contained elements MinIOThreads. see the Server. the value of the ServerID element is the IP address of the server whose events are being logged.xxx:1234</ServerID> See also HostPort. Access Container element. Valid values are utc. DisplayFieldsHeader Time The Timefield in a log file can be logged either in UTC (GMT) or local time. SocketOverflowBuckets . The setting for the Time element can be used to override the server-wide configuration. Contained elements Enable. Example <ServerID>xxx. gmt. This protocol is also used for collecting performance metrics and issuing administrative commands to Flash Media Server cores. MaxIOThreads. SocketTableSize. Edits made in the Server.

Example <AdminElem>true</AdminElem> See also Process. CrossDomainPath Allow Specifies the administrator connections that are to be accepted. The default value is false.60. Contained elements MinIOThreads. RTMP is the protocol used for communication between Flash Player and Flash Media Server.5 CONFIGURATION AND ADMINISTRATION GUIDE 141 XML configuration files reference ActiveProfile Specifies the limits enforced by the server on each license key (set in the LicenseInfo element). To display <elem name="x"> instead of <_x> in the HTTP command. The keyword all can also be used. The getActiveVHostStats()command allows administrators to query the statistics information for all active virtual hosts.com. Order AdminServer Container element. connection. Deny. Allow. Deny. otherwise the element name is displayed as <elem name="x">. This potential security risk can be managed by the Allow element. The getActiveVHost() command lists only the active virtual hosts. MaxIOThreads.foo. a client can connect to Flash Media Administration Server from any domain or IP address. Contained elements RTMP (AdminServer). Select a profile to determine bandwidth. SocketGC.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The elements nested within the AdminServer container configure Flash Media Administration Server. Allow. foo. and other licensed limits. domain names. AdminElem. 10. SocketOverflowBuckets AdminElem Specifies the format used to display an element name in an HTTP command. set the AdminElem element to true.133.1. Permissible administrator connections are detailed as a comma-delimited list of host names. HostPort.com. and full or partial IP addresses.60</Allow> . By default. SocketTableSize. Order. LicenseInfo Admin Container element. Mask. which means the element name is displayed as <_x>. Example <Allow>x. The elements nested within the Admin container configure the RTMP (Real-Time Messaging Protocol) for the fmsadmin process. See also Process. 10. Process.

See also Playback AllowedVideoLag The number of seconds the server holds audio messages in the recording buffer while waiting for a video message. You can tune the size of each cache. Each data type (audio. The Enable element nested within the Application container enables the Application log file. For example. See also Playback AllowAnyAVCProfile By default. and decrease the VideoAutoBufferReadSize buffer. Contained elements Enable ApplicationGC Specifies in minutes how often the server checks for and removes unused application instances. set this value to true. if you are delivering audio-only content. set this value to true. increase the AudioAutoBufferReadSize buffer. to achieve better disk performance. video.xml. Order AllowAnyAACProfile By default. audio. The default value is 5. which is also the minimum value for this element. An application is considered idle if it has no clients connected for longer than the amount of time specified in MaxAppIdleTime in Application. To override this behavior. AudioAutoBufferReadSize The server caches F4V/MP4 video. depending on the type of content you are delivering. This lag allows the server to sort timestamps before flushing the buffer to disk when video is delayed. and other data in memory. the server does not stream any H.264 video profiles that are not supported by Flash Player 10. . Caching data allows the server to make fewer disk reads and to perform better. the server does not stream any AAC audio profiles that are not supported by Flash Player 10. and other) has its own cache.5 CONFIGURATION AND ADMINISTRATION GUIDE 142 XML configuration files reference or <Allow>all</Allow> See also Deny. The default interval is 5 minutes.Last updated 3/2/2010 FLASH MEDIA SERVER 3. To override this behavior. Application Container element.

xml.Last updated 3/2/2010 FLASH MEDIA SERVER 3. the server sends a status message to the NetConnection object (the client). The default value is 51200 bytes. (Subsequently. the feature is disabled.xml file.xml values. A client is active when it is sending or receiving data. you can disable the feature for individual virtual hosts in the Vhost. The values defined in the Server. To configure the closing of idle connections.) Example <AutoCloseIdleClients enable="false"> <CheckInterval>60</CheckInterval> <MaxIdleTime>600</MaxIdleTime> </AutoCloseIdleClients> Contained elements CheckInterval. The Application. unless the values are defined in the Vhost.xml values override the Vhost. The Enable element nested within the AuthMessage container enables the logging of messages from the Authorization plug-in.xml values override the Server.xml file. unless values are defined in the Application. If the enable attribute is omitted or set to false.xml file. Contained elements AuthMessage AutoCloseIdleClients Container element. Determines whether or not to automatically close idle clients. you must enable the feature in the Server.xml values.xml files or for individual applications in Application. Once you enable the feature in the Server.xml configuration file apply to all clients connected to the server. When a client has been idle longer than the maximum idle time (60 seconds by default).xml configuration file apply to all clients connected to the virtual host. The default value is false. MaxIdleTime . See also VideoAutoBufferReadSize. OtherAutoBufferReadSize AuthEvent Container element.xml file. Use AutoCloseIdleClients to specify how often the server should check for idle clients. The Enable element nested within the AuthEvent container enables the logging of events from the Authorization plug-in. The server also writes a message such as “Client x has been idle for y seconds” in the core and event logs.5 CONFIGURATION AND ADMINISTRATION GUIDE 143 XML configuration files reference The minimum size is 1024 bytes. the values defined in the Vhost. Contained elements Enable AuthMessage Container element. Set the enable attribute to true to close idle clients. The Vhost. The server closes the client connection to the server and writes a message to the access log.

xml and Application. You can also override the logging interval at the vhost and application levels. The default value is false. A shorter interval results in more reliable disconnection times. The following are available as checkpoint events: connect-continue.xml file.Last updated 3/2/2010 FLASH MEDIA SERVER 3. You can disable checkpoints at the vhost and application level in the Vhost. A client is disconnected the first time the server checks for idle connections if the client has exceeded the MaxIdleTime value. in seconds. The minimum and default value is 60 seconds. but can also result in decreased server performance. UpdateInterval (Cache) CheckInterval Specifies the interval. See also TTL. Contains elements that configure the cache setting for SWF verification. Set the enable attribute to true to turn on checkpoint events in logs. RTMP (Connector) Content Enables operations in the current File plug-in on content (streams or SWF files). You must enable checkpoint events at the server level in the Server. Contained elements CheckInterval. LogInterval Connector Container element. This element contains the enable attribute which you can set to true or false. play-continue. Contained elements HTTP.xml files. Checkpoint events log bytes periodically from the start to the end of an event.5 CONFIGURATION AND ADMINISTRATION GUIDE 144 XML configuration files reference Cache Container element. . The elements nested within the Connector container configure the connector subsystem. Example <CheckInterval>60</CheckInterval> See also Checkpoints Checkpoints Enables logging checkpoint events. at which the server checks for active client connections. Flash Media Server provides connectors that allow application scripts to connect to other Flash Media Servers or HTTP servers. and publish-continue. The value of true enables the operation on the specified content type and false disables it.

This element is nested within the FilePlugin tag. Enabled by default. in seconds. The default timeout is 30 seconds.Last updated 3/2/2010 FLASH MEDIA SERVER 3. SocketTableSize. Enables stream file operations. The default wait time is 20 seconds. . in seconds. Example <Content type="Streams">true</Content> <Content type="SWF">false</Content> See also FilePlugin Core Container element.5 CONFIGURATION AND ADMINISTRATION GUIDE 145 XML configuration files reference This element contains the type attribute. Example <CoreExitDelay>60</CoreExitDelay> See also CoreGC CoreGC Specifies how often.exe process. for detecting unresponsive cores. SocketOverflowBuckets CoreExitDelay Specifies how much wait time. Disabled by default. Contained elements MinIOThreads. The elements nested within the Core container configure the RTMP protocol for the FMSCore. which you can set to the following values: • • Streams. A value of 0 disables the timeout check. to check for and remove idle or unused cores. Enables operations on SWF files. in seconds. Enable if you plan to use the File plug-in to retrieve SWF files for verification by the server. Example <CoreGC>300</CoreGC> See also CoreExitDelay CoreTimeout Specifies the timeout value. an idle core is given to exit on its own before it is removed from the server. The default is 300 seconds. SWF. MaxIOThreads.

Contained elements Enable . The default interval is 1 second. Example <Deny>x.60.Last updated 3/2/2010 FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 146 XML configuration files reference Example <CoreTimeout>30</CoreTimeout> See also CoreGC CPUMonitor Specifies. 10. The value cannot be set to less than 1 second. Example <CPUMonitor>1</CPUMonitor> See also ResourceLimits CrossDomainPath Specifies an absolute path on the server to a cross-domain file. in seconds. Order Diagnostic Container element.com. foo. 10.1. The default value is *.133. Example <CrossDomainPath>C:/Security/config/files/fms/crossdomain. domain names.com. This element lets you specify a list of domains from which a client can access the server. or the keyword all. and full or partial IP addresses. Use it for both edge and administration server requests. The Enable element nested within the Diagnostic section enables the diagnostic log file. The connections are specified as a comma-delimited list of host names. This element is nested within both the Server element and the AdminServer element.foo. which allows clients from all domains to access the server. how often the server monitors CPU usage.60</Deny> or <Deny>all</Deny> See also Allow.xml</CrossDomainPath> Deny Specifies administrator connections that should be ignored.

Specifying zero scans the parent folder and no subfolders. .2. Flash Media Server edge processes and Flash Media Server core processes use ECCP to migrate socket connections and to proxy connections that have not been migrated. The elements nested within the Edge container configure the RTMP protocol for the fmsedge process. SocketOverflowBuckets. The parent folder is specified in the SWFFolder element. See also SWFFolder ECCP Container element. The directory containing the web server. The elements nested within the EdgeCore container control the IPC (interprocess communication) message queue used by edge and core processes to communicate with each other. The elements nested within the Edge container configure resources for the fmsedge process. CoreTimeout Edge Container element. Contained elements MinIOThreads.Last updated 3/2/2010 FLASH MEDIA SERVER 3. MaxIOThreads. The elements nested within the ECCP container configure ECCP (Edge Server-Core Server Communication Protocol). Specifying a positive value scans that number of subfolders. MinEventQueueThreads. The default value is Apache2. Contained elements MinIOThreads. SocketOverflowBuckets Edge (ResourceLimits) Container element. Specifying a negative value scans all subfolders. DirLevelSWFScan Specifies the number of levels of subfolders within a parent folder to scan for SWF files. SocketTableSize. MaxIOThreads. SocketTableSize. The default value is 1. Contained elements MaxEventQueueThreads.5 CONFIGURATION AND ADMINISTRATION GUIDE 147 XML configuration files reference Directory Located in the Httpd container. which means that the server scans only one subfolder level. NumSchedQueues EdgeCore Container element.

AuthMessage. A value of true enables the logging process. The Enable element nested within the FileIO container enables logging from the File plug-in. MaxQueueSize Enable Server. Contained elements Enable FilePlugin Container element. Specifies.xml uses Enable elements in the Logging container to enable or disable the Access.and FileIO logs. There is no maximum value. Setting the enabled attribute to false disables the File plug-in. in seconds. false disables the logging process. Example <Access> <enable>true</Enable> </Access> See also Access. The default value is 120 seconds. AuthMessage. how often the server reloads the video segment in the cache when there is a file change. This element contains elements to configure file operations that are handled by the File plug-in.5 CONFIGURATION AND ADMINISTRATION GUIDE 148 XML configuration files reference Contained elements HeapSize. . Diagnostic. Aggregating messages increases server performance. A very large number means the server does not refresh the cache even when there is a file change. Do not change this value if you want to achieve the highest possible server performance. AuthEvent. The default value is true. Application. Note: This setting applies to playback of MP4/F4V files only.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Application. Diagnostic. AuthEvent. Example <FileCheckInterval>120</FileCheckInterval> FileIO Container element. FileIO EnableAggMsgs Located in the Playback container. The default value is true. The minimum value is 1 second. FileCheckInterval Located in the FLVCache container.

If you specify a value of less than 1minute. SmallMemPool. in which case virtual memory will also be used. Contained elements FileCheckInterval. When more free memory is available to a thread than the specified ratio. Use this setting to configure the cache for optimal memory use. MaxKeyframeCacheSize FLVCachePurge Located in the ResourceLimits container.5 CONFIGURATION AND ADMINISTRATION GUIDE 149 XML configuration files reference Contained elements MaxNumberOfRequests. . The default value is 60 minutes. The recorded media cache size is specified as a percentage of the total available RAM on the system.5%). To minimize the amount of memory used in the server process. Specifies the maximum percentage of total memory that the total pool size may occupy. FLVCacheSize Located in the ResourceLimits container.5 (50%). and SegmentsPool containers.Last updated 3/2/2010 FLASH MEDIA SERVER 3.125 (12. LargeMemPool. decrease the size of the cache. LargeMemPool. the default value of 60 is used. in minutes. If you are receiving “cache full” events in the core log file or want to increase the chance that streams will find the information needed in the cache. Example <FreeMemRatio>0. Specifies the percentage of the message cache to be consumed by the free list on a per-thread basis. Specifies how often. Specifies the maximum size of the recorded media cache. The default setting is 0. to remove unused files from the cache. The range of this setting is from 0 (0%) to 1 (100%). The default setting is 0. The range of this setting is from 0 (0%) to 1 (100%). The default setting for the cache size is 10 (10%). the freed memory returns to the global pool. Content FLVCache Container element. MaxSize (FLVCache). SmallMemPool. The minimum value is 1 minute. Example <FLVCacheSize>10</FLVCacheSize> FreeMemRatio Located in the MessageCache. increase the size of the cache. and SegmentsPool containers.5</FreeMemRatio> FreeRatio Located in the MessageCache. Contains elements that control the size and features of the recorded media cache. The maximum setting is 100 (100%).

See also UID GlobalQueue Container element. Specifies in minutes how often to remove idle handles. SmallMemPool. Specifies the percentage of the message cache to be consumed by the free list on a global basis. This section is used for connections to Flash Remoting. Contained elements HeapSize.4</GlobalRatio> HandleCache Container element. Example <GlobalRatio>0. The default is 60 minutes.125</FreeRatio> GCInterval Located in the HandleCache container. If you do not specify a UID or GID.4 (40%). Example <GCInterval>60</GCInterval> GID Located in the Process containers. LargeMemPool. Contained elements MaxSize (HandleCache). GCInterval . The default setting is 0. When more free memory is available to a thread than the specified ratio.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The range of this setting is from 0 (0%) to 1 (100%).5 CONFIGURATION AND ADMINISTRATION GUIDE 150 XML configuration files reference Example <FreeRatio>0. Specifies the group ID of the process. This element is applicable to Flash Media Server running on Linux systems only. the server or Administration Server runs as root. IdleTime. Contains elements that configure how to cache handles used for HTTP requests. and SegmentsPool containers. MaxQueueSize GlobalRatio Located in the MessageCache. TrimSize. the freed memory returns to the operating system. The elements nested within the GlobalQueue container control the IPC message queue used by all processes to communicate with each other.

The elements nested within the HTTP container configure the HTTP connector used to connect to Flash Remoting. Default Value 0 >0 >0 -1 -2 Description Allocates the default number of threads. The Administration Service is separate from Flash Media Server. Allocates the exact number of threads specified. The default value for this element varies according to its container. they are connecting to Flash Media Administration Server. in kilobytes. Allocates 2xN threads. Container EdgeCore GlobalQueue Services Default Value 1024 2048 2048 Description If the maximum size of this element is not specified. The default is to bind to any available IP on port 1111.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Associates the default value with the number (N) of processors. which in turn connects to Flash Media Server. the value is 100 KB. When administrators connect to the server with the Administration Console. of the shared memory heap used for an IPC (interprocess communication) message queue. Allocates 1xN threads. Example <HostPort>ip:port</HostPort> See also AdminServer HTTP Container element. Only one port number may be specified in this element. . The following reference table gives the default values for all thread configurations.5 CONFIGURATION AND ADMINISTRATION GUIDE 151 XML configuration files reference HeapSize Specifies the maximum size. Example <EdgeCore> <HeapSize>1024</HeapSize> </EdgeCore> See also MaxQueueSize HostPort Specifies the IP address and port number that Flash Media Administration Server binds to.

Program. When enabled is set to true. such as master to core.5 CONFIGURATION AND ADMINISTRATION GUIDE 152 XML configuration files reference Contained elements MinConnectionThreads. Example <IdleTime>10</IdleTime IpcHostPort The interface and port the server listens on internally for connections from the fmscore process to the Administration Server. MaxConnectionQueueSize. The default wait time is 10 minutes. MaxConnectionThreads. Options. If a value for Service is present. Contained elements Directory. The default value is localhost:11110. Options. . HandleCache Httpd Specifies how the built-in webserver is stopped and started. Flash Media Server uses IPC queues to send messages from one core to another or from one process to another. The elements nested within the IPCQueues container configure the IPC queues. Service IdleTime Located in the HandleCache container. or core to edge. the SERVER. By default. EdgeCore. Program. If no HTTP requests have been made to the host for the length of time specified. some cached handles are cleared.HTTPD_ENABLED variable is set to true in the fms. and Service elements to execute the following command lines: $Directory/$Program -d $Directory $Options -k start $Directory/$Program -d $Directory $Options -k stop Note: The value of $Directory can be absolute or relative to $FMSROOT. By default the enabled attribute is set to "${SERVER. IPCQueues Container element.HTTPD_ENABLED}". Flash Media Server uses the settings in the Directory. Linux ignores this section of the command. -n $Service is appended to both commands. Service specifies the name used to install the webserver as an NT service. Services LargeMemPool Container element. On Windows only. Specifies the amount of time to wait before releasing cached handles. Flash Media Server starts and stops the web server automatically. Contained elements GlobalQueue. queues are used for short or one-time messages that may have more than one target. Unlike protocols.ini file.Last updated 3/2/2010 FLASH MEDIA SERVER 3.

If the value is smaller.LICENSEINFO}</LicenseInfo> Note: Serial numbers that are added manually (that is. depending on the filename and the operating system. localhost can map to an erroneous interface. If the name of the recorded stream is in a language other than English. this value is a parameter in the fms. The elements nested within the Logging container configure general logging properties for the server. FreeMemRatio LicenseInfo The license number. the server logs a checkpoint every check interval. in seconds. Field names in the log file are in English. added by editing those files directly) to either fms.Last updated 3/2/2010 FLASH MEDIA SERVER 3. in the access. the columns x-sname and x-suri-stem show the name of the stream. which caches large chunks of memory within the server to increase the performance of large allocations. GlobalRatio. Localhost Specifies the IP loopback address. Log files are written in English. the name is written in the log file in that language. Example <LicenseInfo>${SERVER. MaxUnitSize. however.LICENSEINFO}</LicenseInfo> LicenseInfoEx Contains license keys added using the Administration Console. Contained elements MaxCacheUnits.ini file: <LicenseInfo>${SERVER.ini or the LicenseInfo tag of Server. With more than one network interface. FreeRatio. may be in another language. The server must reference itself locally.5 CONFIGURATION AND ADMINISTRATION GUIDE 153 XML configuration files reference The elements nested within the LargeMemPool container configure the large memory pool. The default value is 3600 seconds (60 minutes). See also Checkpoints Logging Container element.xml file cannot be removed using the Administration Console. . The server uses the default loopback address as the local loopback. This value should be larger than the value for CheckInterval. UpdateInterval.xml file. The IP loopback address is usually the default localhost address. By default. MaxAge. MaxCacheSize. Some content within the log file. Only serial numbers that are added using the Administration Console can be deleted using the Administration Console. even if the server is running on an English-language operating system. For example. LogInterval Specifies how often to log a checkpoint. Set the configuration properties of the individual log files in the Logger.log file.

the creation mask is set to 017 in octal. This key is used by umask to set the file creation mask. Example <MaxAge>1000000</MaxAge> MaxAggMsgSize The maximum size of an aggregate message. RetrySleep. AuthEvent. Note: This setting applies to playback of MP4/F4V files only. The elements nested within the Master container configure the resource limits for the master server. This element defines the maximum reuse count before the cache unit is freed. LargeMemPool. in kilobytes. are created on the server side with permission 0666.000. The default setting for this element is 017 in octal. Contained elements CoreGC. The owner and the users who belong to the same group as the owner get read/write permission to the files. Diagnostic. The default count is 1. The default value is 64. such as stream files or shared object files. Master Container element. all Flash Media Server object files are created with permission 0666 & ~017 = 0660 = rw-rw----. Access. If the mask is set to 022. and SegmentsPool containers. . Application.Last updated 3/2/2010 FLASH MEDIA SERVER 3. This element is applicable to Flash Media Server running on Linux systems only.5 CONFIGURATION AND ADMINISTRATION GUIDE 154 XML configuration files reference Contained elements Time. See also Playback MaxAudioSampleDescriptions Located in the Recording container. RetryNumber. AuthMessage. The user must enter the mask in a three-digit octal format.000. the file created is assigned permission 0666 & ~022 = 0644 = rw-r--r--. This element controls who has read/write access to shared object and stream files on the server. Therefore. FileIO Mask A three-digit octal value used by the Linux umask (user permissions mask) command to set a file creation mask. RecordsNumber. SmallMemPool. By default. CoreExitDelay MaxAge Located in the MessageCache. All Flash Media Server object files.

For example. Connections requested at a rate above the value specified in this element remain in the TCP/IP socket queue and are silently discarded by the operating system whenever the queue becomes too long. LargeMemPool. specify -1. Note: This setting applies to recording MP4/F4V files only. If the codec type changes more than the number of available descriptions. adding too many descriptions takes up unnecessary space for every file that the server records. This element defines the maximum size of the cache in megabytes. LargeMemPool.xml configuration file using the HostPort element under the HostPortList container element. Specifies the maximum number of incoming connections per second that the server’s socket listener accepts. Connection requests are rejected if this limit is exceeded. the server imposes a maximum total combined rate of 30 connections per second. Example <MaxCacheSize>100</MaxCacheSize> MaxCacheUnits Located in the MessageCache. . such as 12. Specifies the maximum number of connection requests that can be pending. You can set a fractional maximum connection rate. The server allocates space for sample descriptions when it creates a file. SmallMemPool. The default is 4096 units. the server stops recording. two different audio codecs each have their own sample description. and SegmentsPool containers. each listener has a limit of 10 connections per second. SmallMemPool. However. This is a global setting for all socket listeners. The default number of pending requests is 1000.5. If there are three listeners and the MaxConnectionRate is set to 10. If the element is set to 10 connections per second.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Example <MaxCacheUnits>4096</MaxCacheUnits> MaxConnectionQueueSize Located in the HTTP container. The default value is 10. The default is 100 MB. The socket listeners are configured in the Adaptor. This element defines the maximum number of free units in the cache. and SegmentsPool containers. MaxCacheSize Located in the MessageCache.5 CONFIGURATION AND ADMINISTRATION GUIDE 155 XML configuration files reference Each change in codec for a content type has a sample description. A value of 0 or -1 disables the feature. Example <MaxConnectionQueueSize>-1</MaxConnectionQueueSize> MaxConnectionRate Located in the RTMP (Protocol) and Edge containers. To use the default. Keep in mind that the number of free units may be less than maximum if the value of the MaxCacheSize limit is reached.

However. However. The maximum number of seconds to wait before flushing the recording buffer. the default number is 5. MaxELSTEntries Located in the Recording container. The default value is 100. For HTTP. The default value is 10. MaxFlushTime Located in the RecBuffer container. The maximum number of kilobytes to accumulate before flushing the recording buffer. The minimum value is 32. specify 0. The maximum number of ELST entries in a recording. Note: This setting applies to recording MP4/F4V files only. the default number is 10. Gaps occur during an append to the file or when video. The default value is -2. Each change in codec for a content type has a sample description. The default value is 5. specify 0. or data content ends while other such content continues. For RTMP. audio. adding too many descriptions takes up unnecessary space for every file that the server records. recording ends. Note: This setting applies to recording MP4/F4V files only. . The default value is 256. Specifies the maximum number of threads used to process connection requests. The minimum value is 1. MaxFlushSize Located in the RecBuffer container. To use the default. If the server is taking a long time to process connections. MaxEventQueueThreads Located in the Edge (ResourceLimits) container.Last updated 3/2/2010 FLASH MEDIA SERVER 3. setting this value too high takes up unnecessary space in each recorded file. If the encoding format type changes more than the number of available descriptions. two different data encoding formats each have their own sample description. The server allocates space for sample descriptions when it creates a file. To use the default.5 CONFIGURATION AND ADMINISTRATION GUIDE 156 XML configuration files reference Example <MaxConnectionRate>100</MaxConnectionRate> MaxConnectionThreads Located in the HTTP and RTMP (Connector)containers. The server uses ELST entries when there are gaps in content. The maximum number of threads per scheduler queue. MaxDataSampleDescriptions Located in the Recording container. If more gaps or appends occur than the value specified in the MaxELSTEntries tag. the server stops recording. For example. raise the value of HTTP/MaxConnectionThreads to 20.

The default value is 5 seconds. MaxInitDelay The maximum number of seconds that is used to process SWF files. Flash Media Server can receive connections through various protocols. Use the following information to configure all I/O and connection threads processing: • A value of 0 allocates the default number of threads (10). • A value greater than 0 allocates the exact number of threads specified. When you configure this element. This element is used in the verification of SWF files. ECCP. Use -1 for the default value. as follows: • -1 means 1 x N threads. • -2 means 2 x N threads. Use 0 for the default value. If you set a value of 60 or less. A low value may cause unneeded disconnections. the server uses 1200 seconds (20 minutes). Container ACCP Admin Core ECCP Edge RTMP Default Value 10 10 10 10 10 32 Description Use 0 for the default value.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Use 0 for the default value. and ACCP containers. Specifies the maximum number of threads that can be created for I/O processing. consider the type of applications running on the server. Core. Admin. The default value for this element varies according to which container protocol it is nested within. Example <MaxInitDelay>5</MaxInitDelay> See also SWFVerification MaxIOThreads Located in the RTMP (Connector). Use 0 for the default value. a user might leave the window to idle out. • A value less than 0 ties the number of connection threads to the number (N) of processors. Edge. For example. in seconds. . before a client is disconnected. and so on. The default value is 3600 seconds (60 minutes). if you have an application with which users watch short video clips. Specifies the maximum idle time allowed. Use 0 for the default value.5 CONFIGURATION AND ADMINISTRATION GUIDE 157 XML configuration files reference MaxIdleTime Located in the AutoCloseIdleClients container.

you can use this value to identify problems with the File plug-in. the message can be put in a pending queue for the process. Use the MaxQueueSize element to limit the number of messages left in the pending queue. If necessary. Limiting messages saves shared memory if the process never starts. Services containers. When messages are sent to a process that is not running.) If you lower MaxKeyframeCacheSize. If the plug-in does not respond to a request from the server. which allows unlimited requests. See also Playback MaxSize (FLVCache) Located in the FLVCache container. subsequent requests are rejected. Adobe generally recommends keeping the default value of 0. The default value is 0. The value is specified in kilobytes. You can increase this value up to 4GB if a file has larger samples. the cache uses less memory. in kilobytes. the number of pending requests increases up to the value of MaxNumberofRequests. When the process starts again. If an application uses many large recorded media files. Flash Media Server does not count the number of requests made to the File plug-in or responses returned from the File plug-in. Specifies the maximum number of pending IPC messages in the queue.xml file. The default value is 2000 keyframes. The default size is 100 KB. Specifies the maximum number of keyframes in the cache for each recorded media file. . EdgeCore. By default. it picks up the messages. Example <MaxKeyframeCacheSize>0</MaxKeyframeCacheSize> MaxNumberOfRequests Specifies the maximum number of pending requests to the File plug-in. MaxQueueSize Located in the GlobalQueue. you may want to lower this number. (For more information. The default value is 16777216 (16 MB). Once MaxNumberofRequests is reached. MaxSampleSize The maximum allowable size of a sample in an F4V/MP4 file. see EnhancedSeek in the Application. When enhanced seeking is enabled.Last updated 3/2/2010 FLASH MEDIA SERVER 3. the server generates keyframes that are saved in the cache.5 CONFIGURATION AND ADMINISTRATION GUIDE 158 XML configuration files reference Example <RTMP> <MaxIOThreads>32</MaxIOThreads> </RTMP> MaxKeyframeCacheSize Located in the FLVCache container.

and SegmentsPool containers. Specifies the maximum size to which the buffer can grow before messages are committed to file. increase the value of MaxSize. More than this amount is a file error. audio. The default value is 200 and the minimum value is 0. This element is disabled by default. which means that no handles are cached. While only one video. The server logs a warning when the timestamps between two adjacent messages are bigger than the difference in real time plus the value set here for MaxTimestampSkew. and data track may be played. . When you add DVR functionality to an application. Specifies the maximum gap in milliseconds between two adjacent messages when comparing the message timestamps with the real time. files with up to this many tracks can be parsed. The default value is 100 handles.5 CONFIGURATION AND ADMINISTRATION GUIDE 159 XML configuration files reference Specifies the maximum size of the recorded media cache in megabytes. The default value is 500 MB. Specifies the maximum number of handles to cache. A shorter buffer decreases latency between real-time and playback. The size of the cache limits the number of unique streams the server can publish.Last updated 3/2/2010 FLASH MEDIA SERVER 3. LargeMemPool. Example <MaxSize>100</MaxSize> MaxSize (RecBuffer) Located in the RecBuffer container. To enable the element. the size of the recording buffer affects the play-while-record experience. but hurts performance. The higher the value. decrease the value of MaxSize. MaxSize (HandleCache) Located in the HandleCache container. SmallMemPool. Example <MaxSize>5120</MaxSize> MaxTimestampSkew Located in the RecBuffer container. The maximum number of tracks allowed in a file. set the value to a positive number. MaxUnitSize Located in the MessageCache. This value shares memory with the running process and has a limit of 2 GB in Windows and 3 GB in Linux. The minimum value is 0. Example <MaxTimestampSkew>2</MaxTimestampSkew> MaxTracks Located in the Playback container. There is no maximum value. it can be the maximum number of handles that the operating system can support. To increase the probability that a requested stream will be located in the recorded media cache. The default value is 64. the longer the data will be held in the buffer before written to disk. To decrease the amount of memory the server process uses.

Recycling them improves the server’s performance. For example. The default is 1 multiplied by the number of processors. The server allocates space for sample descriptions when it creates a file. However. in kilobytes. the server doesn’t cache any messages greater than MaxUnitSize. Specifies the minimum number of threads in the pool for I/O operations. UpdateInterval. the server stops recording. . adding too many descriptions takes up unnecessary space for every file that the records. of a memory chunk allowed in a memory pool. two different video codecs each have their own sample description. This setting ensures that chunks larger than MaxUnitSize are released to system memory instead of being held in the pool so that large memory chunks are available. MaxAge. MaxCacheSize. For example.Last updated 3/2/2010 FLASH MEDIA SERVER 3. GlobalRatio. Flash Media Server has several memory pools (distinct from the recorded media cache) that hold memory in chunks. MessageCache Container element. Example <MinConnectionThreads>0</MinConnectionThreads> MinEventQueueThreads Located in the Edge (ResourceLimits) container. specify the value 0. Messages are the essential communication units of Flash Media Server. If the codec type changes more than the number of available descriptions. Contained elements MaxCacheUnits. The default value is 10. Example <MessageCache> <MaxUnitSize>16</MaxUnitSize> </MessageCache> MaxVideoSampleDescriptions Located in the Recording container. Note: This setting applies to recording MP4/F4V files only. The elements nested within the MessageCache container control how the message cache holds onto messages used by the system running Flash Media Server and keeps them in memory for reuse instead of returning them and requesting them from the operating system. if this tag is under the MessageCache tag.5 CONFIGURATION AND ADMINISTRATION GUIDE 160 XML configuration files reference Specifies the maximum size. MaxUnitSize. FreeRatio. The default size is 16 KB. FreeMemRatio MinConnectionThreads Located in the HTTP and RTMP (Connector) containers. Each change in codec for a content type has a sample description. To use the default.

The default value for this element varies according to which container protocol it is nested within. The default interval for checking and removing content is 60 seconds. MinGoodVersion Located in the SWFVerification container. The default value of 0 accepts current and all future versions. Use -1 for the default value. Use 0 for the default value. and ACCP containers. MOV. Contained elements Playback. Example <ECCP> <MinIOThreads>0</MinIOThreads> </ECCP> Mp4 Container element. and other MP4 file types. Use 0 for the default value. Specifies the minimum accepted version of SWF verification feature that the server allows. Core. The Mp4 elements configure how the server plays and records MP4.5 CONFIGURATION AND ADMINISTRATION GUIDE 161 XML configuration files reference The minimum number of threads per scheduler queue. The default value is 2. Use 0 for the default value. The element specifies the minimum number of threads that can be created for I/O operations. Example <MinGoodVersion>0</MinGoodVersion> MinIOThreads Located in the RTMP (Connector). F4V. . Admin. Edge. Flash Media Server can receive connections through various protocols. Container ACCP Admin Core ECCP Edge RTMP Default Value 2X number of processors 2X number of processors 2X number of processors 2X number of processors 2X number of processors 2X number of processors Description Use 0 for the default value. Use 0 for the default value.Last updated 3/2/2010 FLASH MEDIA SERVER 3. ECCP. MsgPoolGC Specifies how often the server checks for content in and removes content from the global message pool. Recording.

5 CONFIGURATION AND ADMINISTRATION GUIDE 162 XML configuration files reference NetworkingIPv6 Enables or disables Internet Protocol version 6 (IPv6). to achieve better disk performance. Order Located in the AdminServer container. The server caches F4V/MP4 video. The default value is 1024 bytes. Flash Media Server automatically detects the operating system configuration. audio. Options Located in the Httpd container. Specifies the order in which to evaluate the Allow and Deny elements. this element can force Flash Media Server to use IPv4 even if IPv6 is available. Specifies additional switches for the command-line argument that starts and stops the web server. and other data in memory. Deny</Order> OtherAutoBufferReadSize Located in the Playback container. and other) has its own cache.Allow</Order> To process the request if in <Allow> and not in <Deny>. The minimum size is 1024 bytes. set: <Order>Deny. The default value is 1. video. if desired. Example <NumCRThreads>0</NumCRThreads> NumSchedQueues Located in the Edge (ResourceLimits) container. Example To process the request if not in <Deny> or in <Allow>. The number of scheduler queues. The operating system network stack should be configured to support IPv6. Caching data allows the server to make fewer disk reads and to perform better. set: <Order>Allow. Specifies the number of completion routine threads in Windows 32-bit systems for edge server I/O processing. . This is an empty tag.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Example <NetworkingIPv6 enable="false" /> NumCRThreads Located in the RTMP (Connector) container. You can tune the size of each cache. depending on the type of content you are delivering. Each data type (audio.

MaxTracks. The location of the executable file for the web server. one for Flash Media Server and one for Flash Media Administration Server. GID ProcVMSizeMonitorInterval The monitoring interval for process virtual memory use. The elements nested within the Process element contain the UID and GID elements for all server processes. If you do not specify a value for UID and GID. AllowAnyAVCProfile Plugins Container element. For security reasons. after the ProcVMSizeWarn threshold has been triggered. on Linux. MOV. and other MP4 file types. EnableAggMsgs. MaxAggMsgSize. the server runs as root. The default value is bin/httpd.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Contained elements VideoAutoBufferReadSize. Program Located in the Httpd container. AudioAutoBufferReadSize. MaxSampleSize. The default value is 1600.5 CONFIGURATION AND ADMINISTRATION GUIDE 163 XML configuration files reference Playback Container element. The Playback elements configure how the server plays back MP4. in megabytes. in seconds. . ProcVMSizeNominal The log notification threshold for reverting to a nominal process virtual memory use. The elements nested within the Plugins element configure plug-ins. in megabytes. Contained elements FilePlugin. The default value is 60. There are 2 Process elements. UserDefined Process Container element. Protocol Container element. The default value is 1800. all the server processes switch from root to the UID and GID. AllowAnyAACProfile. OtherAutoBufferReadSize. F4V. Contained elements UID. ProcVMSizeWarn The log warning threshold for high process virtual memory use. The elements are applicable to servers running on Linux systems only.

5 CONFIGURATION AND ADMINISTRATION GUIDE 164 XML configuration files reference Flash Media Server receives connections through various protocols. the size of the recording buffer affects the play-while-record experience.Last updated 3/2/2010 FLASH MEDIA SERVER 3. MaxFlushTime. Contained elements MaxELSTEntries. To set the values of all I/O and connection threads processing. MaxDataSampleDescriptions. When you add DVR functionality to an application. • A value greater than 0 allocates the exact number of threads specified. Larger buffers provide better performance for some use cases. However. the core process is shut down. ECCP. use this element to create a public IP address. MaxAudioSampleDescriptions. larger buffers use more memory. RTMP (Protocol) PublicIP Specifies that if the system has more than two network ports. but hurts performance. etc. The default value is 4096. follow these guidelines: • A value of 0 allocates the default number of threads (10). in kilobytes. RecBuffer Container element. The Recording elements configure how the server records F4V/MP4 file types. MaxVideoSampleDescriptions RecordsNumber The number of records in the log queue. • A value less than 0 ties the number of connection threads to the number (N) of processors: • -1 means 1 x N threads • -2 means 2 x N threads. AllowedVideoLag Recording Container element. If an attempt to open the log fails and the number of records in the queue is greater than or equal to this number. The elements in this container configure those protocols and how the connection requests are received. MaxTimestampSkew.The default value of -1 allows an unlimited number of records. MaxFlushSize. A shorter buffer decreases latency between real-time and playback. . Contained elements ACCP. ReadBufferSize The size of the largest I/O read buffers that the server uses. Contains elements that configure the buffer for recording. Contained elements MaxSize (RecBuffer).

RecBuffer. The Root element is a container for all the other elements in the Server. The default value is 100 ms.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Default Value 0 Description Allocates the default number of threads (10). This container holds the elements that configure RTMP (Real-Time Messaging Protocol) for communication between Flash Remoting and Flash Media Server. Protocol. RTMP is the protocol used for communication between Flash Player and Flash Media Server. SocketGC. MessageCache. ThreadPoolGC. Contained elements FLVCachePurge. Allocates the exact number of threads specified. FLVCache. IPCQueues. RTMP (AdminServer) Container element. The default value is 0. SSLSessionCacheGC. RetrySleep Number of milliseconds the server waits before retrying to open a log file. MsgPoolGC. SmallMemPool. FLVCacheSize. SegmentsPool. >0 . ApplicationGC. Relevant when opening a log file fails. Root Container element. This container holds elements that configure which versions of RTMP can be used to connect to the Administration Server. LargeMemPool.xml file.5 CONFIGURATION AND ADMINISTRATION GUIDE 165 XML configuration files reference ResourceLimits Container element. Contained elements RTMPE RTMP (Connector) Container element. ProcVMSizeWarn. Relevant when opening a log file fails. CPUMonitor. The following reference table lists the default values for all thread configurations. Connector.ProcVMSizeNominal. ProcVMSizeMonitorInterval. including the HTTP and RTMP protocols. Master RetryNumber Number of times to retry opening a log file. The elements nested within the ResourceLimits container specify the maximum resource limits for the server.

Last updated 3/2/2010 FLASH MEDIA SERVER 3. Contained elements MaxCacheUnits. Admin. MaxConnectionThreads. (RTMPE also covers RTMPTE. Specifies whether Encrypted Real-Time Messaging Protocol (RTMPE) can be used to connect to the Administration Server. MaxUnitSize. The default is server. . SocketSndBuf. MaxCacheSize. This container holds the elements that configure RTMP (Real-Time Messaging Protocol). GlobalRatio. FreeRatio. Setting this element to false prohibits RTMPE and RTMPTE from being used. NumCRThreads. SocketRcvBuff RTMPE Located in the RTMP container. FreeMemRatio Server Container element. Core. MaxConnectionQueueSize RTMP (Protocol) Container element. Scope Located in the Logging container. MinConnectionThreads. Allocates 2xN threads. The elements in this section configure how the segments pool caches segments of video files within Flash Media Server to increase performance of video streaming and keep frequently used video files in memory. Contained elements MinIOThreads.5 CONFIGURATION AND ADMINISTRATION GUIDE 166 XML configuration files reference Default Value <0 -1 -2 Description Associates the default value with the number (N) of processors. Allocates 1xN threads. RTMP is the protocol used for communication between Flash Player and Flash Media Server. which enables logging for all processes on the server. UpdateInterval. SegmentsPool Container element. The value for this element is server or vhost.) The default value is true. This element determines whether to write a separate log file for each virtual host or to write one log file for the server. Contained elements Edge. MaxAge. MaxIOThreads.

Contained elements HeapSize. MaxQueueSize SmallMemPool Container element. LicenseInfoEx. SSL. Mask. On Windows only. LicenseInfo. ResourceLimits. AutoCloseIdleClients. The server uses this value to set the hostname in the referrer header tag when making a net connection to a remote server. CrossDomainPath. Contained elements NetworkingIPv6. AdminServer. Streams. The elements in this section configure the small memory pool. some application servers require this information as a part of incoming connection requests. MaxUnitSize. FreeMemRatio SocketGC Located in the AdminServer and ResourceLimits containers. ReadBufferSize.com</ServerDomain> Service Located in the Httpd container. FreeRatio. SWFVerification.mycompany. Specifies how often.5 CONFIGURATION AND ADMINISTRATION GUIDE 167 XML configuration files reference The elements nested within the Server element contains the elements that configure the server. specifies the name used to install the webserver as an NT service. PublicIP. the server checks for and removes inactive sockets. the host name field is not supplied in the referrer header. in seconds. GlobalRatio. Example <ServerDomain>mydomain.global. The default value is 60 seconds. If this element is not set. MaxAge. MaxCacheSize. Example <SocketGC>60</SocketGC> . UpdateInterval. The elements in this section control the IPC message queue used by the edge and core processes to communicate with each other. If this element is empty the hostname field is empty in referrer header. Contained elements MaxCacheUnits. Process. For security purposes.Last updated 3/2/2010 FLASH MEDIA SERVER 3. which saves small chunks of memory in the server to increase performance of small allocations. Httpd ServerDomain Specifies the host name (with the domain) of the server computer. Services Container element. Logging. Plugins. Localhost.

Example <Admin> <SocketTableSize>-1</SocketTableSize> </Admin> SSL Container element. Use -1 for the default value.5 CONFIGURATION AND ADMINISTRATION GUIDE 168 XML configuration files reference SocketOverflowBuckets Located in the Edge. Specifies the size of the direct-access socket table for quick look-up. Specifies the number of overflow buckets if all slots in the socket table are in use. It is recommended that you do not explicitly set this value. specify -1 to use the default number of buckets. ACCP containers. ECCP. Core. Example <Admin> <SocketOverflowBuckets>-1</SocketOverflowBuckets> </Admin> SocketRcvBuff The size of the client socket receive buffer. which tells the server to use the operating system default values. ACCP containers. which tells the server to use the operating system default values. SocketTableSize Located in the Edge. The SSL elements in Server. The default value is 0.xml configure the server to act as an SSL-enabled client by securing the outgoing connections. SSLClientCtx . Admin. The default number of buckets is 16. SSLSessionCacheGC. You should explicitly set this value only if you have a very high bandwidth connection that requires a large socket buffer. The default value is 0. The default size is 200. Contained elements SSLRandomSeed. Setting a high value significantly increases the amount of memory used by each client. Admin. ECCP. Core.Last updated 3/2/2010 FLASH MEDIA SERVER 3. in bytes. Setting a high value significantly increases the amount of memory used by each client. It is recommended that you do not explicitly set this value. in bytes. You should explicitly set this value only if you have a very high bandwidth connection that requires a large socket buffer. SocketSndBuf The size of the client socket send buffer.

• Each cipher string can be optionally preceded by the characters !.is used. and the prefix ! removes the cipher from the list. SSLCipherSuite Located in the SSLClientCtx container. For example. This element is a colon-delimited list of encryption resources. but colons are normally used. block export ciphers. Commas or spaces are also acceptable separators. such as RC4-SHA. or one of a selected number of aliases for common groupings. • Lists of cipher suites can be combined in a single cipher string using the + character as a logical and operation. The cipher list consists of one or more cipher strings separated by colons. For Win32 only: If this element is empty. • It can represent a list of cipher suites containing a certain algorithm. block MD5 hashing. The Windows certificate store can be imported into this directory by running FMSMaster . or cipher suites of a certain type. Specifies the suite of encryption ciphers that the server uses to secure communications. SSLCACertificatePath Located in the SSLClientCtx container. The string of ciphers can take several different forms. authentication method. then the ciphers are permanently deleted from the list. there are special keywords and prefixes. such as a key-exchange algorithm. Each file in the directory must contain only a single CA certificate. or +. File names must be the hash with “0” as the file extension. Specifies the name of a file that contains one or more CA (Certificate Authority) digital certificates in PEM (Privacy Enhanced Mail) encryption format. For example. In addition. • If + is used. This option doesn't add any new ciphers—it just moves matching existing ones. SHA1 represents all cipher suites using the digest algorithm SHA1. Specifies the name of a directory containing CA certificates. but block those using anonymous Diffie-Hellman authentication. block low-strength ciphers. and sort ciphers by strength from highest to lowest level of encryption. encryption method.5 CONFIGURATION AND ADMINISTRATION GUIDE 169 XML configuration files reference SSLCACertificateFile Located in the SSLClientCtx container. Important: Contact Adobe Support before changing the default settings. but some or all of the ciphers can be added again later.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The default cipher list instructs the server to accept all ciphers. attempts are made to find CA certificates in the certs directory located at the same level as the conf directory. then the ciphers are moved to the end of the list. Each item in the cipher list specifies the inclusion or exclusion of an algorithm or cipher. then the ciphers are deleted from the list.console . SHA1+DES represents all cipher suites containing the SHA1 and DES algorithms. • If ! is used. -. the keyword ALL specifies all ciphers. . • It can consist of a single cipher suite. and SSLv3 represents all SSL v3 algorithms. For example. • If . The ciphers deleted can never reappear in the list even if they are explicitly stated. digest type.initialize from the command line.

Example This cipher string instructs the server to accept all ciphers except those using anonymous or ephemeral Diffie-Hellman key exchange. • The cipher string @STRENGTH sorts the current cipher list in order of the length of the encryption algorithm key. Key exchange algorithm kRSA kDHr kDHd RSA DH EDH ADH Description Key exchange Diffie-Hellman key exchange with RSA key Diffie-Hellman key exchange with DSA key Ephemeral Diffie-Hellman key exchange RSA key exchange Ephemeral Diffie-Hellman key exchange Anonymous Diffie-Hellman key exchange Authentication methods aNULL aRSA aDSS aDH Description No authentication RSA authentication DSS authentication Diffie-Hellman authentication . The components can be combined with the appropriate prefixes to create a list of ciphers. with the high being preferred. <SSLCipherSuite>ALL:+HIGH:+MEDIUM:+LOW:+EXP:+NULL</SSLCipherSuite> This string instructs the server to accept only high. <SSLCipherSuite>ALL:+HIGH:!LOW:!EXP:!NULL</SSLCipherSuite> This string instructs the server to accept all ciphers but to order them so that SSLv2 ciphers come after SSLv3 ciphers.5 CONFIGURATION AND ADMINISTRATION GUIDE 170 XML configuration files reference • If none of these characters is present. then the string is just interpreted as a list of ciphers to be appended to the current preference list. and reject export-strength versions. This sequencing allows clients to negotiate for the strongest cipher that both they and the server can accept. • If the list includes any ciphers already present. the server does not evaluate them.Last updated 3/2/2010 FLASH MEDIA SERVER 3. <SSLCipherSuite>RSA:!NULL!EXP</SSLCipherSuite> <SSLCipherSuite>RSA:LOW:MEDIUM:HIGH</SSLCipherSuite> This cipher list instructs the server to accept all ciphers but place them in order of decreasing strength. The server evaluates both strings as equivalent. in the order of preference. <SSLCipherSuite>ALL:!ADH:!EDH</SSLCipherSuite> These cipher strings instruct the server to accept only RSA key exchange and refuse export or null encryption. <SSLCipherSuite>ALL:+SSLv2</SSLCipherSuite> The following is the complete list of components that the server can evaluate.and medium-strength encryption. including only those ciphers the server is prepared to accept.

0 ciphers All SSL version 3. Example <SSLRandomSeed>ALL:!ADH:!EDH</SSLRandomSeed> .Last updated 3/2/2010 FLASH MEDIA SERVER 3. SSLCACertificatePath. SSLCipherSuite SSLRandomSeed Located in the SSL container.5 CONFIGURATION AND ADMINISTRATION GUIDE 171 XML configuration files reference Encryption methods eNULL DES 3DES RC4 RC2 IDEA NULL EXP LOW MEDIUM HIGH Description No encoding DES encoding Triple-DES encoding RC4 encoding RC2 encoding IDEA encoding No encryption All export ciphers (40-bit encryption) Low-strength ciphers (no export. DES) 128-bit encryption Triple-DES encoding Digest types MD5 SHA1 SHA Description MD5 hash function SHA1 hash function SHA hash function Additional aliases All SSLv2 SSLv3 DSS Description All ciphers All SSL version 2. Contained elements SSLVerifyCertificate. Specifies how often to flush expired sessions from the server-side session cache.0 ciphers All ciphers using DSS authentication SSLClientCtx Container element. Configures the server to act as an SSL-enabled client by securing the outgoing connections. SSLVerifyDepth. SSLCACertificateFile.

Specifies the maximum depth of the certificate chain to accept. F4V. If a self-signed root certificate cannot be found within this depth. Example <SSLVerifyCertificate>true</SSLVerifyCertificate> SSLVerifyDepth Located in the SSLClientCtx container. Note: Disabling certificate verification can result in security problems. Specifies whether the certificate returned by the server should be verified. Example The following example allows SWF files from either the C or the D directory to be authenticated: <SWFFolder>C:\SWFs. specify false. certificate verification fails. and other MP4 file types.5 CONFIGURATION AND ADMINISTRATION GUIDE 172 XML configuration files reference SSLSessionCacheGC Located in the SSL container.Last updated 3/2/2010 FLASH MEDIA SERVER 3. MOV. Certificate verification is enabled by default. To disable certificate verification. Use a semicolon to separate multiple directories. Example <SSLSessionCacheGC>5</SSLSessionCacheGC> SSLVerifyCertificate Located in the SSLClientCtx container. The default value is 9. The Streams elements configure how the server plays and records MP4. Specifies how often to check for and remove expired sessions from the server-side session cache. Contained elements Mp4 SWFFolder Located in the SWFVerification container. Specifies a folder containing SWF files that are verified to connect to any application on this server. Example <SSLVerifyDepth>9</SSLVerifyDepth> Streams Container element.D:\SWFs</SWFFolder> .

Contained elements SWFFolder. The default is CRLF (carriage return and line feed). Specifies the final characters of each log entry in log files.2 (20%). The time field in a log file can be specified either as UMT (GMT) or local time. The default value is 0.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The default time is 20 minutes. .5 CONFIGURATION AND ADMINISTRATION GUIDE 173 XML configuration files reference SWFVerification Container element. The default setting is local. DirLevelSWFScan.Cache TerminatingCharacters Located in the Logging container. MinGoodVersion. Example <Time>local</Time> TrimSize Located in the HandleCache container. Specifies the time field in a log file. Example <TerminatingCharacters>CRLF</TerminatingCharacters> ThreadPoolGC Located in the ResourceLimits container. representing 0% to 100%. Specifies in minutes how often Flash Media Server checks for and removes unused I/O threads. Can be specified as a number between 0 and 1. MaxInitDelay.2</TrimSize> TTL Located in the Cache container. You cannot specify less than 20 minutes. Contains elements that configure how SWF files connecting to an application are verified. Example <ThreadPoolGC>25</ThreadPoolGC> Time Located in the Logging container. Specifies a percentage of cached handles to remove. Example <TrimSize>0.

UID Located in the Process containers. Specifies the maximum time in minutes to wait for the server to scan the SWF folders for updates when there is a miss in the cache. and decrease the VideoAutoBufferReadSize buffer. The server caches F4V/MP4 video. increase the AudioAutoBufferReadSize buffer. Define elements within the UserDefined element to store data that File plug-ins and Authorization plug-ins can retrieve. See also GID UpdateInterval Specifies how often thread statistics are collected. Each data type (audio. audio. the server or Administration Server runs as root. if you are delivering audio-only content.Last updated 3/2/2010 FLASH MEDIA SERVER 3. VideoAutoBufferReadSize Located in the Playback container. and other data in memory. to achieve better disk performance. The default value is 153600 bytes. and other) has its own cache. If you do not specify a UID or GID. Caching data allows the server to make fewer disk reads and to perform better. The minimum size is 1024 bytes. For more information. This element contains the server process user ID. UserDefined Container element. video. see the getConfig() method in the Flash Media Interactive Server plug-in API Reference available at www. depending on the type of content you are delivering. Example <UpdateInterval>1024</UpdateInterval> UpdateInterval (Cache) Located in the Cache container. .5 CONFIGURATION AND ADMINISTRATION GUIDE 174 XML configuration files reference Specifies in minutes how long each SWF file remains in the SWF verification data cache. The default value is 5 minutes. The default value is every 1024 messages. This element is applicable to Flash Media Server running on Linux systems only. For example. The default value is 1440 minutes (24 hours). You can tune the size of each cache.adobe.com/go/learn_fms_pluginapi_en.

10. The Administration Service is separate from Flash Media Server.133. The HttpCommands container nested within the AdminServer container configures the access level to Flash Media Administration Server.60</Allow> See also Enable. When administrators use the Administration Console to connect to Flash Media Server. However. Deny (HTTPCommands). Deny (User).Last updated 3/2/2010 FLASH MEDIA SERVER 3. Edit this file to identify Flash Media Server administrators and set their access permissions. Adobe does not recommend this usage as it creates a security risk. Contained elements HTTPCommands Allow (HTTPCommands) Lists the Flash Media Administration Server commands that the administrator can access using HTTP. AdminServer Container element.5 CONFIGURATION AND ADMINISTRATION GUIDE 175 XML configuration files reference Users. they are connecting to Flash Media Administration Server.com. Edit this file to set permissions for Administration API calls to Flash Media Administration Server. Example <Allow>foo.xml file installed with Flash Media Server in the RootInstall/conf/ directory.60. Whenever possible. Order (User) . Order (HTTPCommands) Allow (User) Lists the specific hosts from which an administrator can connect to Flash Media Administration Server.yourcompany.xml file The Users.com. use the IP addresses in the Allow element to improve the server’s performance when processing connection requests. The value All authorizes the administrator to use all HTTP commands.xm file is located at the root level of the RootInstall/conf directory. To see the element structure and default values.60</Allow> See also Password. The administrator can only connect to the server from those hosts specified in this Allow element.com.adobe. You can authorize an administrator to use multiple HTTP commands for access by creating a comma-separated list of the commands. Example <Allow>foo.133. see the Users.10. adobe. You authorize the administrator’s access by creating a comma-delimited list of the accessible host names or domain names and/or full or partial IP addresses. which in turn connects to the server.60. 10.com.1.yourcompany.1. 10.

60</Deny> See also Password.Allow</Deny> See also Enable. . You can deny an administrator the use of multiple HTTP commands to access the Administration Service by creating a comma-separated list of those HTTP commands. Setting this element enables HTTP requests to execute administrative commands. Order (HTTPCommands) Deny (User) Flash Media Server uses two elements named Deny: the Deny element in the User container and the Deny element in the HTTPCommands container.133. Example <Enable>true</Enable> See also Allow (HTTPCommands). Example This example lists the computers sending connection requests that Flash Media Administration Server will not accept.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Order (HTTPCommands) HTTPCommands Container element.5 CONFIGURATION AND ADMINISTRATION GUIDE 176 XML configuration files reference Deny (HTTPCommands) Flash Media Server uses two elements named Deny: the Deny element in the User container and the Deny element in the HTTPCommands container.60. This Deny element lists the Flash Media Administration Server commands that an administrator cannot use through HTTP. do not set this element. You restrict the administrator’s access by creating a comma-delimited list of those host names or domain names and/or (full or partial) IP addresses.10.adobe. Example <Deny>Deny.com. To disable administrative access through the use of HTTP requests. This element lists those hosts from which the administrator is not authorized to connect to Flash Media Administration Server. <Deny>foo.10. Order (User) Enable This element enables or disables the use of HTTP requests to execute administrative commands. Deny (HTTPCommands).yourcompany. Allow (User).1. Allow (HTTPCommands).com.

Last updated 3/2/2010 FLASH MEDIA SERVER 3. Contained elements Enable. Allow (HTTPCommands). restart the server. When the encrypt attribute is set to true. Specifies the sequence in which Flash Media Server evaluates the Allow and Deny elements for an administrator.Deny</Order> The alternative sequence Deny. <Order>Allow. Specify each Administration API that may be called over HTTP in a commadelimited list. Passwords are usually encrypted. Deny (User) Password Specifies the password for vhost administrators. Example The sequence Deny. Specifies the order in which to evaluate the Deny and Allow commands. and it is interpreted as an encoded string. Allow (HTTPCommands). . Order (HTTPCommands) Order (HTTPCommands) Flash Media Server uses two Order elements: one in the HTTPCommands container and another in the User container. <Order>Deny. The default value is ping. Deny means that administrative access is allowed unless the user is specified in the Allow list of commands and not in the Deny list: <Order>Allow. Allow means the HTTP command is allowed if the command is in the Allow list of commands or not in the Deny list.Allow</Order> See also Password. the encrypt attribute instructs the server to encrypt the contents of the password.Allow</Order> The sequence Allow. Deny means the HTTP command is allowed if it is in the Allow list of commands and not in the Deny list. When finished. <Order>Deny. Allow (User). Passwords cannot be empty strings (""). Deny (HTTPCommands) Order (User) Flash Media Server uses two Order elements: one in the HTTPCommands container. and the other in the User container. In the following example.Deny</Order> See also Enable. Allow means that administrative access is allowed unless the user is specified in the Deny list of commands and not specified in the Allow list.5 CONFIGURATION AND ADMINISTRATION GUIDE 177 XML configuration files reference This section contains the settings for those Flash Media Administration Server commands that can be accessed through HTTP. the password you see in the file is the encrypted password. Deny (HTTPCommands). Example The default sequence Allow.

then this tag must have its name attribute set to the name of the virtual host under which it resides. These settings include aliases for the virtual host. The Vhost. Example Use the name attribute to identify the login name of a Flash Media Server administrator: <User name="jsmith"></User> See also UserList UserList Container element. limits on the resources the virtual host can use. Each virtual host directory on the server contains its own Vhost.xml file contains elements that define the settings for the virtual host. Order (User) Vhost. Order (User) Root Container element. Example <Root name="_defaultVHost_"> User This element identifies an administrator of the server. Contained elements User. the location of the virtual host’s application directory. Deny (User).xml configuration file defines an individual virtual host. Allow (User). The Root element is a container for all the other elements. and other parameters. The UserList element defines and holds information about server administrators. You can identify multiple administrators of a virtual host by creating a profile for each administrator. . Password.xml file The Vhost.xml file resides under a virtual host (to define administrators for that virtual host).5 CONFIGURATION AND ADMINISTRATION GUIDE 178 XML configuration files reference Example <Password encryt="true"></password> See also Allow (User). Deny (User). If the Users.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml file.

If the edge server receives aggregate messages from the origin when this setting is disabled. You can avoid unexpected behavior by specifying a unique alias for each virtual host.xml. Contained elements AggregateMessages Determines whether aggregate messages are delivered from the edge cache when the virtual host is configured as an edge server. see the Vhost. Example <Alias name="abc">abc.adobe. The default value is false. then specify the alias abc. .adobe. in addition to _defaultVHost_. Each defined virtual host must be mapped to a DNS (domain name server) entry or another name resolution.com</Alias> If the name of this virtual host is “abc. If a client application tries to connect to a virtual host that does not exist.5 CONFIGURATION AND ADMINISTRATION GUIDE 179 XML configuration files reference Each virtual host must have its own directory inside the adaptor directory. Keep in mind that abc must still map to the same IP address as “abc. you can only define one virtual host for the adaptor.com”.com”.com. If you are using a secure port for the adaptor that contains the virtual host. An alias is an alternative short name to use when connecting to the virtual host. the server attempts to connect it to _defaultVHost_. such as a WINS address or a hosts file. but you wish to connect by simply specifying “abc”. RouteEntry Alias The Alias element specifies the assumed name(s) of the virtual host. Example <AggregateMessages enabled="true" <MaxAggMsgSize>65536</MaxAggMsgSize>> </AggregateMessages> See also EdgeAutoDiscovery. If more than one virtual host on the same adaptor has been defined with the same alias. Access Container element. such as streaming.adobe. To see the element structure and default values in Vhost. The elements nested within the Access container configure the Access log settings. that specifies an IP address on the server computer. then the first match that is found is taken. The Alias element lets you specify additional names to connect to this virtual host.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Use the Alias element to shorten long host names. the messages will be broken up before being cached.xml file installed with Flash Media Server in the RootInstall/conf/_defaultRoot_/_defaultVhost_ directory. The Access logs are located in the RootInstall\logs directory. or if you want to be able to connect to this virtual host with different names.adobe. Each adaptor must contain a _defaultVHost_ directory in addition to the custom virtual hosts that you define. The name of the directory must be the actual name of the virtual host.

WaitTime Anonymous Configures the virtual host as an anonymous proxy (also called an implicit or transparent proxy) or as an explicit proxy. Example <AllowOverride>true</AllowOverride> See also Enabled. The default value is false.5 CONFIGURATION AND ADMINISTRATION GUIDE 180 XML configuration files reference See also AliasList AliasList Container element. edge autodiscovery is performed by default.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The elements nested in this section list the alias(es) for this virtual host. the only connections allowed are those coming from the same domain. Adobe does not recommend the use of all. If enabled. Setting this element to true creates an implicit proxy to intercept the incoming URIs.com and yourcompany. You can specify an unlimited number of aliases by adding additional Alias elements. Both anonymous and explicit proxies intercept and aggregate the clients’ requests to connect to the origin server. <Allow>localhost</Allow> This example allows localhost connections only. See also Anonymous AllowOverride Specifies whether overriding edge autodiscovery is allowed by specifying the rtmpd protocol. Contained elements AggregateMessages Allow This element is a comma-delimited list of domains that are allowed to connect to this virtual host.yourcompany. If the Allow element is left empty. Examples <Allow>adobe.com domains. it may create a security risk.com</Allow> This example allows only connections from the adobe. Here are some key differences between anonymous and explicit proxies: • The identity (IP address and port number) of an anonymous server is hidden from the client. The default value is all. Each Alias must map to the IP address of the virtual host. <Allow>all</Allow> This example allows connections from all domains. .com.

5 CONFIGURATION AND ADMINISTRATION GUIDE 181 XML configuration files reference • The anonymous proxy does not change or modify the routing information in the incoming URI before connecting the client(s) to the origin server. the default AppsDir location is C:\Program Files\Adobe\Flash Media Server 3. Streams. • In Linux. The Applications directory is the base directory where all applications for this virtual host are defined. • The routing information in the URI for a chain of explicit proxies specifically identifies the sequence of edge servers in the chain. You define an application by creating a subdirectory with the application name. • Any anonymous proxy in the chain passes on.5\applications. EdgeAutoDiscovery.Last updated 3/2/2010 FLASH MEDIA SERVER 3. LocalAddress. and Script engines. • The URI for an explicit proxy specifies the edge server(s) that will intercept connection requests to the origin server. The default interval is 1 minute. RouteTable. . MaxSharedObjects AppsDir Specifies the Applications directory for this virtual host. such as Shared Objects. • The explicit proxy modifies the routing information in the URI by stripping off its token or identifier in the URI before passing the URI on to the next server in the chain. • In Windows. the routing information in the URI to the next edge server in the chain. MaxEdgeConnections. the default location is /opt/adobe/fms/applications. AggregateMessages AppInstanceGC Specifies how often to check for and remove unused resources for application instances. • The URI for a chain of explicit proxies directs all clients’ connection requests through a specific sequence of edge servers before making the connection to the origin server. You can create a chain of proxies by specifying them in the URI. • The routing information in the URI for a chain of explicit proxies specifies the edge servers that are chained together to intercept connection requests to the origin server. without modification. Example <Anonymous>falsetrue</Anonymous> See also Mode. CacheDir. Example <AppInstanceGC>1</AppInstanceGC> See also MaxConnections. MaxAppInstances. see “Mapping directories to network drives” on page 34 for additional information. Note: If you use this tag to map to a network drive. MaxStreams.

. The server closes the client connection to the server and writes a message to the access log.xml values.D:\NewApps</AppsDir> You can specify multiple applications directories by separating locations with a semicolon (. If you change the default location of the AppsDir element. Determines whether or not to close idle clients automatically. Once you enable the feature in the Server. A client is active when it is sending or receiving data. the feature is disabled. unless the values are defined in the Vhost.xml file. each of which contains application subdirectories. you can disable the feature for individual virtual hosts in the Vhost. the values defined in the Server. If the enable attribute is omitted or set to false. VirtualKeys AutoCloseIdleClients Container element. The server also writes a message such as “Client x has been idle for y seconds” in the core and event logs.xml files or for individual applications in Application.5 CONFIGURATION AND ADMINISTRATION GUIDE 182 XML configuration files reference Example 1 <AppsDir>C:\MyApps. the applications directory is assumed to be located in the vhost directory. the server sends a status message to the NetConnectionobject (the client).).xml file. When a client has been idle longer than the maximum idle time (60 seconds by default). Use AutoCloseIdleClients to specify how often the server should check for idle clients. you must enable the feature in the Server. Example 2 The following example shows a mapping to a network drive: <AppsDir>\\myNetworkDrive\share\fmsapps</AppsDir> See also AliasList. This ensures that the Administration Console (fms_adminConsole.xml values override the Vhost. The Vhost.swf) will be able to connect to the virtual host. Set the enable attribute to true to close idle clients. ResourceLimits.xml values. MaxIdleTime CacheDir Container element.xml configuration file apply to all clients connected to the Vhost.xml configuration file apply to all clients connected to the server. The default value is false. Example <AutoCloseIdleClients enable="false"> <MaxIdleTime>600</MaxIdleTime> </AutoCloseIdleClients> See also AppsDir. The Application. You can specify two locations. To configure the closing of idle connections. If no location is specified for this element. unless values are defined in the Application. Subsequently.xml values override the Server. The values defined in the Vhost.xml.Last updated 3/2/2010 FLASH MEDIA SERVER 3. be sure to include a directory named admin in each directory.xml file.xml file.

In this case. and publish-continue.xml and Application. RouteTable. Anonymous. You can also override the logging interval at the vhost and application levels. each virtual host should point to its own cache directory. The contents of the cache change. Contained elements Mode. Caching static content can reduce the overall load placed on the origin server. The default value of the enabled attribute is false. VirtualDirectory EdgeAutoDiscovery Container element. Set the enable attribute to true to turn on checkpoint events in logs. then this element is used as the domain suffix. MaxSize See also RequestTimeout Checkpoints Enables logging checkpoint events. AppsDir. VirtualKeys.xml files. The edge server caches content locally to aid performance. The default value is true. This element contains the enable attribute which you can set to true or false. If a reverse DNS look up fails to return the domain as part of the host name. The useAppDir attribute determines whether to separate cache subdirectories by application. Set this element on an edge server or an intermediate origin server to control the caching behavior. You can disable checkpoints at the vhost and application level in the Vhost. LocalAddress. If a server has multiple virtual hosts. play-continue. Path. in addition to being cached in memory. This element controls whether the cached streams are written to disk. ResourceLimits. See also AliasList. . especially for vod (video on demand) applications. Contains elements that configure edge autodiscovery. The following are available as checkpoint events: connect-continue.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml file. the edge server tries to determine which server in the cluster it should connect to (may or may not be the server specified in the URL). Checkpoint events log bytes periodically from the start to the end of an event. An edge server may connect to another server that is part of a cluster. You must enable checkpoint events at the server level in the Server. The default value is false. LogInterval DNSSuffix Specifies the primary DNS suffix for this virtual host. Contained elements CheckInterval.5 CONFIGURATION AND ADMINISTRATION GUIDE 183 XML configuration files reference This element enables or disables writing recorded streams to disk.

The keys can be any alphanumeric value.0.9.play("vod/someMovie").9. For more information.0" to="WIN to="WIN to="MAC to="MAC 9. if a client with key A requests a stream with the URL NetStream.45. the edge server tries to determine to which server in a cluster it should connect.0.Last updated 3/2/2010 FLASH MEDIA SERVER 3. If a client with key B requests a stream with the URL NetStream.0.0. AllowOverride.virtualKey and Stream. it is served the stream c:\sorenson\someMovie.adobe. The default value is false.45. WaitTime Enabled Specifies whether edge autodiscovery is enabled.0">A</Key> 7.flv. you map virtual directories used in URLs to physical directories containing streams.com/go/learn_fms_content_en.9">B</Key> 9. see the Client. See also VirtualKeys . see the “Configuring content storage” section of the Configuration and Administration Guide at www. In the following example.0. <VirtualDirectory> <Streams key="A">vod. You can add Key elements that map Flash Player information to keys.9.0" 6. For more information.0" 6. it is served the stream c:\on2\someMovie. the keys are A and B: <VirtualKeys> <Key from="WIN <Key from="WIN <Key from="MAC <Key from="MAC </VirtualKeys> 8. In the following example.flv.c:\on2</Streams> <Streams key="B">vod.0">A</Key> 7.0.9.9">B</Key> In the VirtualDirectory element.0" 8. WaitTime Key When Flash Player connects to Flash Media Server.0. it sends the server a string containing its platform and version information.0. Example <Enabled>false</Enabled> See also AllowOverride.play("vod/someMovie").setVirtualPath() entries in the Server-Side ActionScript Language Reference. If Enabled is set to true.5 CONFIGURATION AND ADMINISTRATION GUIDE 184 XML configuration files reference Example <EdgeAutoDiscovery> <Enabled>false</Enabled> <AllowOverride>true</AllowOverride> >WaitTime>1000</WaitTime> </EdgeAutoDiscovery> See also Enabled.0.0.c:\sorenson</Streams> </VirtualDirectory> Note: You can also set these values in a server-side script.

If the value is smaller. might require more than one instance.Last updated 3/2/2010 FLASH MEDIA SERVER 3. The default number is 15. This strategy is useful when configuring an edge to either transparently pass on or intercept requests and responses. Aggregate messages received directly from the origin server are returned as is and their size is determined by the origin server settings for aggregate message size. See also Proxy Logging Container element.536. A Flash SWF file defines which application instance it is connecting to by the parameters it includes with its ActionScript connect call. See also MaxAggMsgSize Specifies the size in bytes of aggregate messages returned from the edge cache. because each chat room represents a separate instance of the application on the server. Contained elements LogInterval Specifies how often to log a checkpoint. Contains elements that control logging. If the LocalAddress element is not specified. . the server logs a checkpoint every check interval.) The default size is 65. in seconds. (Aggregate messages must be enabled. This setting only applies to messages retrieved from the disk cache. The default value is 3600 seconds (60 minutes). This value should be larger than the value for CheckInterval. for example.000 application instances.5 CONFIGURATION AND ADMINISTRATION GUIDE 185 XML configuration files reference LocalAddress This element binds an outgoing edge connection to a specific local IP address. Example <MaxAggMsgSize>66536</MaxAggMsgSize> See also AggregateMessages MaxAppInstances Specifies the maximum number of application instances that can be loaded into this virtual host. A chat application. The LocalAddress element lets you allocate incoming and outgoing connections to different network interfaces. then outgoing connections bind to the value of the INADDR_ANY Windows system variable.

If no value is set for this element in the Vhost. The maximum number of allowed connections is encoded in the license file.5 CONFIGURATION AND ADMINISTRATION GUIDE 186 XML configuration files reference Example <MaxAppInstances>15000</MaxAppInstances> See also MaxConnections. The value for the MaxIdleTime element in the Vhost. The default number of shared objects is 50. A different value can be set for each virtual host. Example <MaxConnections>-1</MaxConnections> See also MaxAppInstances.xml file.Last updated 3/2/2010 FLASH MEDIA SERVER 3. before a client is disconnected. . MaxStreams. MaxEdgeConnections. Example <MaxEdgeConnections>1</MaxEdgeConnections> See also MaxConnections. the server uses the value in the Server. the server uses the value 1200 seconds (20 minutes). MaxSharedObjects.000.xml file overrides the value of the MaxIdleTime element in the Server. AppInstanceGC MaxEdgeConnections Specifies the maximum number of connections that can remotely connect to this virtual host. MaxStreams. This number is enforced by the license key. MaxSharedObjects. MaxSharedObjects.xml file. MaxEdgeConnections. Connections are denied if the specified limit is exceeded. The default idle time is 3600 seconds (60 minutes).xml file. in seconds. Example <MaxIdleTime>3600</MaxIdleTime> See also AutoCloseIdleClients MaxSharedObjects Specifies the maximum number of shared objects that can be created. AppInstanceGC MaxIdleTime Specifies the maximum idle time allowed. MaxStreams. AppInstanceGC MaxConnections Specifies the maximum number of clients that can connect to this virtual host. which represents an unlimited number of connections. If you set a value lower than 60 seconds. The default number is -1. MaxAppInstances.

MaxStreams. The default number of streams is 250.000. MaxEdgeConnections. A value of -1 specifies no maximum. AppInstanceGC Mode The Mode element configures whether the server runs as an origin server or as an edge server. The default value is 32 gigabytes. The Mode element can be set to local or remote. LocalAddress. the virtual host is evaluated as an alias for the default virtual host and assumes its configuration. AppInstanceGC MaxSize Specifies the maximum allowed size of the disk cache. Flash Media Server runs its applications locally and is called an origin server. The value must be an absolute path. The server does LRU (least recently used) cleanup of the cache to keep it under the maximum size.Last updated 3/2/2010 FLASH MEDIA SERVER 3. A value of 0 disables the disk cache. • When the Mode element is set to local. the location is RootInstall/cache/. By default. MaxAppInstances. in gigabytes. MaxAppInstances. . EdgeAutoDiscovery Path Specifies the physical location of the proxy cache. Example <Mode>local</Mode> See also Anonymous. The default setting is local. the server behaves as an edge server that connects to the applications running on an origin server. CacheDir. • If the Mode element is undefined. RouteTable. • When the Mode element is set to remote. Relative paths are ignored and the server uses the default folder. See also MaxStreams Specifies the maximum number of streams that can be created. MaxSharedObjects.5 CONFIGURATION AND ADMINISTRATION GUIDE 187 XML configuration files reference Example <MaxSharedObjects>50000</MaxSharedObjects> See also MaxConnections. Example <MaxStreams>250000</MaxStreams> See also MaxConnections.

The default value is 2 seconds. Contained elements Mode. Contained elements MaxConnections. RouteEntry Instructs the edge server to forward the connection request to one server’s IP address and port number [host:port] to a different IP address and port number. content. Anonymous. The RouteTable element contains the RouteEntry elements that control where the edge server reroutes requests. CacheDir. LocalAddress. RequestTimeout RequestTimeout The maximum amount of time. Implicit proxies hide the routing information from the clients. AppInstanceGC. You can also add the protocol attribute to an individual RouteEntry element to specify how the edge server reroutes requests. however. and so on. The elements in this section specify the maximum resource limits for this virtual host. MaxSharedObjects. MaxStreams. Edge servers are configured with the RouteEntry element to direct connections to another destination.5 CONFIGURATION AND ADMINISTRATION GUIDE 188 XML configuration files reference See also Proxy Container element. SSL. Flash Media Server applies the protocol specified in the RouteTable element. MaxAppInstances. If no protocol is specified. The connection syntax for this element is flexible. The elements nested in this section configure this virtual host as an edge server that can forward connection requests from applications running on one remote server to another server. RouteTable.Last updated 3/2/2010 FLASH MEDIA SERVER 3. AggregateMessages. the SSL connection to upstream servers will use the default configuration specified in the SSL section of the Server. Note: Whenever a virtual host is configured as an edge server. Examples This example shows how you can configure the edge to route all connections to the host foo to the host bar. EdgeAutoDiscovery. MaxEdgeConnections. This value -1 specifies an unlimited amount of time (no timeout). as demonstrated in the following examples.xml file. the server waits for a response to a request from an upstream server. . See also CacheDir ResourceLimits Container element. A request can be for metadata. in seconds. If this virtual host is configured to run in remote mode and you want to configure the properties of an outgoing SSL connection to an upstream server. it behaves locally as a remote server.

• Specifying rtmp instructs the edge not to use a secure outgoing connection. <RouteEntry>*:*. even if the incoming connection was not secure. You can override the security status for a connection mapping by specifying a protocol attribute in a RouteEntry element. or rtmps for a secure connection. . For example. By default. • Specifying "" (an empty string) means preserving the security status of the incoming connection. The attribute is set to "" (an empty string). the outgoing connection will not be secure. <RouteTable protocol="rtmp"> or <RouteTable protocol="rtmps"> The RouteEntry elements nested under the RouteTable element specify the routing information for the edge server.null</RouteEntry> See also RouteTable RouteTable Container element. <RouteEntry>*:*. Administrators use these elements to route connections to the desired destination. Its effect is to reject all connections destined for foo:80. if you were to connect to foo:1935. The RouteTable element can be left empty or it can contain one or more RouteEntry elements.*:1936</RouteEntry> The example instructs the server to use the values for host and port on the left side as the values for host and port on the right side. • If the incoming connection was not secure. <RouteEntry>*:*. and to route connections destined for any host on any port to the same host on port 80. even if the incoming connection was secure. rtmp for a connection that isn’t secure. the connection would be routed to foo:1936. • If the incoming connection was secure.foo:1935</RouteEntry> The example instructs the server to route connections to any host on any port to the specified host on port 1936. <RouteEntry>foo:80. The protocol attribute specifies the protocol to use for the outgoing connection.5 CONFIGURATION AND ADMINISTRATION GUIDE 189 XML configuration files reference <Proxy> <RouteTable protocol=""> <RouteEntry>foo:1935.Last updated 3/2/2010 FLASH MEDIA SERVER 3.*:80</RouteEntry> The example instructs the server to route a host:port combination to null. • Specifying rtmps instructs the edge to use a secure outgoing connection. then the outgoing connection will also be secure.The example shows how to route connections destined for any host on any port to port 1935 on the host foo. Flash Media Server applies the protocol configured in the RouteTable list unless the mapping for a particular RouteEntry element overrides it.bar:80</RouteEntry> </RouteTable> </Proxy> Use of the wildcard character * to replace host and port.

xml to configure the SSL connection to upstream servers. Contained elements SSLCACertificateFile. When Flash Media Server acts as a client to make an outgoing SSL connection. SSLCipherSuite Specifies the suite of encryption ciphers that the server uses to secure communications.xml file.xml file is not evaluated. File names must be the hash with “0” as the file extension. SSLCipherSuite.xml file are not present. attempts are made to find CA certificates in the certs directory located at the same level as the conf directory.xml file. Flash Media Server uses the default values specified in the SSL section of Server. SSLVerifyDepth SSLCACertificateFile Specifies the name of a file that contains one or more CA (Certificate Authority) digital certificates in PEM (Privacy Enhanced Mail) encryption format. You can also override the configuration for outgoing SSL connections for an individual virtual host in Vhost. Each file in the directory must contain only a single CA certificate. SSLCACertificatePath.xml by copying the SSL elements in Server.xml file to configure the connection. Flash Media Server uses the SSL elements in the Vhost.5 CONFIGURATION AND ADMINISTRATION GUIDE 190 XML configuration files reference Contained elements RouteEntry SSL Container element. then you must enable this section and configure its SSL elements appropriately. the following sequence of events takes place: • The SSL elements in the Vhost. . • If the SSL elements in an edge’s Vhost. the SSL information in the vhost. If a virtual host is running in remote mode as an edge server and you want to configure the properties of an outgoing SSL connection to an upstream server.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml to the corresponding SSL section in the Vhost.xml. SSLCACertificatePath Specifies the name of a directory containing CA certificates.console .xml file. For more information on the SSL elements in Server.xml file to configure the connection.xml file match the SSL elements in the Server. see SSL. • If the SSL elements in the Vhost. For Win32 only: If this element is empty.initialize from the command line.xml file override the SSL elements in the Server. The Windows certificate store can be imported into this directory by running FMSMaster . Flash Media Server uses the default values for SSL in the Server.xml file are evaluated first. Note: When Flash Media Server is running in local mode as an origin server. • If the SSL elements in the Vhost. SSLVerifyCertificate.

then the ciphers are deleted from the list. • It can consist of a single cipher suite. the server does not evaluate them. <SSLCipherSuite>RSA:!NULL!EXP</SSLCipherSuite> <SSLCipherSuite>RSA:LOW:MEDIUM:HIGH</SSLCipherSuite> This cipher list instructs the server to accept all ciphers but place them in order of decreasing strength. <SSLCipherSuite>ALL:!ADH:!EDH</SSLCipherSuite> These cipher strings instruct the server to accept only RSA key exchange and refuse export or null encryption. and the prefix ! removes the cipher from the list. This sequencing allows clients to negotiate for the strongest cipher that both they and the server can accept. • If + is used. • If . or +.5 CONFIGURATION AND ADMINISTRATION GUIDE 191 XML configuration files reference This element is a colon-delimited list of encryption resources. This option doesn't add any new ciphers—it just moves matching existing ones. The ciphers deleted can never reappear in the list even if they are explicitly stated. block export ciphers. but colons are normally used. there are special keywords and prefixes. such as a key-exchange algorithm. • Each cipher string can be optionally preceded by the characters !. • The cipher string @STRENGTH sorts the current cipher list in order of the length of the encryption algorithm key. The string of ciphers can take several different forms.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Example This cipher string instructs the server to accept all ciphers except those using anonymous or ephemeral Diffie-Hellman key exchange. SHA1+DES represents all cipher suites containing the SHA1 and DES algorithms. SHA1 represents all cipher suites using the digest algorithm SHA1. or cipher suites of a certain type.is used. including only those ciphers the server is prepared to accept. then the ciphers are moved to the end of the list. block MD5 hashing. • Lists of cipher suites can be combined in a single cipher string using the + character as a logical and operation. • It can represent a list of cipher suites containing a certain algorithm. such as RC4-SHA. then the string is just interpreted as a list of ciphers to be appended to the current preference list. but block those using anonymous Diffie-Hellman authentication. digest type. encryption method. block low-strength ciphers. The components can be combined with the appropriate prefixes to create a list of ciphers. • If none of these characters is present. and sort ciphers by strength from highest to lowest level of encryption. The server evaluates both strings as equivalent. • If the list includes any ciphers already present. and SSLv3 represents all SSL v3 algorithms. Important: Contact Adobe Support before changing the default settings. For example. The cipher list consists of one or more cipher strings separated by colons. <SSLCipherSuite>ALL:+HIGH:+MEDIUM:+LOW:+EXP:+NULL</SSLCipherSuite> . or one of a selected number of aliases for common groupings. in the order of preference. Commas or spaces are also acceptable separators. but some or all of the ciphers can be added again later. -. the keyword ALL specifies all ciphers. In addition. then the ciphers are permanently deleted from the list. authentication method. For example. • If ! is used. The default cipher list instructs the server to accept all ciphers. For example. Each item in the cipher list specifies the inclusion or exclusion of an algorithm or cipher.

<SSLCipherSuite>ALL:+SSLv2</SSLCipherSuite> The following is the complete list of components that the server can evaluate. with the high being preferred.Last updated 3/2/2010 FLASH MEDIA SERVER 3. <SSLCipherSuite>ALL:+HIGH:!LOW:!EXP:!NULL</SSLCipherSuite> This string instructs the server to accept all ciphers but to order them so that SSLv2 ciphers come after SSLv3 ciphers. and reject export-strength versions. Key exchange algorithm kRSA kDHr kDHd RSA DH EDH ADH Description Key exchange Diffie-Hellman key exchange with RSA key Diffie-Hellman key exchange with DSA key Ephemeral Diffie-Hellman key exchange RSA key exchange Ephemeral Diffie-Hellman key exchange Anonymous Diffie-Hellman key exchange Authentication methods aNULL aRSA aDSS aDH Description No authentication RSA authentication DSS authentication Diffie-Hellman authentication Encryption methods eNULL DES 3DES RC4 RC2 IDEA NULL EXP LOW MEDIUM HIGH Description No encoding DES encoding Triple-DES encoding RC4 encoding RC2 encoding IDEA encoding No encryption All export ciphers (40-bit encryption) Low-strength ciphers (no export. DES) 128-bit encryption Triple-DES encoding .5 CONFIGURATION AND ADMINISTRATION GUIDE 192 XML configuration files reference This string instructs the server to accept only high.and medium-strength encryption.

Certificate verification is enabled by default. the server adds one. For more information. The Streams element enables you to specify a virtual directory for stored stream resources used by more than one application. Examples The following configuration maps all streams whose names begin with foo/ to the physical directory c:\data. Note: Disabling certificate verification can result in security problems.Last updated 3/2/2010 FLASH MEDIA SERVER 3. the server checks for a virtual directory mapping for foo. If there is no virtual directory for foo/bar.0 ciphers All SSL version 3. By using a virtual directory. <Streams>foo. Since a virtual directory mapping does exist for foo. If a self-signed root certificate cannot be found within this depth. the stream foo. specify false.c:\data</Streams> If a stream is named foo/bar/x.flv. SSLVerifyDepth Specifies the maximum depth of the certificate chain to accept. certificate verification fails. To disable certificate verification. see the “Configuring content storage” section of the Configuration and Administration Guide at www.flv. you specify a relative path that points to a shared directory that multiple applications can access.com/go/learn_fms_content_en. You can specify multiple virtual directory mappings for streams by adding additional Streams elements—one for each virtual directory mapping.5 CONFIGURATION AND ADMINISTRATION GUIDE 193 XML configuration files reference Digest types MD5 SHA1 SHA Description MD5 hash function SHA1 hash function SHA hash function Additional aliases All SSLv2 SSLv3 DSS Description All ciphers All SSL version 2. The stream named foo/bar maps to the physical file c:\data\bar. Example <SSLVerifyDepth>9</SSLVerifyDepth> Streams Specifies the virtual directory mapping for recorded streams. . The default value is 9. Note: If the virtual directory you specify does not end with a backslash.0 ciphers All ciphers using DSS authentication SSLVerifyCertificate Specifies whether the certificate returned by the server should be verified. the server tries to find a virtual directory mapping for foo/bar.bar maps to the file c:\data\bar\x.adobe.

if a client called NetStream.xml file.play("vod/myVideo"). For more information. the server would play the file d:\sharedStreams\myVideo. This element contains all the configuration elements for the Vhost. The keys are used in the VirtualDirectory element to map URLs to physical locations on a server.flv: <VirtualDirectory> <Streams>vod.Last updated 3/2/2010 FLASH MEDIA SERVER 3. make sure that the computer running Flash Media Server has the right permissions to access the other computer. see VirtualKeys.xml file. For detailed information on mapping virtual directories. For more information. Use these elements to deliver streams to clients based on Flash Player version. <Streams>common.d:\sharedStreams</Streams> </VirtualDirectory> Contained elements Streams See also VirtualKeys VirtualHost Root element of the Vhost.C:\flashmediaserver\myapplications\shared\resources\</Streams> If the application “videoConference” refers to an item common/video/recorded/june5 and the application “collaboration” refers to common/video/recorded/june5. Note: If you are mapping a virtual directory to a drive on another computer. using the following VirtualDirectory XML. See also VirtualDirectory VirtualDirectory Specifies virtual directory mappings for resources such as recorded streams. Flash Media Server serves the resource from the physical directory. VirtualKeys Lets you map Flash Player versions to keys. they both point to the same item C:\flashmediaserver\myapplications\shared\resources\video\recorded\june5\. Virtual directories let you share resources among applications. see “Mapping virtual directories to physical directories” on page 35. Example For example. see “Mapping directories to network drives” on page 34. . When the beginning portion of a resource’s URI matches a virtual directory. You can use the VirtualDirectory element in conjunction with the VirtualKeys element to serve content based on Flash Player version information.5 CONFIGURATION AND ADMINISTRATION GUIDE 194 XML configuration files reference The following configuration maps streams whose paths begin with common/ to the folder C:\flashmediaserver\myapplications\shared\resources.

and return an XML response. AllowOverride . The number must be long enough to establish a TCP connection. collect the UDP responses. Do not set this number too low. Example <WaitTime>1000</WaitTime> See also Enabled.Last updated 3/2/2010 FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 195 XML configuration files reference Contained elements Key WaitTime Specifies length to wait in milliseconds for edge autodiscovery. perform a UDP broadcast.

xx. lock count %2$S. Command name not found in the message.. Message ID 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 Description Received termination signal.xx. pn]). process will be terminated. service will be stopped. Invalid application. Reinitializing server.log. core.xx. Response object not found (%1$S).log. Failed to stop %1$S listeners for adaptor %2$S.log.log) record information about server operations. Message IDs can be useful for administrators who want to write error-handling scripts.log. Nested lock for shared object %1$S. invalid parameters: call(methodName[. Service Control Manager reported (%1$S: %2$S). Asynchronous I/O operation failed (%1$S: %2$S). Failed to create thread (%1$S). and httpcache. see “Access logs” on page 57 and “Application logs” on page 63. server shutdown in progress. Missing unlock for shared object %1$S. instances. Received interrupt signal. IP %2$S. The call method failed. Ignoring message from client during authentication.. resultObj. Service Control Manager failed (%1$S: %2$S). p1. server shutdown in progress. Clients not allowed to broadcast message. Error during shutdown process. rejecting message (%1$S). or users that you can use for debugging. Method not found (%1$S). .xx. lock count %2$S. Dropping application (%1$S) message. Failed to start the following listeners for adaptor %1$S: %2$S. Server starting. admin. Server initialization failed. Failed to create listener for adaptor %1$S.xx. Failed to stop virtual host (%1$S).Last updated 3/2/2010 196 Chapter 8: Diagnostic Log Messages Message IDs in diagnostic logs The IDs of messages that appear in the diagnostic log files (master. edge. For status codes related to applications. Failed to execute method (%1$S). Unlock called without matching lock for shared object %1$S. Server stopped %1$S. port %3$S: %4$S.

Failed Invalid application name (%1$S). Alive. connection may be lost (%1$S). Write access denied for stream %1$S. Invalid user ID (%1$S). Parse error at line %1$S: %2$S. Failed to start virtual host (%1$S). Failed to change password: %1$S. Resource limit violation. Exception while processing message.Last updated 3/2/2010 FLASH MEDIA SERVER 3.Call. Admin request received from an invalid Administration Server. Bad network data. Connect failed ( %1$S. Rejecting connection from %1$S to %2$S. Virtual host %1$S is not available. Administrator login failed for user %1$S. No adaptors defined. NetConnection. Failed to start server. Unknown %1$S command issued for stream %2$S (application %3$S). Reserved property (%1$S). Unable to create stream: %1$S. Illegal subscriber: %1$S cannot subscribe to %2$S. terminating connection: %1$S. Resource limit violation. Write access denied for shared object %1$S. Script execution is taking too long. Connect from host (%1$S) not allowed. Failed to open configuration file: %1$S. Read access denied for shared object %1$S. Read access denied for stream %1$S. %2$S ): %3$S. . Invalid parameters to %1$S method. Invalid proxy object. Failed to remove administrator: %1$S. Failed to create administrator: %1$S. Unable to create shared object: %1$S. Adaptor already defined with the name %1$S.5 CONFIGURATION AND ADMINISTRATION GUIDE 197 Diagnostic Log Messages Message ID 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 Description Connection to %1$S lost.

(%2$S. Failed to record %1$S. Illegal access property (%1$S). Connection to Flash Media Server has been disconnected. Failed to play (stream ID: %1$S). New NetStream created (stream ID: %1$S). Recording %1$S.CommandFailed Invalid parameters to %1$S method. %3$S) : Failed to load application instance %1$S. Stream %1$S has been idling for %2$S second(s). Unpausing %1$S. Play stop failed. Connection rejected: maximum user limit reached for application instance %1$S. Failed to unload application %1$S. %1$S is now unpublished. Failed to restart virtual host (%1$S). (%2$S.5 CONFIGURATION AND ADMINISTRATION GUIDE 198 Diagnostic Log Messages Message ID 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 Description NetConnection. Stopped playing %1$S. %1$S applications unloaded. NetStream deleted (stream ID: %1$S). Audio receiving disabled (stream ID: %1$S). Stopped recording %1$S. Pausing %1$S. %1$S is now published.Admin. Client already connected to an application.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Publishing %1$S. Audio receiving enabled (stream ID: %1$S). Failed to load application %1$S. Failed to play %1$S (stream ID: %2$S). Error registering class: name mismatch (%1$S. Playing and resetting %1$S. Failed to publish %1$S. %3$S) : Connection rejected to application instance %1$S. Invalid virtual host alias : %1$S. . stream ID: %1$S. %2$S). Started playing %1$S. Admin user requires valid user name and password.

Unknown exception caught in %1$S. Invalid method name (%1$S). Configuration error for adaptor %1$S: IP %2$S and port %3$S are already in use. Failed to open shared object file (%1$S) for read. 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 .5 CONFIGURATION AND ADMINISTRATION GUIDE 199 Diagnostic Log Messages Message ID 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 Description Failed to enable audio receiving (stream ID: %1$S). Take action. Video receiving enabled (stream ID: %1$S). Connection failed. stream not found. Video receiving disabled (stream ID: %1$S). JavaScript runtime is out of memory. Configuration file not found: %1$S Invalid configuration file: %1$S Server aborted. Failed to initialize listeners for adaptor %1$.Last updated 3/2/2010 FLASH MEDIA SERVER 3. %3$S): Invalid application name (%1$S). Invalid stream name (%1$S). Invalid shared object (%1$S). VHost: %2$S. Failed to open shared object file (%1$S) for write. Connection succeeded. Insufficient admin privileges to perform %1$S command. Server started (%1$S). JavaScript engine runtime is low on free memory. Failed to stop playing (stream ID: %1$S). Invalid NetStream ID (%1$S). Failed to receive video (stream ID: %1$S). Check the JavaScript runtime size for this application in the configuration file. Failed to seek %1$S (stream ID: %2$S). Failed to create adaptor: %1$S. Failed to seek (stream ID: %1$S). Flash Media Server is already running or other processes are using the same ports. Seeking %1$S (stream ID: %2$S). App: %3$S). Set video fps to %1$S (stream ID: %2$S). Failed to play %1$S. Failed to start listeners for adaptor %1$S. (%2$S. Failed to flush shared object (%1$S). server shutting down instance (Adaptor: %1$S. Invalid schedule event format (%1$S).

Unable to create directory %1$S. Pause %1$S failed. Invalid admin command: %1$S. License key specified does not allow multiple virtual host support. Invalid object name (stream ID: %1$S). Trial run expired. Unable to load new application: %1$S. Rejecting connection. Preload application aborted. %3$S): Application (%1$S) is currently offline.AccessDenied NetConnection. %3$S): Resource limit violation. NetConnection.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Server shutting down. %3$S): Application (%1$S) is not defined. Failed to play %1$S. (%2$S. Unable to locate script file: %1$S.Success Unable to locate server configuration file during startup. %3$S/%1$S): Current server bandwidth usage exceeds license limit set. . Beta expired.Call. Unable to create new application instance: %1$S. invalid arguments. (%2$S. (%2$S. NetConnection. shared object (%1$S) has been locked for %2$S sec. invalid arguments. Rejecting connection to: %1$S. Rejecting connection. (%2$S. Failed to load admin application.BadValue Publish %1$S failed. (%2$S. Potential deadlock. Invalid license key: %1$S License key specified does not allow multiple adaptor support. Server shutdown failed. Invalid shared object file (%1$S). Breaking potential deadlock. shared object(%1$S) lock reset to unlocked. (%2$S.Call.5 CONFIGURATION AND ADMINISTRATION GUIDE 200 Diagnostic Log Messages Message ID 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 Description Failed to initialize shared object from persistent store (%1$S). Command successful. index file not found or mismatch. %3$S): Resource limit violation. Multiprocessor support available only in Enterprise Edition. (%2$S.Call. %3$S/%1$S): Current virtual host bandwidth usage exceeds max limit set. Script is taking too long to process the event. %3$S): Resource limit violation. Shutting down instance: %1$S. Admin command setApplicationState failed for %1$S.

using %3$S. Error from %1$S:%2$S. Adaptor (%1$S) has an SSL configuration error on port %2$S. Warning from %1$S:%2$S. Restarting listener (%1$S): %2$S. adaptor not found: %2$S. Invalid value set for configuration key: %1$S = %2$S. Failed to record %1$S. %3$S): Max connections allowed exceed license limit. Out of memory: %1$S. Max Allowed %2$S. Invalid cryptographic accelerator: %1$S. Rejecting connection to: %1$S. Rejecting connection request Host: %2$S:%3$S. Generic message code. Info from %1$S:%2$S. Client to server bandwidth limit exceeded. [Virtual host (%1$S).Last updated 3/2/2010 FLASH MEDIA SERVER 3. Failed login attempt from %1$S at %2$S. Exception while processing message: %1$S. Current %3$S] . Pending queue size limit %1$S reached. Failed to execute admin command: %1$S. Attempt to reconnect to Flash Media Server. Exception caught in %1$S while processing streaming data inside %2$S. Failed to seed the pseudorandom number generator. Listener started (%1$S): %2$S. Failed to initialize cryptographic accelerator: %1$S. Invalid shared object name (%1$S). no space left on device. Unloaded application instance %1$S. System memory load (%1$S) is now below the maximum threshold. Application directory does not exist: %1$S Using default application directory: %1$S Application instance is not loaded: %1$S Error: command message sent before client connection has been accepted. (%2$S. System memory load (%1$S) is high. Instance will be unloaded: %1$S. Failed to remove application: %1$S. Unknown exception occurred. An internal version control error has occurred.5 CONFIGURATION AND ADMINISTRATION GUIDE 201 Diagnostic Log Messages Message ID 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 Description License key has expired. Failed to play %1$S.

Shared object %1$S has changed and is not being saved. Invalid argument %2$S. File operation %1$S failed. Disconnecting client. Log aborted. Message queue is too large. Failed to start edge: %1$S %2$S.Last updated 3/2/2010 FLASH MEDIA SERVER 3. %1$S failed. Core (%1$S) started. Switching to Developer Edition. OEM licences cannot be mixed with any other kind. Object is not a file (%2$S). Invalid substitution variable: %1$S Resetting service failure action from %1$S to %2$S. arguments: %2$S. %2$S File operation %1$S failed. NFR licences cannot be mixed with any other kind. Too many trial licenses detected. Last saved version %3$S. File is in closed state (%2$S). Switching to Developer Edition. Administrator (%1$S) already exists. Reason: %1$S. Switching to Developer Edition. arguments: %2$S. Failed to open log file. File object creation failed (%1$S). Failed to start core: %1$S %2$S. Failed to play stream %1$S: Recorded mode not supported. Commercial and Educational licenses cannot be mixed. Consider increasing the heap size to prevent future memory allocation failures. Core (%1$S) is no longer active. Edge (%1$S) started. File operation %1$S failed. Max Allowed %2$S. [Virtual host (%1$S). Switching to Developer Edition. Switching to Developer Edition. Duplicate license key: %1$S Expired license key: %1$S No primary license key found. Personal and Professional licenses cannot be mixed. Shared memory heap (%1$S) has exceeded 90 usage. Server memory usage too high. Virtual host (%1$S) does not exist. Connection rejected by server. Missing arguments to %1$S method. Current version %2$S. Switching to Developer Edition. Edge (%1$S) is no longer active. 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 .5 CONFIGURATION AND ADMINISTRATION GUIDE 202 Diagnostic Log Messages Message ID 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 Description Server to client bandwidth limit exceeded. as auto commit is set to false. Invalid admin stream: %1$S . Current %3$S] Adaptor (%1$S) does not exist.

Killing core now. Recovering edge %1$S with %2$S failure[s] after %3$S seconds! Edge (%1$S) %2$S experienced %3$S failure[s]! Core (%1$S) %2$S experienced %3$S failure[s]! Core (%1$S) %2$S is not responding and is being restarted! Core (%1$S) is no longer active. Proxy to core (%1$S) failed. Process (%1$S): shared memory (%2$S) init failed. Failed to send connect response to core %1$S. Core (%1$S) failed to connect to admin. Core (%1$S) received close command from admin. Command (%1$S) timed out. Socket migration to core (%1$S) failed. Core (%1$S) shutdown failed. Starting admin app on core (%1$S). Core (%1$S) connected to admin. Connection from core %1$S accepted. Core (%1$S) connection to admin failed. Connection to admin received. Core (%1$S) disconnecting from admin. Core (%1$S) connection to admin accepted. Core (%1$S) connecting to admin. Registering core (%1$S).5 CONFIGURATION AND ADMINISTRATION GUIDE 203 Diagnostic Log Messages Message ID 1228 1229 1230 1231 1132 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 Description Failed to create process mutex. Core (%1$S): Failed to initiate connection to admin. Core (%1$S) socket migration failed. Core (%1$S) disconnected: %2$S. . Edge disconnected from core (%1$S). Core (%1$S) disconnected from edge. Connection from core %1$S received.Last updated 3/2/2010 FLASH MEDIA SERVER 3. Core (%1$S) sending register command to edge. Process (%1$S): failed to map view of shared memory (%2$S). Core (%1$S) failed to establish proxy to edge. Recovering core %1$S with %2$S failure[s] after %3$S seconds! Core (%1$S) did not shut down as expected. create a new one.

OpenProcess(PROCESS_QUERY_INFORMATION) failed for pid (%1$S) with %2$S.Last updated 3/2/2010 FLASH MEDIA SERVER 3.5 CONFIGURATION AND ADMINISTRATION GUIDE 204 Diagnostic Log Messages Message ID 1262 1263 1373 1374 1375 Description OpenProcess(PROCESS_TERMINATE) failed with %1$S. disconnecting client. SWF verification timeout. SWF verification unsupported by client. disconnecting client. disconnecting client. SWF verification failed. .

Last updated 3/2/2010 205 Index A access logs 29.xml tags Adaptor 80 Allow 80 Deny 81 Edge 81 Enable 81 EnableAltVhost 82 HostPort 82 HostPortList 83 HTTPIdent 83 HTTPIdent2 84 HTTPNull 84 HTTPTunnel 85 HTTPUserInfo 85 IdleAckInterval 86 IdlePostInterval 86 IdleTimeout 86 MaxFailures 87 MaxSize 87 MaxWriteDelay 87 MimeType 88 NeedClose 88 NodeID 88 Order 88 Path 89 RecoveryTime 89 Redirect 89 ResourceLimits 89 RTMP 90 RTMPE 90 SetCookie 90 SSL 90 SSLCertificateFile 91 SSLCertificateKeyFile 91 SSLCipherSuite 91 SSLPassPhrase 92 SSLServerCtx 92 SSLSessionTimeout 92 UpdateInterval 93 WriteBufferSize 93 adaptors about 6 adding 7 configuring 80 creating 8 directory structure 7 administration APIs about 76 allowing use of 30 calling over HTTP 77 calling over RTMP 78 HTTP parameters 77 permissions 76 sample application 78 Administration Console about 40 application log 43 connecting to 40 debug connection 30 refresh rate 41 view applications 42 view server performance 51 Administration Server administrators 49 APIs 40 connecting to 40 default port 40 administrators defining in Administration Console 49 managing 49 Apache HTTP server 37. 38 application instances about 6 log messages 43 performance 47 reloading 43 view in Administration Console 42 application logs 63 Application object. defining 31 Application. 57.xml file description of tags 93 Application.xml file description of tags 80 file structure 80 Adaptor.xml tags Access 94 AccumulatedFrames 94 AggregateMessages (Client) 94 AggregateMessages (Queue) 94 Allow 95 AllowDebugDefault 95 AllowHTTPTunnel 95 Application 96 Audio 96 AutoCloseIdleClients 96 AutoCommit 97 AutoSampleAccess 97 Bandwidth 97 BandwidthCap 98 BandwidthDetection 98 Bits 99 BufferRatio 99 Cache 99 CachePrefix 99 CacheUpdateInterval 100 Client 101 ClientToServer (Bandwidth) 101 ClientToServer (BandwidthCap) 101 CombineSamples 102 Connections 102 DataSize 102 Debug 102 DirLevelSWFScan 103 DisallowProtocols 103 Distribute 103 DuplicateDir 104 Duration 104 EnhancedSeek 105 Exception 105 FileObject 106 FinalHashTimeout 106 FirstHashTimeout 106 FlushOnData 106 FolderAccess 106 HiCPU 106 Host 107 HTTP 107 HTTP1_0 107 HTTPTunnel 107 IdleAckInterval 108 IdlePostInterval 108 Interface 109 Interval 109 . 59 Adaptor.

5 CONFIGURATION AND ADMINISTRATION GUIDE 206 Index JSEngine 109 KeyFrameInterval 110 LifeTime 110 Live (MsgQueue) 111 Live (StreamManager) 110 LoadOnStartup 111 LockTimeout 111 LoCPU 111 Max 112 MaxAggMsgSize 112 MaxAppIdleTime 112 MaxAudioLatency 112 MaxBufferRetries 113 MaxCores 113 MaxFailures 114 MaxGCSkipCount 114 MaxInitDelay 114 MaxMessagesLosslessvideo 115 MaxPendingDebugConnections 115 MaxProperties 115 MaxPropertySize 115 MaxQueueDelay 116 MaxQueueSize 116 MaxRate 116 MaxSamples 116 MaxSize 116 MaxStreamsBeforeGC 117 MaxTime 117 MaxTimeOut (Connections) 118 MaxTimeOut (JSEngine) 118 MaxUnprocessedChars 118 MaxWait 118 MimeType 119 MinBufferTime (Live) 119 MinBufferTime (Recorded) 119 MinGoodVersion 119 MsgQue 120 NetConnection 120 NotifyAudioStop 120 ObjectEncoding 120 OutChunkSize 121 OverridePublisher 121 Password 121 Port 121 Prioritization 122 Process 122 Proxy 122 PublishTimeout 123 QualifiedStreamsMapping 123 Queue 123 Recorded 123 RecoveryTime 124 Redirect 124 ResyncDepth 124 Reuse 124 RollOver 125 RuntimeSize 125 Scope 125 ScriptLibPath 126 SendDuplicateOnMetaData 126 SendDuplicateStart 127 SendSilence 127 Server 127 ServerToClient (Bandwidth) 127 ServerToClient (BandwidthCap) 127 SharedObjManager 128 StorageDir 128 StreamManager 128 Subscribers 129 SWFFolder 129 SWFVerification 129 ThrottleBoundaryRequest 129 ThrottleDisplayInterval 130 ThrottleLoads 130 TTL 130 Tunnel 130 Type 131 UnrestrictedAuth 131 UpdateInterval 131 UserAgent 131 UserAgentExceptions 131 Username 132 Verbose 132 VideoSampleAccess 132 VirtualDirectory 132 WindowsPerAck 133 WriteBuffSize 133 XMLSocket 133 audio samples.xml 178 connections closing idle 14 limiting 14. 57 clients closing idle connections of 14 limiting connections from 14 view active 45 clusters 1 configuration files Adaptor.xml 175 Vhost.xml 140 symbols in 10 Users. 155 content storage configuring 33 mapping directories 34 virtual directories 35 core processes assigning 16 configuring 16 distributing 17 maximum number of 18 rolling over 18 cross-domain XML file. 146 D debug connection 30 diagnostic logs 64 E edge servers cache 73 chain 5 configuring 2 connecting to 4 deploying 1 file cache (on Linux) 74 file cache (Windows) 73 environmental variables 11 Errors. native 32 C CGI programs 39 checkpoint events 29.xml 133 Server.xml) 23. combining 13 B backing up log files 56 bandwidth detection.xml 93 directory structure 6 editing 9 Logger. using 23 CrossDomainPath (Server. in video files 71 Event Viewer (Windows) 67 .Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml 80 Application.

136. See server-side scripts security and RTMPE 23 and SSL 24 configuring features 19 limiting domain access to 23 SWF verification 19 serial keys adding 53 server checking status of 67 hierarchy 6 log file 54 managing. 140 Server.xml) 123 R RecordsNumber 164 refresh rate 41 RetryNumber 165 RetrySleep 165 rotating log files 56 S scripts. 138 Application 134 AuthEvent 134 AuthMessage 134 Delimiter 135 Diagnostic 135 Directory 135 DisplayFieldsHeader 136 EscapeFields 136 Events 136 Fields 136 FileIO 137 FileName 137 History 137 HostPort 138 Logger 138 LogServer 138 MaxSize 138 QuoteFields 138 Rename 139 Rotation 139 Schedule 139 ServerID 140 Time 140 logs.xml file 55.xml tags Access 140. 146 AutoCloseIdleClients 143 Cache 144 CheckInterval 144 Connector 144 Content 144 Core 145 CoreExitDelay 145 CoreGC 145 CoreTimeOut 145 CPUMonitor 146 CrossDomainPath 146 Deny 146 Diagnostic 146 DirLevelSWFScan 147 . configurable 31 P performance improving 12 monitoring server 51 permissions administration APIs 76 for administrators 175 PublishTimeout (Application.xml) 149 FLVCheck tool 69 FMSCheck tool 67 fmsmgr utility 74 H HTTP proxying 38 I IPv6 configuring 30 disabling 162 enabling 162 on Linux 84 L licenses 53 Linux and IPv6 84 using with Flash Media Server 74 load balancing clusters 1 log files and IPv6 56 application 55 backing up 56 configuration files for 55 diagnostic 55 managing 55 messages 196 rotating 56 server server access 55 web server 55 Logger.xml tags Access 134.xml file configuring 55 description of tags 133 file structure 134 Logger.xml) 123 Q QualifiedStreamsMapping (Application. checking 69 FLVCachePurge (Server.Last updated 3/2/2010 FLASH MEDIA SERVER 3. configuring 16 Server. 179 ACCP 140 ActiveProfile 141 Admin 141 AdminElem 141 AdminServer 141 Allow 141 Application 142 ApplicationGC 142 AuthEvent 143 AuthMessage 143. 135.5 CONFIGURATION AND ADMINISTRATION GUIDE 207 Index F FLV errors 71 FLV files. See log files M map files 11 mapping virtual directories 35 messages aggregating 13 in diagnostic logs 196 viewing log messages for applications 43 MP4 errors 71 N native bandwidth detection 32 O object properties. on Linux 74 performance 51 starting and stopping 66 testing 67 viewing events 67 server processes.

xml 27.xml file description of tags 175 file structure 175 permissions for admin APIs 76 summary of tags 175 Users.xml 25.xml tags AdminServer 175 Allow (HTTP Commands) 175 Allow (User) 175 Deny (HTTPCommands) 176 Deny (User) 176 Enable 176 HTTPCommands 176 Order (HTTPCommands) 177 Order (User) 177 Password 177 Root 178 User 178 UserList 178 V variables 11 Vhost.xml 28 storage directories 34 storageDir element 34 streams cache size 12 chunk size 13 view live 44 U Users. 190 SSLCACertificatePath 169. 193 SSLVerifyDepth 172. 164. 190 SSLClientCtx 171 SSLRandomSeed 171 SSLSessionCacheGC 172 SSLVerifyCertificate 172. 163.Last updated 3/2/2010 FLASH MEDIA SERVER 3.xml file file structure 179 summary of tags 179 Vhost. 28 tags in VHost. 172 SSLCACertificateFile 169. 168. 26 tags in Server.xml tags AggregateMessages 179 Alias 179 AliasList 180 Allow 180 AllowOverride 180 Anonymous 180 . 174 Process (Server) 163 Protocol 163 PublicIP 164 RecBuffer 164 RecordsNumber 164 ResourceLimits 165 RetryNumber 165 RetrySleep 165 Root 165 RTMP (AdminServer) 165 RTMP (Connector) 165 RTMP (Protocol) 166 RTMPE 166 Scope 166 SegmentsPool 166 Server 166 ServerDomain 167 Services 167 SmallMemPool 167 SocketGC 167 SocketOverflowBuckets 168 SocketRcvBuff 168 SocketSndBuf 168 SocketTableSize 168 SSL 161. 190 SSLCipherSuite 169.5 CONFIGURATION AND ADMINISTRATION GUIDE 208 Index ECCP 147 Edge 147 EdgeCore 147 Enable 148 FileCheckInterval 148 FileIO 148 FilePlugin 148 FLVCache 149 FLVCachePurge 149 FLVCacheSize 149 FreeMemRatio 149 FreeRatio 149 GCInterval 150 GID 150 GlobalQueue 150 GlobalRatio 150 HandleCache 150 HostPort 151 HTTP 151 IdleTime 152 IPCQueues 152 LargeMemPool 152 LicenseInfo 153 LicenseInfoEx 153 LocalHost 153 Logging 153 Mask 154 Master 154 MaxAge 154 MaxCacheSize 155 MaxCacheUnits 155 MaxConnectionRate 155 MaxIdleTime 157 MaxInitDelay 157 MaxIOThreads 157 MaxKeyframeCacheSize 158 MaxNumberOfRequests 158 MaxQueueSize 158 MaxSize (FLVCache) 159 MaxSize (HandleCache) 159 MaxSize (RecBuffer) 159 MaxTimestampSkew 159 MaxUnitSize 159 MessageCache 160 MinConnectionThreads 160 MinGoodVersion 161 MinIOThreads 161 MinPoolGC 161 NetworkingIPv6 162 NumCRThreads 162 Order 162 Plugins 163. 193 SWFFolder 172 SWFVerification 173 TerminatingCharacters 173 ThreadPoolGC 173 Time 173 TrimSize 173 TTL 173 UID 174 UpdateInterval 174 UpdateInterval (Cache) 174 server-side scripts and configurable object properties 31 setting storage directories 34 shared objects default location of 34 setting location of 34 view active 46 SSL certificates 25 configuring 24 tags in Adaptor.

xml) 133 .5 CONFIGURATION AND ADMINISTRATION GUIDE 209 Index AppInstanceGC 181 AppsDir 181 AutoCloseIdleClients 182 CacheDir 183 DNSSuffix 183 EdgeAutoDiscovery 183 Enabled 184 LocalAddress 185 MaxAggMsgSize 185 MaxAppInstances 185 MaxConnections 186 MaxEdgeConnections 186 MaxIdleTime 186 MaxSharedObjects 186 MaxStreams 187 Mode 187 Proxy 188 ResourceLimits 188 RouteEntry 188 RouteTable 189 SSL 190 Streams 193 VirtualDirectory 194 VirtualHost 194 VirtualKeys 194 WaitTime 195 virtual directories 35 virtual hosts about 6 connecting to 41 creating 8 directory structure 6 VirtualDirectory element 35 W WebDAV 39 Windows Event Viewer 67 WindowsPerAck (Application.Last updated 3/2/2010 FLASH MEDIA SERVER 3.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->