Sunday, April 4, 2010

FMS 2.0.5 - video image quality versus...

Hi,

Does anyone know if Flash Media Server can be configured to reduce the image quality of a publish stream if available bandwidth goes down or there are delays in the connection?

When I (locally) play back videos recorded on poorer/intermittent connections, video frames are dropped, so the image freezes up.

Thanks in advance for any ideas,

Ajay

FMS 2.0.5 - video image quality versus...

Unfortunately, no. FMS cannot resample or recompress video... it's bits in, bits out.

You can try using the client side NetStream.receiveFps property, but that tends to make the video very jerky and jumpy.

FMS 2.0.5 - video image quality versus...

Thanks for the info Jay.

Does that apply to both publishing a stream and playing back a stream? We're mainly concerned with recording.

I'll look up the FMS 2.0.5 docs.

Is there a recommendation from Adobe of what kind of quality connection a user needs to record video? The application is set to record with these settings:

Camera

bandwidth?51200

frameQuality?85

keyFrameInterval?15

width 176

height?144

fps?15

Microphone

rate?22

The camera bandwidth setting is fairly high, but from what I understand, it's a maximum value the application would be allowed transmit.

So, just to confirm, if the connection quality deteriorates, frames are going to be dropped, resulting in the kind of jerkiness/freezing I've seen in recordings.

Sorry if I'm asking the obvious - I'm just trying to get answers for colleagues who aren't familiar with the system.

Thanks,

Ajay

Yes... that applies to both publishing and recording. The video coming in from the publisher is what goes out to the subscribers and/or is recorded to file, and there is no API for accessing the video data directly (which is a bit of a drag... it would be nice to be able to reach in and touch those video frames).

About your settings, remember that the bandwidth settings is in bytes, so your 51200 setting = 400kbps, which isn't all that high (I regularly publish 1Mbps video without issue). The only limiting factor when it comes to publishing bitrate is bandwidth available at the client and at the server, and most often, the limiter is available upload bandwidth at the client side.

I do't know if Adobe has a published recommendation on publishing?bitrate, but if there is, I suspect it's something along the lines of ''make sure you have a fat enough internet pipe to publish your video... don't try pushing an elephant through a drinking straw''.

You are correct about connection degredation... if a publishing client experiences a slowdown, the flashplayer will buffer video consistent with your client side netstream.bufferTime setting (assuming the publishing client is the flashplayer), and then it will start dropping video frames... which will create the jerky, jumpy playback you describe.

Thanks again, Jay!

Hi Jay,

I'll try the buffer property and see if that improves the video.

Also, about varying the image quality, does such functionality exist in later versions of FMS?

Finally, I'm checking the documentation for FMS 2 myself, but do you know if the frame-dropping behavior is officially documented anywhere by Adobe?

Thanks,

Ajay

Unfortunately, no. Even with the latest version, there is no means of resampling or recompressing video at the server side.

For the frame dropping behavior when a stream is being published, it's a client side issue, so you'll want to look in the client side AS2/AS3 docs for the bufferTime property of the NetStream class. There are specific notes in that section about the buffer behavior as related to FMS (in the flex docs anyway... I assume the same text is present in the LiveDocs and Flash help docs as well).

  • cream treatment
  • No comments:

    Post a Comment