3
votes

I installed Red5 1.0 on EC2 running linux. My goal is to record webcam video from my website -- connect to a user's webcam and save the video to S3.

I tried out the video recorder application in the pre-installed demo apps. It works, but when I play back the recorded flv video, the quality is terrible.

  • At best, the video is extremely pixelated and blurs with motion
  • At worst, the video doesn't even play -- it just stays stuck on one frame
  • Most often, the video and audio are totally out of sync and choppy. I found that I could affect this be increasing the buffer allowance on the server using one of the config files, but increasing the buffer seems to cause the video to get choppy.

I've tried connecting with multiple computers and even a fast corporate internet connection. Interestingly, the quality issues persist even when connecting to localhost, so it doesn't seem to be a network problem.

When I use the red5-recorder.com flash app to record to the demo server app, the quality is even worse.

Ultimately, I just want to get a high quality video recording from a visitor's webcam, but don't want to drop the money for FMS or Wowza.

Any ideas on how to get Red5 to record high quality? Is it always this bad?

Thanks for your help!!

4
Like @fixedmachine stated below, red5 / the server does not control this. The quality of the recording is based on your client settings and the speed of your connection.Paul Gregoire

4 Answers

3
votes

The quality of recorded video is not related with RED5 settings but your flash app settings. Just try to set Camera.setQuality() to something more suitable to your needs. For example if you use setQuality(0, 100) you'll get the best possible video quality but bandwidth use also increase.

0
votes

We experience the same problem with 0.91 version. I read somewhere that 0.8 was fine. You might try that one..

0
votes

Try using Red5 RC1 it will surely give you much better recording but i am also trying to find something even better and i have not come up with something till now..if you solved your problem i would be glad to hear a better approach..

0
votes

All Red5 versions (up to and including 1.0.2 ) have been plagued by serious video recording issues. See this answer for a list of all versions and their issues.

Red5 1.0.3 is the 1st version of Red5 with the video recording process fixed because it's the 1st to contain this awesome patch.

Quick explanation of the 2 part cause

Flash Player buffering (only) video packets

Flash Player is known to buffer video packets and send only audio packets when the network conditions do not allow it to send both.

This works very well for live video scenarios where you want to keep at least the audio going but NOT for video recording scenarios where the locally buffered video packets end up arriving too late at the media server (the corresponding .flv section might have already been written to disk).

That's why AMS and Wowza have implemented delayed write mechanism where they wait for the video packets to arrive before writing the data to disk.

Red5's bug

Red5 also had such a mechanism but, due to a serious bug, it was dropping the video packets instead waiting for them.

The bug fas fixed with the patch mentioned above.

How much Red5 will wait for buffered video packets is controlled by fileconsumer.queue.size in conf/red5.properties. it defaults to 120 which should be enough for a buffer of 2 minutes of HD video.

Further reading