Installation guide

Arevisedserver-sideandclient-sideAPIallowsyoutomanageserverredirectiondata.Notethat
youneedtousetheupdatedFLVPlaybackcomponenttotakeadvantage of this feature. For more
information, refer to the Flash Media Server 3.5 documentation, Plug-in Developer Guide.
Server-side plug-in architecture
Feature in Flash Media Interactive Server; requires Flash Player 6 or later.
AdobeFlashMediaInteractiveServer3.5supportsplug-inswritteninC++thatyoucan
customize to extend the server’s functionality. ere are three plug-in classications: File,
Authorization, and Access.
Eachoftheseplug-inscanbeusedas-isorcustomizedtoyourspecicneeds.Newsampleor
skeletonAPIexamplesareprovided,whichyoucanextendtomeetyourfunctionalrequirements.
You can have more than one version of each plug-in. For more information, see the Adobe Flash
Media Server Plug-in API Reference.
File plug-in
e File plug-in allows developers to write custom asynchronous functionality allowing complete
control over where and how Flash Media Server reads content from any le system or service. e
le system can be local or remote and over any protocol, such as HTTP or even FTP.
Asynchronous read and write was a major new enhancement to Flash Media Server 3 and later.
Previous versions of Flash Media Server supported only synchronous access to a localizedle
system.Eachrequestforareadoperationonalehadtowaitforthepreviousrequestsinthe
queue to be completed. e File plug-in builds on this new asynchronous access, making it easier
toimplementnetwork-basedandremoteleI/O.
For example, you could retrieve les from a remote location over HTTP and serve them to clients
viaFlashMediaServer.Ifyouareabouttoreadalefromthedisktostream,youcannowread
that le from any mapped location, rather than only from the streams folder of your current Flash
MediaServerapplication.isfeatureisonlyapplicabletoVODcontentorSWFverication.
Authorization plug-in
e Authorization plug-in allows you to tightly control client access to server NetConnection
and NetStream events. You can use this plug-in to perform tasks such as:
• Accessclientstatisticsfromtheserverspace(suchasbytesinandbytesout)repeatedlywithout
aecting server performance
• Authorizeconnectionstotheserver
• Authorizepublishing,playback,orseekingwithinastream
• Maplogicalstreamrequeststophysicalstreamrequests
• Applyrightsmanagementpoliciestostreamrequests
• Disconnectclientsfromtheserver
• Delivercontenttoclientsaccordingtotheirgeographiclocation,subscriptionlevel,time,and
duration of a specic user’s access to specic streams, and so on
For example, an application with dierent membership levels could use the Authorization plug-in
to deliver a high-denition stream to a paid member, and a standard denition stream to a guest.
You would intercept the client before they connect, determine their membership level, then lter
the connection to point to the correct stream le. is plug-in could also be used for access
monitoring, logging, or implementing other custom rights management schemes. Because these
Authorization plug-ins can be chained, you can implement a sequence of actions to create a
sophisticated access lter for your content. With enhanced client statistics optimizations, you
cannowcreatecustommonitoringsolutionsintheC++applicationlayerusingtheauthorization
plug-in without aecting server performance.
23