Installing Flash Media Server Introducing Flash Media Server Overview of Flash Media Server About the Flash Media Server documentation Flash Media Server support Third-party resources Typographical conventions Installing Flash Media Server System requirements for Flash Media Server Installing the server About the installed files Files in the installation directory for Windows Files in the installation directory for Linux Installing edge servers Uninstalling Flash Media Server Developing Media Applications About This Manual Intended audience About the Flash Media Server documentation Support for learning about Flash Media Server Typographical conventions Getting Started Installation and system requirements Setting up the hardware and software Creating a development environment Preview of Development Tasks Deploying applications and application instances Storing server-side and client-side files Storing your application's server-side script files About application instances File types used by Flash Media Server Connecting to the server Starting the service Opening a connection to the server Flash Media Server Architecture Understanding the Flash Media Server architecture About streams and shared objects About connecting to external data sources Workflow for creating and deploying applications Understanding application flow Understanding connection flow Invoking remote methods Invoking server methods from the client Invoking client methods from the server Understanding shared object flow Using Media Classes About Flash Media Server classes About Client-side classes About Server-side classes About client-server communication Understanding shared objects About the Application class Using the application.onConnect handler Using the application.onDisconnect handler Handling events in a component-based application The Camera class Turning the camera off Suggested settings for different bandwidth speeds Using one camera in multiple applications The Client class The Microphone class Avoiding audio feedback Keeping the microphone on The NetConnection class (client-side) The NetStream class Using multiple data types in a stream Getting the stream time length with ActionScript About buffering a stream About the play status of a stream The SharedObject class About synchronizing shared objects Using shared object slots effectively Flushing remote shared objects Avoiding shared object synchronization problems The Stream class The System class About the Video class About creating Video objects dynamically Understanding frame rates Working With Media Files Working with video About creating live web events Customizing stream delivery Working with MP3 files Debugging and Monitoring Applications Using the management console to debug and monitor application Connecting the management console to a server About the View Applications panel Changing or pausing the refresh rate About the Live Log panel About the Clients panel About the Shared Objects panel About the Streams panel About the Performance panel Using a debug connection About onStatus event handlers Where to use onStatus handlers in a script About overriding the onStatus handler About the System.onStatus handler About debugging a NetConnection.Connect.Failed message Tracing the properties of an object Application Development Tips and Tricks About file types and paths About shared object files Persistent local shared objects Remotely persistent shared objects Remotely and locally persistent shared objects Portability across servers Client-server script interdependence Using multiple script files Archiving and compiling server-side script files About FAR files Compiling scripts to bytecode Forcing the Player Settings panel to appear Managing bandwidth Writing double-byte applications About unloading and reloading applications Implementing dynamic access control Developing secure applications Protecting scripts from third-party code Simple-system call example Synchronous system calls Asynchronous system calls Coding conventions Following naming guidelines Naming variables to support code hinting Commenting your code Initializing applications Using var for local variables Using Flash Media Server Edge Servers Using Edge and Origin Servers Introducing edge servers How edge servers work Caching data in edge servers Deploying edge servers in the DMZ Explicit and implicit proxies Reverse proxies Routing information Connecting to an edge server Detecting the presence of proxy servers Chaining edge servers Configuring edge servers Deploying a cluster of edge servers Connecting to a cluster of edge servers Enrolling proxy servers in the cluster Accessing applications through an edge cluster Clustering reverse proxies Setting up origin and proxy servers Maintaining edge server clusters Clearing the edge server cache Managing Flash Media Server About This Manual Intended audience System requirements About the Flash Media Server documentation Typographical conventions Additional resources Managing the Server Basic server settings Registering client applications   Configuring virtual hosts Deploying server-side scripts Starting and stopping the server in Windows Starting and stopping the server on Linux Using the management console Connecting to the management console Setting the refresh rate Accessing Flash Media Server resources and help Managing applications Creating a new application instance Viewing the Live [Application] log file Viewing active clients Viewing active shared objects Viewing active streams Viewing application performance Managing the administrative users Managing the servers Managing servers Viewing server details Viewing connection details Viewing application details Viewing license files Viewing the server log file Logging client connections and other system events Access log file Application log file Diagnostic log file Configuring logging Viewing server events in the Windows event viewer Configuring the server at runtime Managing Flash Media Server on Linux Starting the Flash Media Admin Service in Windows Starting the Flash Media Admin Service on Linux Using the fmsmgr utility Deploying Flash Media Server Typical configurations Configuration for development and testing Deploying on one computer Deploying on two computers Deploying on two computers with authentication through Flash Media Server Deploying on two computers with authentication through an application server SSL support in Flash Media Server Defining a secure port Configuring SSL Creating multiple certificates for an adaptor Configuring independent virtual hosts for SSL application About configuration levels About the configuration hierarchy Adding adaptors and virtual hosts Server administration over HTTP Configuring Flash Media Server Using the admin commands Symbolic text substitutions Making a substitution Predefined symbols Mapping environment variables Defining symbols outside the substitution.xml file Building the symbol map Configurable application object properties for server-side scripting Configuration Files XML configuration files Server.xml file Summary of Server.xml tags Description of Server.xml tags Access ACCP Admin AdminServer Allow AllowZones Application ApplicationGC AutoDiscovery BindInfo BroadcastAddress BroadcastPort ClusterMonitorInterval Connector Core CoreGC CoreTimeout CoreExitDelay CPUMonitor Diagnostic Deny ECCP Edge EdgeCore Enable (Access) Enable (Application) Enable (AutoDiscovery) Enable (Diagnostic) FLVCacheSize FreeMemRatio FreeRatio GID GlobalQueue GlobalRatio HeapSize HostPort HTTP IPCQueues LargeMemPool LocalHost Logging Mask Master MaxAge MaxCacheSize MaxCacheUnits MaxConnectionQueueSize MaxConnectionThreads MaxIOThreads MaxQueueSize MaxUnitSize MaxWaitTime MessageCache MinConnectionThreads MinIOThreads MsgPoolGC MyZone NumCRThreads Order Process Protocol ProxyInfo ResourceLimits Root RTMP (Connector) RTMP (Protocol) Scope SecureProxyInfo SegmentsPool Server ServerDomain Services SmallMemPool SocketGC SocketOverflowBuckets SocketTableSize SSL SSLCACertificateFile SSLCACertificatePath SSLCipherSuite SSLClientCtx SSLRandomSeed SSLSessionCacheGC SSLVerifyCertificate SSLVerifyDepth ThreadPoolGC Time TTL UID UpdateInterval UserData Users.xml file Summary of Users.xml tags Description of Users.xml tags AdminServer Allow (HTTPCommands) Allow (Users) Deny (HTTPCommands) Deny (User) Enable HTTPCommands Order (HTTPCommands) Order (User) Password Root User UserList Logger.xml file Summary of Logger.xml tags Description of Logger.xml tags Access Application Delimiter Diagnostic Directory DisplayFieldsHeader EscapeFields Events Fields FileName History HostPort Logger LogServer MaxSize QuoteFields Rotation Schedule ServerID Time Adaptor.xml file Summary of Adaptor. xml tags Description of Adaptor.xml tags Adaptor Allow Deny Enable HostPort HostPortList HTTPIdent HTTPTunnel HttpUserInfo IdleAckInterval IdlePostInterval MaxFailures MaxSize MaxWriteDelay MimeType NeedClose NodeID Order Path RecoveryTime Redirect ResourceLimits SetCookie SSL SSLCACertificateFile SSLCACertificateKeyFile SSLCipherSuite SSLPassPhrase SSLServerCtx SSLSessionTimeout UpdateInterval WriteBufferSize Vhost.xml file Summary of Vhost.xml tags Description of Vhost.xml tags Alias AliasList Allow Anonymous AppInstanceGC AppsDir CacheDir DNSSuffix FreeMemRatio FreeRatio GlobalRatio LargeMemPool LocalAddress MaxAge MaxAppInstances MaxCacheSize MaxCacheUnits MaxConnections MaxSharedObjects MaxStreams MaxUnitSize MessageCache Mode Proxy ResourceLimits RouteEntry RouteTable SegmentsPool SmallMemPool SSL Streams UpdateInterval VirtualDirectory VirtualHost VirtualKeys Application.xml file Overriding default settings Summary of Application.xml tags Description of Application.xml tags Access Allow AllowHTTPTunnel Application Audio AutoCommit Bandwidth BandwidthCap Bits CachePrefix CacheUpdateInterval Client ClientToServer (Bandwidth) ClientToServer (BandwidthCap) CombineSamples Connections DuplicateDir (SharedObjManager) DuplicateDir (StreamsManager) Duration EnhancedSeek FileObject FolderAccess HiCPU Host HTTP HTTP1_0 HTTPTunnel IdleAckInterval IdlePostInterval Interface Interval JSEngine KeyFrameInterval LifeTime LoadOnStartup LockTimeout LoCPU Max MaxAppIdleTime MaxCores MaxFailures MaxMessagesizeLosslessvideo MaxSamples MaxTimeOut (Connections) MaxTimeOut (JSEngine) MimeType NotifyAudioStop Password Port Process Proxy RecoveryTime Redirect ResyncDepth Reuse RollOver RuntimeSize Scope ScriptLibPath SendSilence ServerToClient (Bandwidth) ServerToClient (BandwidthCap) SharedObjManager StorageDir (SharedObjManager) StorageDir (StreamManager) StreamManager Subscribers Tunnel Type UnrestrictedAuth UserAgent Username Verbose VirtualDirectory WriteBuffSize Flash Media Server Security Managing server security About authentication and authorization JavaScript security Secure script loading Protecting objects Permissions levels Synchronous system calls Asynchronous system calls Choosing passwords Access DLL Configuring Access DLL Sample Adaptor.cpp file Developing secure applications Using SSL Using other secure development practices About privacy Deploying secure applications About firewalls Log file precautions Client-Side ActionScript Language Reference for Flash Media Server 2 Client-Side ActionScript Language Reference ActionScript classes ActionScript elements Camera class Camera.activityLevel Camera.bandwidth Camera.currentFps Camera.fps Camera.get() Camera.height Camera.index Camera.keyFrameInterval Camera.loopback Camera.motionLevel Camera.motionTimeOut Camera.muted Camera.name Camera.names Camera.onActivity Camera.onStatus Camera.quality Camera.setKeyFrameInterval() Camera.setLoopback() Camera.setMode() Camera.setMotionLevel() Camera.setQuality() Camera.width Microphone class Microphone.activityLevel Microphone.gain Microphone.get() Microphone.index Microphone.muted Microphone.name Microphone.names Microphone.onActivity Microphone.onStatus Microphone.rate Microphone.setGain() Microphone.setRate() Microphone.setSilenceLevel() Microphone.setUseEchoSuppression() Microphone.silenceLevel Microphone.silenceTimeout Microphone.useEchoSuppression MovieClip class MovieClip.attachAudio() NetConnection class NetConnection.call() NetConnection.close() NetConnection.connect() NetConnection.onStatus NetStream class NetStream.attachAudio() NetStream.attachVideo() NetStream.bufferLength NetStream.bufferTime NetStream.close() NetStream.currentFps NetStream.liveDelay NetStream.onCuePoint NetStream.onMetaData NetStream.onPlayStatus NetStream.onStatus NetStream.pause() NetStream.play() NetStream.publish() NetStream.receiveAudio() NetStream.receiveVideo() NetStream.seek() NetStream.send() NetStream.setBufferTime() NetStream.time SharedObject class Designing remote shared objects Data design and management Conflict resolution Local disk space considerations SharedObject.clear() SharedObject.close() SharedObject.connect() SharedObject.data SharedObject.flush() SharedObject.getLocal() SharedObject.getRemote() SharedObject.getSize() SharedObject.onStatus SharedObject.onSync SharedObject.send() SharedObject.setFps() System class System.showSettings() System.useCodepage Video class Video.attachVideo() Video.clear() Video.deblocking Video.height Video.smoothing Video.width Client-Side Information Objects Camera information objects LocalConnection information objects Microphone information objects NetConnection information objects NetStream information objects SharedObject information objects Server-Side ActionScript Language Reference Server-Side ActionScript Language Reference Using server-side ActionScript Using naming conventions Naming applications Specifying instances Using JavaScript syntax Avoiding reserved commands ActionScript classes Global functions ActionScript elements Application class Application.acceptConnection() Application.allowDebug Application.broadcastMsg() Application.clearSharedObjects() Application.clearStreams() Application.clients Application.config Application.disconnect() Application.gc() Application.getStats() Application.hostname Application.name Application.onAppStart Application.onAppStop Application.onConnect Application.onConnectAccept Application.onConnectReject Application.onDisconnect Application.onStatus Application.registerClass() Application.registerProxy() Application.rejectConnection() Application.server Application.shutdown() clearInterval() Client class Client.agent Client.call() Client."commandName" Client.getBandwidthLimit() Client.getStats() Client.ip Client.ping() Client.protocol Client.readAccess Client.referrer Client.__resolve Client.secure Client.setBandwidthLimit() Client.uri Client.virtualKey Client.writeAccess File class File.canAppend File.canRead File.canReplace File.canWrite File.close() File.copyTo() File.creationTime File.eof() File.exists File.flush() File.isDirectory File.isFile File.isOpen File.lastModified File.length File.list() File.mkdir() File.mode File.name File.open() File.position File.read() File.readAll() File.readByte() File.readln() File.remove() File.renameTo() File.seek() File.toString() File.type File.write() File.writeAll() File.writeByte() File.writeln() getGlobal() load() LoadVars class LoadVars.addRequestHeader() LoadVars.contentType LoadVars.decode() LoadVars.getBytesLoaded() LoadVars.getBytesTotal() LoadVars.load() LoadVars.loaded LoadVars.onData LoadVars.onHTTPStatus LoadVars.onLoad LoadVars.send() LoadVars.sendAndLoad() LoadVars.toString() Log class Log.onLog NetConnection class NetConnection.addHeader() NetConnection.call() NetConnection.close() NetConnection.connect() NetConnection.isConnected NetConnection.onStatus NetConnection.uri protectObject() setAttributes() setInterval() SharedObject class SharedObject.autoCommit SharedObject.clear() SharedObject.close() SharedObject.commit() SharedObject.flush() SharedObject.get() SharedObject.getProperty() SharedObject.getPropertyNames() SharedObject.handlerName SharedObject.isDirty SharedObject.lock() SharedObject.mark() SharedObject.name SharedObject.onStatus SharedObject.onSync SharedObject.purge() SharedObject.resyncDepth SharedObject.send() SharedObject.setProperty() SharedObject.size() SharedObject.unlock() SharedObject.version SOAPCall class SOAPCall.onFault SOAPCall.onResult SOAPCall.request SOAPCall.response SOAPFault class SOAPFault.detail SOAPFault.faultactor SOAPFault.faultcode SOAPFault.faultstring Stream class Stream.bufferTime Stream.clear() Stream.flush() Stream.get() Stream.length() Stream.name Stream.onStatus Stream.play() Stream.record() Stream.send() Stream.setBufferTime() Stream.setVirtualPath() Stream.size() Stream.syncWrite trace() WebService class WebService.onFault WebService.onLoad XML class XML.addRequestHeader() XML.appendChild() XML.attributes XML.childNodes XML.cloneNode() XML.contentType XML.createElement() XML.createTextNode() XML.docTypeDecl XML.firstChild XML.getBytesLoaded() XML.getBytesTotal() XML.getNamespaceForPrefix() XML.getPrefixForNamespace() XML.hasChildNodes() XML.ignoreWhite XML.insertBefore() XML.lastChild XML.load() XML.loaded XML.localName XML.namespaceURI XML.nextSibling XML.nodeName XML.nodeType XML.nodeValue XML.onData XML.onHTTPStatus XML.onLoad XML.parentNode XML.parseXML() XML.prefix XML.previousSibling XML.removeNode() XML.send() XML.sendAndLoad() XML.status XML.toString() XML.xmlDecl XMLSocket class XMLSocket.close() XMLSocket.connect() XMLSocket.onClose XMLSocket.onConnect XMLSocket.onData XMLSocket.onXML XMLSocket.send() XMLStreams class Server-Side Information Objects Application information objects NetConnection information objects Stream information objects Server Management ActionScript Language Reference Server Management ActionScript Dictionary Using the Server Management ActionScript API Establishing the connection to the server Syntax example A simple application example Information objects Method summary addAdmin() addApp() addVHostAlias() approveDebugSession() changePswd() gc() getActiveInstances() getAdaptors() getAdminContext() getAdmins() getApps() getAppStats() getConfig() getConfig2() getGroupMembers() getGroupStats() getGroups() getInstanceStats() getIOStats() getLicenseInfo() getLiveStreams() getLiveStreamStats() getMsgCacheStats() getNetStreams() getNetStreamStats() getRecordedStreams() getRecordedStreamStats() getScriptStats() getServerStats() getServices() getSharedObjects() getSharedObjectStats() getUsers() getUserStats() getVHosts() getVHostStats() ping() reloadApp() removeAdmin() removeApp() removeVHostAlias() restartVHost() setConfig() setConfig2() startServer() startVHost() stopServer() stopVHost() unloadApp() Installing Flash Media Server Introducing Flash Media Server Overview of Flash Media Server About the Flash Media Server documentation Flash Media Server support Third-party resources Typographical conventions Installing Flash Media Server System requirements for Flash Media Server Installing the server About the installed files Files in the installation directory for Windows Files in the installation directory for Linux Installing edge servers Uninstalling Flash Media Server Developing Media Applications About This Manual Intended audience About the Flash Media Server documentation Support for learning about Flash Media Server Typographical conventions Getting Started Installation and system requirements Setting up the hardware and software Creating a development environment Preview of Development Tasks Deploying applications and application instances Storing server-side and client-side files Storing your application's server-side script files About application instances File types used by Flash Media Server Connecting to the server Starting the service Opening a connection to the server Flash Media Server Architecture Understanding the Flash Media Server architecture About streams and shared objects About connecting to external data sources Workflow for creating and deploying applications Understanding application flow Understanding connection flow Invoking remote methods Invoking server methods from the client Invoking client methods from the server Understanding shared object flow Using Media Classes About Flash Media Server classes About Client-side classes About Server-side classes About client-server communication Understanding shared objects About the Application class Using the application.onConnect handler Using the application.onDisconnect handler Handling events in a component-based application The Camera class Turning the camera off Suggested settings for different bandwidth speeds Using one camera in multiple applications The Client class The Microphone class Avoiding audio feedback Keeping the microphone on The NetConnection class (client-side) The NetStream class Using multiple data types in a stream Getting the stream time length with ActionScript About buffering a stream About the play status of a stream The SharedObject class About synchronizing shared objects Using shared object slots effectively Flushing remote shared objects Avoiding shared object synchronization problems The Stream class The System class About the Video class About creating Video objects dynamically Understanding frame rates Working With Media Files Working with video About creating live web events Customizing stream delivery Working with MP3 files Debugging and Monitoring Applications Using the management console to debug and monitor application Connecting the management console to a server About the View Applications panel Changing or pausing the refresh rate About the Live Log panel About the Clients panel About the Shared Objects panel About the Streams panel About the Performance panel Using a debug connection About onStatus event handlers Where to use onStatus handlers in a script About overriding the onStatus handler About the System.onStatus handler About debugging a NetConnection.Connect.Failed message Tracing the properties of an object Application Development Tips and Tricks About file types and paths About shared object files Persistent local shared objects Remotely persistent shared objects Remotely and locally persistent shared objects Portability across servers Client-server script interdependence Using multiple script files Archiving and compiling server-side script files About FAR files Compiling scripts to bytecode Forcing the Player Settings panel to appear Managing bandwidth Writing double-byte applications About unloading and reloading applications Implementing dynamic access control Developing secure applications Protecting scripts from third-party code Simple-system call example Synchronous system calls Asynchronous system calls Coding conventions Following naming guidelines Naming variables to support code hinting Commenting your code Initializing applications Using var for local variables Using Flash Media Server Edge Servers Using Edge and Origin Servers Introducing edge servers How edge servers work Caching data in edge servers Deploying edge servers in the DMZ Explicit and implicit proxies Reverse proxies Routing information Connecting to an edge server Detecting the presence of proxy servers Chaining edge servers Configuring edge servers Deploying a cluster of edge servers Connecting to a cluster of edge servers Enrolling proxy servers in the cluster Accessing applications through an edge cluster Clustering reverse proxies Setting up origin and proxy servers Maintaining edge server clusters Clearing the edge server cache Managing Flash Media Server About This Manual Intended audience System requirements About the Flash Media Server documentation Typographical conventions Additional resources Managing the Server Basic server settings Registering client applications   Configuring virtual hosts Deploying server-side scripts Starting and stopping the server in Windows Starting and stopping the server on Linux Using the management console Connecting to the management console Setting the refresh rate Accessing Flash Media Server resources and help Managing applications Creating a new application instance Viewing the Live [Application] log file Viewing active clients Viewing active shared objects Viewing active streams Viewing application performance Managing the administrative users Managing the servers Managing servers Viewing server details Viewing connection details Viewing application details Viewing license files Viewing the server log file Logging client connections and other system events Access log file Application log file Diagnostic log file Configuring logging Viewing server events in the Windows event viewer Configuring the server at runtime Managing Flash Media Server on Linux Starting the Flash Media Admin Service in Windows Starting the Flash Media Admin Service on Linux Using the fmsmgr utility Deploying Flash Media Server Typical configurations Configuration for development and testing Deploying on one computer Deploying on two computers Deploying on two computers with authentication through Flash Media Server Deploying on two computers with authentication through an application server SSL support in Flash Media Server Defining a secure port Configuring SSL Creating multiple certificates for an adaptor Configuring independent virtual hosts for SSL application About configuration levels About the configuration hierarchy Adding adaptors and virtual hosts Server administration over HTTP Configuring Flash Media Server Using the admin commands Symbolic text substitutions Making a substitution Predefined symbols Mapping environment variables Defining symbols outside the substitution.xml file Building the symbol map Configurable application object properties for server-side scripting Configuration Files XML configuration files Server.xml file Summary of Server.xml tags Description of Server.xml tags Access ACCP Admin AdminServer Allow AllowZones Application ApplicationGC AutoDiscovery BindInfo BroadcastAddress BroadcastPort ClusterMonitorInterval Connector Core CoreGC CoreTimeout CoreExitDelay CPUMonitor Diagnostic Deny ECCP Edge EdgeCore Enable (Access) Enable (Application) Enable (AutoDiscovery) Enable (Diagnostic) FLVCacheSize FreeMemRatio FreeRatio GID GlobalQueue GlobalRatio HeapSize HostPort HTTP IPCQueues LargeMemPool LocalHost Logging Mask Master MaxAge MaxCacheSize MaxCacheUnits MaxConnectionQueueSize MaxConnectionThreads MaxIOThreads MaxQueueSize MaxUnitSize MaxWaitTime MessageCache MinConnectionThreads MinIOThreads MsgPoolGC MyZone NumCRThreads Order Process Protocol ProxyInfo ResourceLimits Root RTMP (Connector) RTMP (Protocol) Scope SecureProxyInfo SegmentsPool Server ServerDomain Services SmallMemPool SocketGC SocketOverflowBuckets SocketTableSize SSL SSLCACertificateFile SSLCACertificatePath SSLCipherSuite SSLClientCtx SSLRandomSeed SSLSessionCacheGC SSLVerifyCertificate SSLVerifyDepth ThreadPoolGC Time TTL UID UpdateInterval UserData Users.xml file Summary of Users.xml tags Description of Users.xml tags AdminServer Allow (HTTPCommands) Allow (Users) Deny (HTTPCommands) Deny (User) Enable HTTPCommands Order (HTTPCommands) Order (User) Password Root User UserList Logger.xml file Summary of Logger.xml tags Description of Logger.xml tags Access Application Delimiter Diagnostic Directory DisplayFieldsHeader EscapeFields Events Fields FileName History HostPort Logger LogServer MaxSize QuoteFields Rotation Schedule ServerID Time Adaptor.xml file Summary of Adaptor. xml tags Description of Adaptor.xml tags Adaptor Allow Deny Enable HostPort HostPortList HTTPIdent HTTPTunnel HttpUserInfo IdleAckInterval IdlePostInterval MaxFailures MaxSize MaxWriteDelay MimeType NeedClose NodeID Order Path RecoveryTime Redirect ResourceLimits SetCookie SSL SSLCACertificateFile SSLCACertificateKeyFile SSLCipherSuite SSLPassPhrase SSLServerCtx SSLSessionTimeout UpdateInterval WriteBufferSize Vhost.xml file Summary of Vhost.xml tags Description of Vhost.xml tags Alias AliasList Allow Anonymous AppInstanceGC AppsDir CacheDir DNSSuffix FreeMemRatio FreeRatio GlobalRatio LargeMemPool LocalAddress MaxAge MaxAppInstances MaxCacheSize MaxCacheUnits MaxConnections MaxSharedObjects MaxStreams MaxUnitSize MessageCache Mode Proxy ResourceLimits RouteEntry RouteTable SegmentsPool SmallMemPool SSL Streams UpdateInterval VirtualDirectory VirtualHost VirtualKeys Application.xml file Overriding default settings Summary of Application.xml tags Description of Application.xml tags Access Allow AllowHTTPTunnel Application Audio AutoCommit Bandwidth BandwidthCap Bits CachePrefix CacheUpdateInterval Client ClientToServer (Bandwidth) ClientToServer (BandwidthCap) CombineSamples Connections DuplicateDir (SharedObjManager) DuplicateDir (StreamsManager) Duration EnhancedSeek FileObject FolderAccess HiCPU Host HTTP HTTP1_0 HTTPTunnel IdleAckInterval IdlePostInterval Interface Interval JSEngine KeyFrameInterval LifeTime LoadOnStartup LockTimeout LoCPU Max MaxAppIdleTime MaxCores MaxFailures MaxMessagesizeLosslessvideo MaxSamples MaxTimeOut (Connections) MaxTimeOut (JSEngine) MimeType NotifyAudioStop Password Port Process Proxy RecoveryTime Redirect ResyncDepth Reuse RollOver RuntimeSize Scope ScriptLibPath SendSilence ServerToClient (Bandwidth) ServerToClient (BandwidthCap) SharedObjManager StorageDir (SharedObjManager) StorageDir (StreamManager) StreamManager Subscribers Tunnel Type UnrestrictedAuth UserAgent Username Verbose VirtualDirectory WriteBuffSize Flash Media Server Security Managing server security About authentication and authorization JavaScript security Secure script loading Protecting objects Permissions levels Synchronous system calls Asynchronous system calls Choosing passwords Access DLL Configuring Access DLL Sample Adaptor.cpp file Developing secure applications Using SSL Using other secure development practices About privacy Deploying secure applications About firewalls Log file precautions Client-Side ActionScript Language Reference for Flash Media Server 2 Client-Side ActionScript Language Reference ActionScript classes ActionScript elements Camera class Camera.activityLevel Camera.bandwidth Camera.currentFps Camera.fps Camera.get() Camera.height Camera.index Camera.keyFrameInterval Camera.loopback Camera.motionLevel Camera.motionTimeOut Camera.muted Camera.name Camera.names Camera.onActivity Camera.onStatus Camera.quality Camera.setKeyFrameInterval() Camera.setLoopback() Camera.setMode() Camera.setMotionLevel() Camera.setQuality() Camera.width Microphone class Microphone.activityLevel Microphone.gain Microphone.get() Microphone.index Microphone.muted Microphone.name Microphone.names Microphone.onActivity Microphone.onStatus Microphone.rate Microphone.setGain() Microphone.setRate() Microphone.setSilenceLevel() Microphone.setUseEchoSuppression() Microphone.silenceLevel Microphone.silenceTimeout Microphone.useEchoSuppression MovieClip class MovieClip.attachAudio() NetConnection class NetConnection.call() NetConnection.close() NetConnection.connect() NetConnection.onStatus NetStream class NetStream.attachAudio() NetStream.attachVideo() NetStream.bufferLength NetStream.bufferTime NetStream.close() NetStream.currentFps NetStream.liveDelay NetStream.onCuePoint NetStream.onMetaData NetStream.onPlayStatus NetStream.onStatus NetStream.pause() NetStream.play() NetStream.publish() NetStream.receiveAudio() NetStream.receiveVideo() NetStream.seek() NetStream.send() NetStream.setBufferTime() NetStream.time SharedObject class Designing remote shared objects Data design and management Conflict resolution Local disk space considerations SharedObject.clear() SharedObject.close() SharedObject.connect() SharedObject.data SharedObject.flush() SharedObject.getLocal() SharedObject.getRemote() SharedObject.getSize() SharedObject.onStatus SharedObject.onSync SharedObject.send() SharedObject.setFps() System class System.showSettings() System.useCodepage Video class Video.attachVideo() Video.clear() Video.deblocking Video.height Video.smoothing Video.width Client-Side Information Objects Camera information objects LocalConnection information objects Microphone information objects NetConnection information objects NetStream information objects SharedObject information objects Server-Side ActionScript Language Reference Server-Side ActionScript Language Reference Using server-side ActionScript Using naming conventions Naming applications Specifying instances Using JavaScript syntax Avoiding reserved commands ActionScript classes Global functions ActionScript elements Application class Application.acceptConnection() Application.allowDebug Application.broadcastMsg() Application.clearSharedObjects() Application.clearStreams() Application.clients Application.config Application.disconnect() Application.gc() Application.getStats() Application.hostname Application.name Application.onAppStart Application.onAppStop Application.onConnect Application.onConnectAccept Application.onConnectReject Application.onDisconnect Application.onStatus Application.registerClass() Application.registerProxy() Application.rejectConnection() Application.server Application.shutdown() clearInterval() Client class Client.agent Client.call() Client."commandName" Client.getBandwidthLimit() Client.getStats() Client.ip Client.ping() Client.protocol Client.readAccess Client.referrer Client.__resolve Client.secure Client.setBandwidthLimit() Client.uri Client.virtualKey Client.writeAccess File class File.canAppend File.canRead File.canReplace File.canWrite File.close() File.copyTo() File.creationTime File.eof() File.exists File.flush() File.isDirectory File.isFile File.isOpen File.lastModified File.length File.list() File.mkdir() File.mode File.name File.open() File.position File.read() File.readAll() File.readByte() File.readln() File.remove() File.renameTo() File.seek() File.toString() File.type File.write() File.writeAll() File.writeByte() File.writeln() getGlobal() load() LoadVars class LoadVars.addRequestHeader() LoadVars.contentType LoadVars.decode() LoadVars.getBytesLoaded() LoadVars.getBytesTotal() LoadVars.load() LoadVars.loaded LoadVars.onData LoadVars.onHTTPStatus LoadVars.onLoad LoadVars.send() LoadVars.sendAndLoad() LoadVars.toString() Log class Log.onLog NetConnection class NetConnection.addHeader() NetConnection.call() NetConnection.close() NetConnection.connect() NetConnection.isConnected NetConnection.onStatus NetConnection.uri protectObject() setAttributes() setInterval() SharedObject class SharedObject.autoCommit SharedObject.clear() SharedObject.close() SharedObject.commit() SharedObject.flush() SharedObject.get() SharedObject.getProperty() SharedObject.getPropertyNames() SharedObject.handlerName SharedObject.isDirty SharedObject.lock() SharedObject.mark() SharedObject.name SharedObject.onStatus SharedObject.onSync SharedObject.purge() SharedObject.resyncDepth SharedObject.send() SharedObject.setProperty() SharedObject.size() SharedObject.unlock() SharedObject.version SOAPCall class SOAPCall.onFault SOAPCall.onResult SOAPCall.request SOAPCall.response SOAPFault class SOAPFault.detail SOAPFault.faultactor SOAPFault.faultcode SOAPFault.faultstring Stream class Stream.bufferTime Stream.clear() Stream.flush() Stream.get() Stream.length() Stream.name Stream.onStatus Stream.play() Stream.record() Stream.send() Stream.setBufferTime() Stream.setVirtualPath() Stream.size() Stream.syncWrite trace() WebService class WebService.onFault WebService.onLoad XML class XML.addRequestHeader() XML.appendChild() XML.attributes XML.childNodes XML.cloneNode() XML.contentType XML.createElement() XML.createTextNode() XML.docTypeDecl XML.firstChild XML.getBytesLoaded() XML.getBytesTotal() XML.getNamespaceForPrefix() XML.getPrefixForNamespace() XML.hasChildNodes() XML.ignoreWhite XML.insertBefore() XML.lastChild XML.load() XML.loaded XML.localName XML.namespaceURI XML.nextSibling XML.nodeName XML.nodeType XML.nodeValue XML.onData XML.onHTTPStatus XML.onLoad XML.parentNode XML.parseXML() XML.prefix XML.previousSibling XML.removeNode() XML.send() XML.sendAndLoad() XML.status XML.toString() XML.xmlDecl XMLSocket class XMLSocket.close() XMLSocket.connect() XMLSocket.onClose XMLSocket.onConnect XMLSocket.onData XMLSocket.onXML XMLSocket.send() XMLStreams class Server-Side Information Objects Application information objects NetConnection information objects Stream information objects Server Management ActionScript Language Reference Server Management ActionScript Dictionary Using the Server Management ActionScript API Establishing the connection to the server Syntax example A simple application example Information objects Method summary addAdmin() addApp() addVHostAlias() approveDebugSession() changePswd() gc() getActiveInstances() getAdaptors() getAdminContext() getAdmins() getApps() getAppStats() getConfig() getConfig2() getGroupMembers() getGroupStats() getGroups() getInstanceStats() getIOStats() getLicenseInfo() getLiveStreams() getLiveStreamStats() getMsgCacheStats() getNetStreams() getNetStreamStats() getRecordedStreams() getRecordedStreamStats() getScriptStats() getServerStats() getServices() getSharedObjects() getSharedObjectStats() getUsers() getUserStats() getVHosts() getVHostStats() ping() reloadApp() removeAdmin() removeApp() removeVHostAlias() restartVHost() setConfig() setConfig2() startServer() startVHost() stopServer() stopVHost() unloadApp()