Sunday, February 24, 2013

Streaming; Optimize Stream Settings

The number one complaint I get from people viewing my streams is their video is buffering or the video drops out. Every complaint I hear I take seriously because it could be a sign I have problems on my setup. 99% of the time the problem is on the viewer's end. I always ask them to give me a speed test result as the first step and then I will try to work out the problem. Actually the last complaint had a download speed of 22kbps. I am sorry, but you are not going to watch video at that speed no matter what I do.

Streaming quality is based on a compromise. To the end user quality is usually referred to as the ability to view the stream without any interruption. Some users are concerned about the resolution of the video because they want to view the stream full-screen on a computer, or send it to their TV screen. Therefore, when designing your setup, you must set your quality goal and design your output to achieve that goal.

The compromise as mentioned is better quality requires more bandwidth.  If you want to run your videos in high definition at a resolution that would be suitable for full-screen or television, then you limit your audience to higher quality broadband service. If your goal is to reach every user no matter if they are on cellular data service then you have to cut the quality of your stream. There are options to output multiple quality streams but we will not get to that level in this discussion. We will hold that for another day.

If you are using Adobe's Flash Live Media Encoder then you have a screen that looks like the following:

Notice on the lower left section of the screen. You have input size and Bit Rate. The input size needs to be the input size of the video you are trying to stream. Make sure you select the maintain aspect ratio box so your video does not look distorted when it is on your website or video player. The Bit Rate section is very important. It is here that you can maintain or reduce quality. Notice that I have three listed in my setup. I am letting the player decide on the bandwidth quality to determine which stream to send to the client. In today's discussion we will only look at one of the settings.

My first line has the lowest video quality I am sending. My recommendation is that you start testing with only one stream and get it functioning at your highest quality and then work from there.

The drop-down list under the Bit Rate section will show you all of the options available for your to stream.  Choose your desired Bit Rate and allow the output size to be automatically selected. If it is not automatically determined when you choose your Bit Rate then you may not have the "Maintain Aspect Ratio" box selected. If you want a decent quality feed my recommendation would be to start with a 500Kbps feed in the Bit Rate selection and begin your testing.

Video Bit Rate alone does not determine total output bandwidth. There is one other factor that adds to the equation and that is the Bit Rate of your audio feed. This section looks like the following:

My recommendation is to choose Mp3 as your format and Bit Rate of 128 Kbps. The application will display your upload bandwidth (which in most cases is the same as the client streaming download bandwidth needed) requirement. The addition of the two Bit Rate amounts (audio and video) gives you the total.

On the right hand side of the screen you will find the address and file name needed by the multicasting service. They will provide you the information needed for these sections. One additional feature found in Adobe's Flash Live Media Encoder is the option to save your stream to a file. This is useful in case you want to use a service like YouTube or Vimeo to host archives of your streams.

Get started streaming and enjoy your new avenue of sharing your ideas!

No comments:

Post a Comment

I welcome actual relevant comments to this blog. Comments meant to SPAM etc will be removed immediately.