Discussion Area

ask questions, discuss topics, solve problems

This is a public Discussion Area  publicRSS

Thread

    • Questions about getting started with FMS?
      Thread posted 11/11/08 by David_RealEyes, last edited Oct 02, tagged Sticky
      2690 Views, 47 Comments
      Title:
      Questions about getting started with FMS?
      Content:

      SO are you just getting started with Flash Media Server and have some questions getting rolling?

      If so this is the place to post those questions and well do our best to help you and get you going in the right direction.

    Comments

    • So I've configured an encoder farm that is moving all of our RealMedia content from ".rm" to ".flv",  I'm not asking for a round of applause, but I would like to know more about moving from one archived data format to another.  It would be sweet for Adobe to create a tool for a smooth transition for those of us that would like to perform a large data format conversion.

    • Adobe has the FMES (Flash Media Encoding Server). Does a pretty damn good job but it cant handle RealMeida. Their licensing as I understand it really whacked and makes it hard for encoders to be able to support transcoding from it - though I would say thats a less than optimal thing to do anyways since its a heavily compressed format to start - better to go back to source. If you have any questions on the FMES I am happy to answer them - been using it a fair bit lately.

    • David, I have few questions about FMES. For the last 8 years we gathered thousands of educational video files. They are encoded using DivX 4,5,6 / MP3 (.avi). So, the questions are: - will there be any problems with DivX? Format Support guide says it is supported, but I can't, for example, reencode DivX media using Flash Media Encoder to .flv on my mac. - do you need to install additional software to set up "encoding farm"? - can you post, please, few screenshots of FMES interface to see "what it is made of" :)?
    • Hey mexxik -

      I was actually thinkning of doing a semo of this maybe at the next UG meeting - is that going to be too far away for ya? To answer your main questions I dont believe DIVX is a problem at all. The only mai format I know is a big issue is Real media. Aside from the FMES there are no other software requirements. Let me know if you really need some answers sooner and I can get some stuff together for you. Actually come to think of it I can also put you in touch with one of our sales guys if you want to ask some specific questions and such - he should be able to help: sean [at] realeyes.com

    • David, thank you for your speedy reply. About UG meeting - I am 99% sure that it is going to be "extremely far from me"! I am really considering to get FMES in 1-2 months, as I have no idea how to prepare our "millions" of files for broadcasting via FMS. And one more small question: is it possible to automate encoded media to a server (using ftp for example)? Thank you Sean's mail. I am sure he will help me. PS: I have some question regarding Flash Media Rights Management Server? Where is the best place to ask them?
    • Hey mexxik - ping me off the forum. We can help with all that as we are a FMS partner and reseller with Adobe.

      david [ at ] realeyes.com

      I can do a demo and talk through some stuff with you right away if you like. We have a massive encoding and FMRMS encryption project upcoming and have some cool stuff in the works for it they help you.

    • Hello, there! We've had our FlashCom service terminated by MediaTemple and must now install FMS on our dedicated virtual server ourselves. I'm rather afraid that this is beyond my comfort zone and am looking for some direction, guidance, and even hand-holding. Any and all help that you can give on this is wildly appreciated. Patrick
      • posted 12/27/08 by HandG

      Hi,

      I try to developp a chat application, my problem is about security, how to protect the FMS connexion ?

      I saw this example :

      application.onAppStart = function (info){
       
      this.domainList = new Array("http://www.orb-multimedia.com","http://orb-multimedia.com");
       
      this.domainLength = this.domainList.length;
       
      }; .....

       

      but Must i have to do something esle ?

      thnak you

      Sorry for my bad english.

       

       

    • I'm getting started and I want to write a "Hello Persistance" application.  I'm trying to send a string to FMS, and save it as a file.  Then, I'm going to have a method on the server that will retrieve that file and send it back over to the client when requested.

      Trouble is that when I do my file.write() method, I get an error "File operation write failed".  It opened the file just fine, and it created the file just fine.  I wish that error were more helpful, and I wish that a google search for the quoted phrase "file operation write failed" didn't return 0 results.  Unfortunately, I could not find a single example on the Internet about how to create an end-to-end solution with the FMS File class.  So now I'm stuck!

      If anybody can just point me at a page that shows a real example of using the File class, I'd appreciate it.

      Here's the server code:

          // Write to project file data:
          client.writeProjectFile = function( inName, inData )
          {
              // todo: read project from a file
              trace("writing project data: " + inData)

              var myFile = new File( "database/" + inName )
              myFile.open("text", "write")
              myFile.write("hello")
              myFile.close()
              return "ok"
          }

    • We have installed the FMS 3 and I have been able to stream a video through to a web page using the vodtest sample.  I modified the vodtest sample to play a particular video successfully.  What I need to be able to do is pass the name of a video that I want to be played on a web page to the swf.  I have found postings online that say it can be done by passing flash variables and then reading those variables in the action script.  I have also read that it can be done through query strings.  I have tried both of those with no luck.  The action script in the vodtest sample is 2.0 and I have tried to convert that to 3.0 with no luck either.  How can the passing of parameters be done successfully so that a movie chosen by a user on a web page can be played?

      Thank you,

    • I just tried to get started with Flash Media Live Encoder, and when I try to publish to FMS, it prompts me for a username and password, and it rejects it every time.  It just says "Failure to connect to primary server.  Please verify that your Server URL, application name is valid and your internet connection is working and retry."  I have done 100% of the things suggested by that message, and it still doesn't work.  Where can I find documentation about setting up FMS applications to work with live streams inserted by FMLE?

      Every information resource I can find just assumes that FMS will automatically accept the connection.  So again I'm totally stuck.

      Another thing that's confusing is that both justin.tv and ustream.tv have FMLE xml files that I'm supposed to import as an FMLE provile.  I thought I might look at how they do it, but in both cases, when I try to load the xml file, it says "The file selected is not a valid Flash Media Live Encoder profile."

      So far, my experience is that FMS is extremely difficult to get started with.  I long to get into the secret underground club of people who have figured it out.  :-)

      • Hello Harry

        i read your comments on this forum and i laughed. I totally agree with you 'extremely difficult to get started..." comment. Did you ever find the secret underground club who know how to get it all working? i would love to have some help.

        Kind Regards

        Doug

    • Ok I am a little behind on replying - gonna do the best I can right now.

      @HandG - best thing I would recommend to make this quick and easy on you is check out the source code for the main.asc file for the vod or live directory. I believe they are under the [INSTALL DIR]/samples/applications. They have really good security that is externally managable via the allowed HTML and SWF domains. Pair that with SWF verification and you have a pretty nice security system.

      @hgarland - as far as your first question with persistent files and such - I assume remote Shared Objects wont do for what you want? I dont have a bunch of experience with the File functionality server side. If you are still having issues though let me know and I will try to dig up some info or make you a sample to help.

      @RVMike - you mentioned you tried the standard techniques, can you provide a code sample or a link to refference? This is def doable and generally straightforward, but there is a dozen ways to do it so we need a starting point. Post up some deets or ping me directly and I'll help you out. Just an FYI the FMS 3.5 provides a really slick player that does this for you - should be out soon as well I think.

      @hgarland - I can help you out with the FMLE if you need. Happy to do a quick screen share if need be, or next meeting I can demo it out real quick. As far as connecting it all depends on your FMS main.asc file. If it requires any special parameters to connect you have to handle them appropriately in FMLE or no dice. Try it with the vod or live application instances and it should work out of box no username or password. Let me know if you want more help with it - not sure about the invalid xml profiles, most likely a version issue, but I've used the FMLE a fair bit and should be able to help.

    • I have attached the swf file and the page that I am using.  I will definitely recommend the upgrade to 3.5 when it is available.  My attempt in the enclosed files is to use parameters sent in from the web page.

      The HTML from the web page is as follows:

      <!-- using Query String -->
      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
              codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
              width="1000"
              height="1000"
              align="middle"
              id="main">
          <param name="allowScriptAccess" value="sameDomain" />
          <param name="movie" value="vodtest.swf?param1=Episode01-700d.flv" />
          <param name="quality" value="high" />
          <param name="bgcolor" value="#ffffff" />
          <embed src="vodtest.swf?param1=Episode01-700d.flv"
                 width="1000"
                 height="1000"
                 autostart="false"
                 quality="high"
                 bgcolor="#ffffff"
                 name="vodtest"
                 align="middle"
                 allowScriptAccess="sameDomain"
                 type="application/x-shockwave-flash"
                 pluginspage="http://www.macromedia.com/go/getflashplayer" />
      </object>

      Thank you.

      vodtest.swf (124KB)
    • I just reinstalled FMS 3.5 and some of my problems are fixed.  I wish I knew of more self-diagnoses tools for FMS.  It's frusturating when I tell it to do things, and it just sits there looking at me.  Are there any tools out there that could tell me what I'm doing wrong so I don't have to keep reinstalling it?

      BTW, I tried to put my applications folder on my D: drive (after installing FMS in C:\Program Files).  I found a blog post somewhere saying that the FMS applications must be on the same physical hard disk as the server.  I guess if that was the problem, I should just give the finicky server what it needs.

      I would like to know where to learn about all the "gotchas" that have made me break my FMS.  Any suggested resources?

    • @hgarland - unfortunatly that is the name of the game with FMS sometimes. A great resouce is flashcomguru.com though, and will try to post more to our link/resources in the coming weeks and months

    • @RVMike can you post any code snippets or source for how you are trying to pull and use the flash vars? I am also likely going to be putting together a sample of this maybe this weekend and will be sure to share.

    • Thanks David,

      Here are the snippets you requested from the .as file:

      //Code that should be pulling the parameters passed in from my prior web page html post

      try
      {
       var keyStr:String;
       var valueStr:String;
       var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
       for (keyStr in paramObj)
       {
        valueStr = String(paramObj[keyStr]);
        param1.text = valueStr;
        //valueStr = "Episode01-700d.flv"
        //do something with this information
       }
      }
      catch (error:Error)
      {
       param1.appendText(error.toString());
      }

      //Code that plays the flv

      onConnect = function(){
        // remove all messages box content
        msg_box_2.text = " ";
        msg_box_2._height = 10;
        
        if(counter == 0){
         attachMovie("FLVPlayback", "my_FLVPlybk", 10, {width:640, height:460, x:10, y:142});
         my_FLVPlybk.playPauseButton = playpausebtn;
         my_FLVPlybk.seekBar = seekbar;
         my_FLVPlybk.muteButton = mutebtn;
          }
          else{
         if(my_FLVPlybk.activeVideoPlayerIndex != 0){
          trace ("closing the video player");
          my_FLVPlybk.closeVideoPlayer(my_FLVPlybk.activeVideoPlayerIndex);   
         }
        }
        counter++;
        my_FLVPlybk.activeVideoPlayerIndex = counter;
        my_FLVPlybk.visibleVideoPlayerIndex = counter;
        my_FLVPlybk.maintainAspectRatio = true;
        my_FLVPlybk.autoSize = true;
        resize_on_start_play = false;
        play_head_text.text = "";
        size_text.text = "";
        
        //center the FLVPlayback component when FLV is ready to play
        listenerObject.resize = function(eventObject:Object):Void {
         if(my_FLVPlybk.preferredWidth == 0 && my_FLVPlybk.preferredHeight == 0){
          resize_on_start_play = true;
          return;
         }
         // resize or reposition FLVPlayback component
         startx = 10;
         starty = 142;
         widthMax = 640;
         heightMax = 450;
         if(my_FLVPlybk.width > widthMax || my_FLVPlybk.height > heightMax){
          my_FLVPlybk.autoSize = false;
          my_FLVPlybk.setSize(widthMax,heightMax);
         }
         else
         {
          my_FLVPlybk._x = startx + (widthMax - my_FLVPlybk.width)/2;
          my_FLVPlybk._y = starty + (heightMax - my_FLVPlybk.height)/2;
          
         }
         
         var size = (my_FLVPlybk.width/my_FLVPlybk.preferredWidth)*(my_FLVPlybk.height/my_FLVPlybk.preferredHeight)*100;
         size_text.text = "size: "+Math.floor(size)+"%";
        };
          
        listenerObject.playheadUpdate = function(eventObject:Object):Void {
         onStateChange();
        };
        my_FLVPlybk.addEventListener("resize", listenerObject);   
        my_FLVPlybk.addEventListener("stateChange", onStateChange);
        my_FLVPlybk.addEventListener("playheadUpdate", listenerObject);
       
        my_FLVPlybk.contentPath = param1.text; //valueStr; //"Episode01-700d.flv"
        my_FLVPlybk.autoPlay = true;
        trace(my_FLVPlybk.contentPath);
      }

      If you need anything more, please let me know.  Thank you very much.

    • @RVMike - are you getting the flash vars into your application? I see you trying to load them in from the loaderInfo - is that working? I guess I am trying to figure out if you know where it is breaking down? I ran real short of time this weekend so want able to play with this. I am still planning on making a sample but probably going to be a week or 2 as we are heavy into trying to fisnish a large project.

    • David,

      I came to the realization (I'm new at this and knew nothing about Adobe) that I am using an example from Adobe that was written in ActionScript 2.  I have been trying to pass in parameters like you would using ActionScript 3.  I read that 2 and 3 are completely different and I cannot find anything on the internet that works for passing parameters into AS2.  I think that my only way to come to a solution is to start from scratch and create a movie player written in AS3 as I should then be able to pass parameters.  If you have a better idea, please let me know.  Thanks.

    • To do it in AS2, just get the vars into the HTML code there and then access them via _root

      So it would be _root.param1 kind of thing.

    • Hi David!

      I've never used any flash server before and I'm about to undertake a video recording task so it looks like my best (lowest cost) option for recording video from a user's webcam is going to be Flash Media Interactive Server.  Is that right?

      If so, what I'm wondering is, can I overlay graphics on top of the webcam stream, and then record both the overlaid graphics and the webcam at the same time to create an FLV that has the graphics overlaid on top of the webcam footage?   Please let me know as soon as you can if this is even possible.

      Thanks!

      • Tyler,

        There are a number of options that would accomplish what you want to do. For sure FMS would work for you. There are two flavors to consider, FMIS (Flash Media Interactive Server) and FMSS (Flash Media Streaming Server). The cheaper option of the two is FMSS. This will only support streaming and if you have plans to do any serverside actionscript then FMIS will be the way to go.

        Of course there are other cheaper options like Wowza and Red5. Red5 is free and open source and so comes with community support and little documentation. Wowza is a commercial media server with great forum support and great documentation. Both Wowza and Red5 are written in java and so any serverside coding would be in java on these platforms... for the most part. There has been some effort on both parts to support other languages but the best guarantee would be to program in java on these servers.

        I would say if you are coming from a flash background FMS is the most straightforward route... but not the cheapest.

        Jake

        • Hi, thanks so much for your reply.  I noticed you were talking about streaming, but just to be clear, I'm not interested as much in video streaming, as I am recording.  By recording, I'm referring to creating a video file on the server of the data coming from the user's webcam.  What I'm specifically wondering about, because I know FMIS supports Mpeg4 recording, is can I overlay graphics on the webcam footage and record BOTH the webcam footage as well as the overlaid graphics so that both appear in the mpeg4 file created on the server.  Does what I'm asking even make sense?  Please let me know if this specific scenario is possible using FMIS.  Any advice anyone can give will be greatly appreciated.

          Thanks!

          • Recording video coming from someones webcamera to a server is streaming.. they are streaming to the server.  :)

            FMIS and FMSS can record MP4 content if streamed from a compatible encoder like FMLE. A normal users webcam will not be able to stream an h.264 encoded stream to FMS via the normal flash player. FMLE does support the concept of a graphic overlay if I remember correctly. You'll want to consult the Adobe product page:

            http://www.adobe.com/products/flashmediaserver/flashmediaencoder/

            You could also post process the file with say.. ffmpeg to put a 'watermark' over it.

            I hope that helps.

    • Wow!  Now, i'm confused and actually pretty nervous that what i'm needing to do cannot be done.  Please forgive my ignorace on this subject as I've never use FMS and I there's so much about it I don't understand.  I thought streaming was when the server delivers video to the client in packets and lets the client jump around to different parts of the video etc...  Also, I've very throroughly gone over the product pages and the white papers and feature lists of FMS and FMIS and FMLE and I don't see ANYTHING about allowing graphics to be overlaid on a webcam feed and then recorded to Mpeg4.  Also, FMIS page lists "recording" as a feature but FMSS does not list recording as a feature, so I don't know if that means it can't do that or what.  If anyone could please even just tell me where I could find out if this is even possible (recording video with overlaid graphics), and possibly point me to a place that could give me some help about actually implementing this feature, I would be greatly appreciative.

    • You can not record with overlaid graphics with FMS unless there is a client side software that incorporates this. This is not a feature of FMS but would be a feature of the client side application. FMS just takes the bits and puts them to disk.

      • When you say client-side software, could that be a flash application that I develop?  Or are you saying there is some software the user would have to download and install to enable the functionality?  If it can be done in the flash application, do you have any tips on where I could find some information about how to develop a flash application that will send the webcam data along with the overlay graphics to FMS?

    • If I knew of anything out there I would mention it, sadly I don't know of anything that can do that. Yes, client side could be a flash app or something else that can connect to FMS. There are lots of encoders out there that can connect. You should do a search for video encoders for flash and fms.

      • You can use a tool like SmithTech's Camtasia Studio "Grab it".  But...why?  If the file is being downloaded from a progressive site, you can search your hidden application data directory and find the .flv (xp only)  I haven't tried it from other OSes..essessss.

    • Okay, I have a project now that simply needs to record audio from the user's mic onto the server, and store that file in a known place with a controllable filename that I can store into a database to access later.  That is all I am needing from FMS.  Can this be accomplished with Flash Media Streaming Server?  Or do I need to get Interactive server?  For a little more detail here is a very brief outline of the application:

      1.  The user will click "start recording" and flash will stream the input of their mic to FMS.

      2.  The user will click "stop" and the recording should stop, and FMS should store the streamed audio to the server using a filename generated by the flash application.  The application will use AMF and PHP to store the filename to a database.  The application will also generate a url that will link to the application and load the user's audio file into the player.

      3.  The user will be able to go to the generated URL to hear their recorded audio.

      Please let me know if I can accomplish the FMS aspect of this application with Streaming Server, of if I need to get the Interactive Server.

      Thanks for any help!

      • I don't know about the server side storage.  But on my FMIS'eseesss  I can set the server to store on the server.  But I suspect you will need to run something like Acclaimed Coldfusion Server to manage your backend database to post data.  I've been writing a lot of applications both posting, download, filemanagers against my database which in turn drives my 250 offices'eesses video content.

    • All,

      I'm new to the streaming video world but I do have FMS 3.5 up and running and have encoded some wmv and mp4 videos to flv using adobe encoder CS4.  I followed the tutorials and have created the swf files in flash CS4 and the videos are streaming as expected.

      The primary issue I am having is the videos tend to be choppy at times.  They pause, run slowly, audio pops and just overall; glitchy.  Typically at the beginning but some times throughout.  The test files at the FMS admin page stream fine without issue from the same server.  We have tested the site/streams from multiple providers all at cable modem speed or above.

      We are running FMS 3.5 developer version and wish to purchase the full version but I really need to fix this issue to prove it's value.

      As a bit of background we are running/testing FMS 3.5 from a server with the following specs:

      • Redhat EL 4.6-32
      • SuperMicro X7DBU Intel Xeon QuadCore DualProc Sata [2Proc]
      • Intel Xeon-Harpertown 5420-Quadcore [2.5GHz]
      • OEM 4GB ECC FB-DIMM DDR2 
      • Mainboard \ Onboard \ SATAII Controller 
      • (2) Western Digital WD Caviar RE 16 WD2500YS  
      • Uplink speed 10 (Mbps)
      • Bandwidth allotment 2000 GB(Virtual Private Rack)

      Any input regarding how to test to identify the issue or past experiences with the same issue will be GREATLY APPRECIATED.  If there are any experienced individuals out there that could get us up to speed quickly we could discuss that offline.

      Thanks!

      Keith

      • Hey Keith,

        Sounds like encoding setting issues.  Can you give me some deets on your encoding settings?  If you want to ping me off the forum to chat about this feel free since we have done tons of work getting encoding settings dialed in.  Email, skype, IM all work...

        Thanks!

    • Answers to some questions from similiar post:

      1. What bitrate (audio+video) are your files encoded at?

      • FLV output file from original wmv: using On2 VP6, 638x480, framerate 29.97, stereo audio 128kbps, video bitrate encoding VBR, encoding pass one, 1,500kbps, undershoot 90, quality: good.

      2. When you experience this choppy playback, how many clients are consuming video from the server at that time?

      • 1 or 2; we're only testing now and there is almost no load

      3. What is the bufferTime set to in your client side code?

      • I'm not sure what this is set to; I know we haven't adjusted it.  Where would I find this code?

      4. Is the server in a datcenter, or is it running on a residential or commercial ISP line?

      • server is in the Seattle Softlayer datacenter

       

      Thanks so much for the help!

      Keith

    • I'm sure Josh will have some great ideas beyond what I'm about to suggest, but have you tried encoding to CBR? I don't see any issues with your encoding other than that. The Flash player may be choking for whatever reason on the variable bit rate. What kind of video is this? Talking head, lotsa action?

      I don't expect this is a server problem at all.

    • Thanks for the follow up Graeme,

      I haven't tried to encode to CBR; I'll give that a shot.  The original video is talking head with some integrated PPT images.  It is about 112MB and the encoded FLV is 102MB - not that it matters!

      Wondering if I should dive into the dynamic streaming options or just drop the quality and encode at CBR with lower bitrate.

      Keith

    • Give CBR and a slightly lower bit rate a shot. You should be able to get great quality out of something lower than 1,500. I would even go for half of that. Especially for talking head stuff.

    • the newly encoded versions at CBR and 750 bit rate seem to be working great!  Thanks so much for your help!

      Not sure if this is the place to post this but are any of you working with Dynamic Streaming as well?  Is it worth my time to move to that format and will it improve my end users experience?

      thanks again and have a great weekend.

      Keith

    • Hello again all,

      We recently upgraded to the full version of FMS 3.5 and all of a sudden are getting very poor performance from our video streams.  I posted our server specs above in this thread and mentioned our server is in the Seattle Softlayer DS and we are in Detroit area.  My primary questions is how to identify what the issue could be and if it's transient in nature, what is causing it.  Earlier today the streams where coming fine and now, very choppy and many times pausing for several seconds or more.  If anyone has any input on how to track down the issue I would be most grateful!

      thanks!

      Keith

    • I want to make Flash Media Server to communicate with my web server.But I dont know how much bandwidth exactly I need to allocate for running FMS server.I'll use this FMS server only for my one website so that my user can video chat to each other.Frankly speaking,I didn't work with FMS server before.Bandwidth is very limited in our country so it's a great matter for me.

      Please somebody help me and give me proper information.  

      • First things first.  Determine what  your bandwidth is, I'd hate to be the one to orchastrate the downfall of a third world country by suggesting a solution to your FMS project.  If you look in the samples on the FMS installation (I can't remember if FMS 3.5 has those examples) there is a completed video conference tool that just need to be tied into your fms and put onto a webserver.  Easy, because there is a lot of instruction to it.  Use that code to set the pace for the rest of your project. 

    • Hi there, ??? Mbps speed is required to run Flash Media Server (One hosting only) hopefully?We have to use V-SAT or T1 line to get higher speed what is very restricted by the authority.I read many books and tutorials to configure and manage FMS and i can read many online article on FMS but I need to know about bandwidth what is ignored.So I need exact math about bandwidth to run FMS. Please give me proper guideline.

      • Rafi, Me again.  If you determine the bandwidth restriction you want to set on your server, you limit the amount of bandwidth, independently  both in and out of the server, through the Operating System's Network Connections configuration console (Win2k3).  When you ask "What speed is required", that is directly related to the kps you encode your content at.  If you only allow 1024kps (1 mps) outbound on your network interface card, and you encode your file at 256kps, you can expect to limit your audience to roughly 3 people...maybe 4.  Take a look at this calculator for a closer look at bandwidth (http://www.dvs.de/support/calculators/data-rate-calculator.html).  I hope this helps....  Sorry for upsetting you earlier, I just thought it would be funny to take down a country's internet using 1 FMIS or FMS server...obviously you didn't.

        • Here is another calculator by Adobe.

          http://www.adobe.com/devnet/flash/apps/flv_bitrate_calculator/index.html

    • Anyone interested in a disscussion about the FMS Gateway on Coldfusion?  I plan to start my studies over the next two weeks....anyone game to play?

      • Hey Wallville - would you be interested in presenting your findings for a meeting on the FMS gateway for CF when you are done?