• Save
FMS Administration Seminar
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

FMS Administration Seminar

on

  • 3,114 views

Seminar about Flash Media Server (FMS) Administration)

Seminar about Flash Media Server (FMS) Administration)

Statistics

Views

Total Views
3,114
Views on SlideShare
3,104
Embed Views
10

Actions

Likes
4
Downloads
0
Comments
0

1 Embed 10

http://www.slideshare.net 10

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

FMS Administration Seminar Presentation Transcript

  • 1.  
  • 2.
    • Introduction to Flash media server
    • Understanding configurations
    • Scaling options
  • 3.
    • What is a media server
      • Open socket server
      • Persistent connection with client
      • On that connection
        • Stream audio
        • Stream video
        • Stream text / data
  • 4.
    • What is flash media server
      • Adobe’s media server is called flash media server
      • Works with the RTMP protocol
      • Flash media streaming server
      • Flash media Interactive server
  • 5.
    • Versions
      • 1.0 released 9 July 2002
      • 1.5 released 27 March 2003
      • 2.0 released November 15 2005
        • Renamed to FMS and versions not reset
        • New coded On2’s VP6 in flash player 8 for the first time
      • 3.0 released 4 December 2007
      • 3.5 released 13 January 2009
      • 3.6 now in beta (closed beta)
  • 6.
    • Types of servers we have
      • RED5
      • WOWza
  • 7.
    • Special language
      • Client side – ActionScript 2/3 (3 preferred)
      • Server - Server-Side Media ActionScript
      • FMS API
        • Predefined functions (application level)
          • OnConnect
          • OnClientConnect
          • And more…
  • 8.
    • Create video/audio/text chats
  • 9.
    • Create games
  • 10.
    • Create games
  • 11.
    • Create Rich video based application
  • 12.
    • Create Rich audio applications
  • 13.
    • Supported OS’s
    • Installation of flash media server
    • Ports supported / best use
    • Connection test – coding example (flex)
  • 14.
    • Windows
      • Windows 2003
      • Windows 2008
      • Windows Vista
      • Windows 7
    • Linux
      • From 3.X +
    • Mac
      • No Mac version 
  • 15.
    • Supported ports (1935, 80)
    • Why not use 1935?
      • Client firewalls
      • Server firewalls
      • Routers blocking communications
    • Combine with IIS listening on port 80
  • 16.
    • Let’s install shall we
  • 17. package { import flash.net.NetConnection; import flash.display.Sprite; import flash.text.TextField; import flash.events.NetStatusEvent;   public class FMS3Connect extends Sprite { private var nc:NetConnection; private var rtmpNow:String; private var msg:String; private var connectText:TextField; private var posX:Number;   function FMS3Connect () {   nc=new NetConnection(); nc.addEventListener (NetStatusEvent.NET_STATUS,checkConnect); rtmpNow="rtmpe://192.168.0.11/connect"; //rtmpNow="rtmpe:/connect"; nc.connect (rtmpNow); } private function checkConnect (event:NetStatusEvent):void { connectText=new TextField(); msg=event.info.code; connectText.width=250; connectText.text=msg; addChild (connectText); posX=connectText.stage.stageWidth; connectText.x=(posX/2)-((msg.length/2)*(6)); connectText.y=175; } } }
  • 18.
    • Understanding applications
      • What are applications
      • Why separate applications
    • Folder structure – get organized super fast
    • File structure inside application
    • Main.far / main.asc
      • What is a .far file
      • How can you edit this file?
      • Far utility
  • 19.
    • Folder/file Structure
  • 20.
    • Folder special configuration
      • When user needs FTP to upload files
      • End users uploading mp3 files the FMS should stream.
      • DO NOT give access to FMS default folder
      • Configuring the XML file
  • 21.
    • RTMP
      • Real-Time Messaging Protocol
    • RTMPE
      • Real-Time Messaging Protocol (Encrypted)
    • RTMPTE (RTMPS)
      • Real-Time Messaging Protocol (Encrypted)
      • Tunneling over HTTP (T)
    • Security best use
  • 22.
    • RTMP
      • proprietary protocol
      • Developed by Adobe
      • TCP based
      • Single persistent connection
      • Real time messaging allowed on this connection
      • Smooth delivery of audio/video
      • Ports: Default  1935 can work on  80
      • Sometimes firewalls blocks this connection (rare)
  • 23.
    • RTMPT (e, s)
      • HTTP based
      • Encapsulated and exchanged over HTTP
      • Larger packets (include headers)
      • Will go through every firewall
  • 24.
    • What are RSO’s
      • Remote shared objects
      • Controlled from place X shown on place Y and vice-versa
        • private var so:SharedObject;
        • var memberName:String= name_txt.text; so.setProperty("cliName", memberName);
  • 25.
    • When to use?
      • Remote controlled slide shows
      • Text chats
      • Mixer applications (DJ’s)
      • Live sales site
      • Customer service applications
  • 26.
    • Basic Shared object example (code)
  • 27.
    • Netstream
      • What is a NetStream?
        • Packets carrying mule 
      • Bundles sending over the NetStream
      • Connections Handling… (next slide)
  • 28.
    • Connections Handling
  • 29.
    • Flash media server administration console
      • Locating it in the start menu
      • Set admin password
  • 30.
    • Flash media server administration console
  • 31.
    • Configuration XML’s
  • 32.
    • Configuration XML’s (the old fashioned way)
      • Good old notepad / Notepad++ is the IDE
      • Great commenting
      • High level of customizing the server
  • 33.
      • FMS.INI
        • Admin credentials
        • Application Folders
        • Host ports
        • ############################################################### # This section contains configurable parameters in Server.xml # ############################################################### # IP address and port Flash Media Admin Server should listen on
        • # For example:
        • # SERVER.ADMINSERVER_HOSTPORT = :1111
        • SERVER.ADMINSERVER_HOSTPORT = :1111
  • 34.
    • FMS.INI continues
      • Paramaters
        • <HostPort>${SERVER.ADMINSERVER_HOSTPORT}</HostPort>
        • This means the configuration comes from XML
        • You can change the FMS.INI or poke your way through to the relevant XML.
  • 35.
    • Server.xml
        • 81 different tags for configuration
        • One you should care about the most:
          • <HostPort></HostPort>
  • 36.
    • Users.xml
      • Increase / decrease security
      • <allow> <deny> tags
      • Allow / deny domains
        • <Allow>www.sandlight.com, 12.34.5.678 </Allow>
  • 37.
    • Logger.xml
      • access.00.log – most recent log (convention)
      • Change time of logging
      • <history>
        • Default 5
        • When server reaches access.05.log starts over
      • <Time>
        • Time format – Local / UTC
  • 38.
    • Adaptor.XML
      • Network adaptor configuration (individual)
        • <HostPortList>
        • <HostPort>
        • <Allow> <Deny>
  • 39.
    • vHost.xml
      • Create additional virtual
      • hosts using the same server
  • 40.
    • Cluster in Streaming server
    • Load balancing in Interactive server
    • FMS Intelligent balancing
    • Edge / Origin
    • Magic custom created scaling
  • 41.  
  • 42.
    • Exp/Imp URI
      • When should you use Explicit/implicit URI
    • Traffic Cop
      • When should you use it?
    • Server Auto Discover
    • Client Auto Discover
  • 43.  
  • 44.
    • Server number is unlimited
    • Load balancer of your choice
    • Horizontal scaling
  • 45.  
  • 46.
    • DB Server
      • Sql Server /mySQL / Sqlite3
      • Holds data on servers
        • How many servers in cluster
        • Allowed connections
        • Connected users
        • Bandwidth usage
  • 47.
    • DB Server
  • 48.
    • HTTP Service
      • Connects to the database and watches the data
      • Simple HTTP service via REST or SOAP
        • WhatIsMyServer():String
        • This method return a URI for the client machine
        • The client then connects to that URI
        • rtmp://server1:1935/
  • 49.
    • Http Service
  • 50.  
  • 51.
    • Total Control
    • SWF validation
    • DB – Come play
  • 52.
    • Each application has it’s own event bubble
    • Event Types:
      • OnConnect – When client connects to the application
    • OnDisConnect
      • Client disconnected from the server
    • OnAppStart
      • Application initiated (from server or from client)
    • Custom events
      • Sync, client-data and more…
  • 53.
    • Inside stream.play();
      • myStream.play(&quot;name&quot;,start,length,reset,remoteConnection, virtualKey)
      • application.myStream.get(&quot;serSideStreamName&quot;)
      • application.myStream.play(&quot;newProduct&quot;)
  • 54.
    • Inside stream.play();
      • application.sandStream.get(&quot;sandlight&quot;)//Name if(application.sandStream) { application.sandStream.play(&quot;PepTalk&quot;)//Live application.sandStream.play(&quot;recordedTalk&quot;)//Recorded FLV application.sandStream.play(&quot;mp3:Blues&quot;)//MP3 }
  • 55.
    • Inside stream.play();
      • Params (Start Param)
      • application.sandStream.play(&quot;mp3:flaRock&quot;,-2)
      • -2 is default
      • Tries to play live first (find?)
      • After the live starts to play VOD (find?)
      • Creates a stream with the name and listens
  • 56.
    • Inside stream.play();
      • Params (Start Param)
      • application.sandStream.play(&quot;mp3:flaRock&quot;,-2)
      • -1
      • Tries to play live first (find?)
      • Creates a stream with the name and listens
  • 57.
    • Inside stream.play();
      • Params (Start Param)
      • application.sandStream.play(&quot;mp3:flaRock&quot;,-2)
      • 0
      • Starts playing the file at the start
  • 58.
    • Inside stream.play();
      • Params (Length Param)
      • application.sandStream.play(&quot;mp3:flaRock&quot;,-2, -1)
      • Play from beginnig to end
      • If 0 or greater is used then a preview is played
  • 59.
    • Inside stream.play();
      • Preview?
        • When you have a VOD application and you want to let your users play a sneak peak of the application.
  • 60.
    • Playing mp3 files
  • 61.
    • Create files
    • Read/write to and from files
    • Get data on files
      • Example application
      • Coding…
  • 62.  
  • 63.
      • Yossi Cohen
    • [email_address]
    • 09-8850956, 054-5313092