Bit late to the party but I thought I'd quickly post that Adobe's Flash Media Encoder version 2 has been released. Go get it here.
Looks pretty good from a cursory look at it. At least it starts up unlike the last version which I had to uninstall some stuff to get it to run.
I'll probably mess around with this a little later on, hopefully I can get some time to post a review here in case anybody wants to know what I think :)
Some new features:
- Command-line options. Use command-line options to run encoding sessions via scripts or from a command prompt.
- MP3 support Encode audio in either MP3 or Nellymoser format. For MP3 format, you can also choose the number of channels (mono or stereo).
- Timecode support. When using a device that can generate timecodes, embed an SMPTE timecode in the video stream.
- Features for enabling 24/7 broadcasts. Several settings and command-line parameters make it easy to run encoding sessions continuously. Create scripts and integrate them with your existing automated systems.
- Support for remote access. Access Flash Media Encoder-in both GUI and command-line mode-via Microsoft(R) Remote Desktop Connection or RealVNC(tm).
I feel like some kind of weird geeky superman of sorts.. worker by day, tutorial writer by night or something.. Anyways, as I mentioned in a past post here we're putting together a new community site that revolves mostly around tutorials for Flash Media Server and Flash development. I'll talk about more details on this later.
Currently I've got most of my articles up on it from this blog and plan on putting up a couple more in the near future but am also concentrating on getting video tutorials up. Got four of them now with another coming today. I'm planning on having the first 10 or so to most likely just be covering the basics to get people up and running. This will build a foundation into more intermediate topics.
It's not that I can't think of about 2 billion things to talk about but I think I'd like to hear what the community is looking for. I'm sure there are exact items that people may be confused about and I'm interested in knowing what those are. If you happen to have anything that hasn't been mentioned in this post's comments then please post below so that I can plan out how and what order I should be putting tutorials up.
I'd say if all goes well, the new site should be up and running later on this week, or at the latest the beginning of next week. I'm pretty excited about it and hope it helps more people get into FMS and develop some cool stuff.
On a side note, this site will most certainly not be a closed tutorial admission format. If you have articles or video tutorials that you'd like to post up then that's great. I'll definitely provide more details on how to do that in the very near future.
With a new site that we have been working on I've been doing my best to get back into Coldfusion development after working with ASP for so long. There was a time when I did a lot of CF stuff but got very frustrated with the lack of support for any character set other than english. Especially Japanese. So had wandered off figuring that CF wasn't for us just yet.
Anyways, back into it now with CF8 and was working on a flash form. It was kind of late when I was working on it last night and for some reason I just couldn't get the form to show up. No error no nothing. Couldn't right click the area where the form should have showed up. That's weird I thought and right clicked somewhere else to check the source. All kinds of javascript functions in the page and pointing to CFIDE. Hrmm.. I searched all through the docs, nothing to be found though. Do a little search on the web and finally come across a post saying that maybe IIS isn't setup properly. Maybe the CFIDE virtual directory doesn't exist.
Now, this kind of thing I can sort of understand but it sure would be helpful if in the docs there was some kind of instruction to say that if the form doesn't show up then to check that. I had figured with the install of CF8 that those kinds of things would be taken care of automatically. Nope. So into the server I went to set this up.
All is well now. Hopefully my ignorance will help others who are having the same problem. Based on the search I did on the forums it seems that "flash forms not showing up" is a reasonably regular problem. Maybe there is a technote somewhere.. not sure, didn't come up in any search I did.
This most definitely doesn't pertain just to Flash Media Server, but it's a good question that I think quite a few people ask themselves when working with FMS2.
The question: I'm having trouble viewing streamed video, it starts and stops a lot, what's wrong here?
The answer:
To start off, let's talk about video file encoding. Video files can be encoded in two different ways, CBR (constant bit rate) and VBR (variable bit rate). If you were to encode a file with CBR at 600 kbps then throughout the whole video it would be 600 kbps, even if there wasn't really a need to have that much information.
Whereas, if you were to encode in VBR at 600kbps, the encoder would change the bit rate based on whether or not there is a lot of information changing around etc.
So on that note for FMS, and progressive streaming for that matter, it becomes a bit more difficult for the player to properly buffer VBR because the bit rate is always changing. For CBR it becomes rather simple because it's easy math. Meaning, one question you need to ask yourself is whether it is more beneficial to encode in VBR or CBR.
This all goes down the toilet of course if you have a bad network connection that drops or just gets really bad at times and then good at times. Buffering is a bit of a science and I've got just the article for you to look at if you want to learn more about that and how to more smartly buffer video. Thanks to a super video genius, Fabio Sonnati, we all now have this article to refer to when we want to learn how to buffer video in a more intelligent way than just setting the buffer via the netStream object.
So essentially, if your video is stuttering or stopping and starting a whole bunch of time then most likely you aren't buffering properly. See the article above on how to deal with that in a better way than you are now.
I actually receive and see this one on forums quite a bit so let's see if I can shed a bit of light on things.
The question: I'm having trouble viewing streamed video, how can I confirm the server is working?
The answer:
First thing to do here is supply a link to a previous article I wrote on this subject:
http://www.sti-media.com/blog/archives/000217.html
So that's how you would setup the server for the FLV file.
For the flash side, let's cover the basics.
1. Open a new FLA file (flash 7 and up)
2. Go to the library and click the menu button and choose "New Video"
3. Choose "Video actionscript controlled"
4. Once the video object is on the stage, select it and put in an instance name of "vid" for now.
From this point forward I'll just post some quick actionscript to test if video will play from a server. We'll use the video file "myVideo.flv". So just substitute that in the code for whatever you are using. (sorry about the code unfriendly blog here..)
//create a netConnection
var nc:NetConnection = new NetConnection();
//create the net stream to play the video
var ns:NetStream = new NetStream(nc);
//attach the net stream to the video object
vid.attachVideo(ns);
//handle the information objects from the net connection
nc.onStatus = function(info){
if(info.code == "NetConnection.Connect.Success"){
//connection success, play the stream
playTheStream();
}
}
//function to play the stream
function playTheStream(){
//0 is for a prerecorded stream, -1 is to play it until it ends
ns.play("myVideo", 0, -1);
}
nc.connect("rtmp://MYSERVER/videoApplication/videoplayer");
That's pretty much it. If your video does not play in the screen when you publish that file and you are connecting up successfully then you don't have the video file in the right spot. Double check that.
If you can't connect up then double check the connection string to see if you have the right server, right application and actually check to make sure the server is running and the ports are open that you have set for the server.
That's all folks.
On that note, I will be moving forward with the video tutorials. I even have a brand new domain for them and will post more information on that in the very near future. If anybody can guess that domain I shall send you a big delicious chocolate chip cookie :)
Wow, the big three one.. almost as many tutorials as I am old. It's been a while since I've posted an FMS guru question up here because I've been responding privately with a few that just wouldn't pertain to most and found it a bit tough to write a more generic post for it. Anyways, this question falls under that category nicely, so here goes.
The question: How can I move FLV files that have been recorded with Flash Media Server 2 to another server?
The answer:
This is actually a very common request from clients and friends alike. How to get those FLV files off of the FMS server and over to the web server to played progressively.
I'd like to first start with giving a bit of insight as to why somebody would want to do this.
1. FMS2 is a lot of money for one pro license. If you can keep BW and connections to a minimum then you won't have to buy more licenses to keep up with demand. In the case of recording video, you need a connection and need to use FMS bandwidth, but not for playback. That can be done with a web server and save that cost.
2. Sometimes you just don't want to stream files and let people download the FLV to be cached for quicker playback later. It does have the drawback that the user can't seek ahead before download, but see #1 and think on the cost savings.
3. Sometimes you want both and of course FMS should be on it's own box. In this case you will need to copy the FLV files over to the web server, wherever that may be.
So how to do this?
It's going to depend on if the servers are on the same network, like an internal one maybe. In this case it's reasonably simple to make a small bit of code in a batch file or something to watch a particular folder. If a new file is put in the folder then copy it over to the other server. Unfortunately this is a rare problem for most and it's a requirement to get the files over the internet to another server.
My first and pretty much only suggestion would be to use FTP to move the files. It's just a matter of how to do that.
You can setup most FTP programs to watch a folder and when a new file is in there to copy over to another server. Or just setup a timer. The person asking this particular question is asking how to do that in ASP.NET. I don't know for sure, but I'm positive there has to be some kind of plugin(or maybe just straight out of the box) that will allow you to do FTPing. I've done it with ASP, so I would guess that ASP.NET can too.
Other than that there really isn't any other option. I suppose if you can setup virtual folders over the network then you can have FMS just record straight to another server (I've seen this done) but it's iffy when you then have to worry about network speed etc, so this is best practiced within an internal network.
Hope that helps a bit.