Red5录像质量很差

时间:2011-02-28 18:29:56

标签: java video-streaming video-capture red5

我在运行linux的EC2上安装了Red5 1.0。我的目标是从我的网站录制网络摄像头视频 - 连接到用户的网络摄像头并将视频保存到S3。

我在预装的演示应用程序中试用了录像机应用程序。它有效,但是当我播放录制的flv视频时,质量非常糟糕。

  • 充其量,视频非常像素化并且运动模糊
  • 最糟糕的是,视频甚至没有播放 - 它只是停留在一帧
  • 大多数情况下,视频和音频完全不同步且不连贯。我发现我可能会影响这个使用其中一个配置文件增加服务器上的缓冲区容量,但增加缓冲区似乎会导致视频不稳定。

我尝试连接多台计算机,甚至是快速的公司互联网连接。有趣的是,即使连接到localhost,质量问题仍然存在,因此它似乎不是网络问题。

当我使用red5-recorder.com flash应用程序录制到演示服务器应用程序时,质量更差。

最终,我只想从访客的网络摄像头获得高质量的视频录制,但不想为FMS或Wowza省钱。

有关如何让Red5录制高品质的任何想法?总是这么糟糕吗?

感谢您的帮助!!

4 个答案:

答案 0 :(得分:3)

录制视频的质量与RED5设置无关,但与您的Flash应用设置无关。只需尝试将Camera.setQuality()设置为更适合您需求的内容。例如,如果您使用setQuality(0,100),您将获得最佳视频质量,但带宽使用也会增加。

答案 1 :(得分:0)

我们遇到0.91版本的同样问题。我在某处读到0.8很好。你可以试试那个......

答案 2 :(得分:0)

尝试使用Red5 RC1它肯定会给你更好的录音,但我也想找到更好的东西,直到现在我还没有提出一些东西..如果你解决了问题,我会很高兴听到更好的方法..

答案 3 :(得分:0)

所有Red5版本(包括1.0.2)都受到严重视频录制问题的困扰。有关所有版本及其问题的列表,请参阅this answer

Red5 1.0.3是Red5的第一个版本,视频录制过程已修复,因为它是第一个包含this awesome patch的版本。

快速解释2部分原因

Flash Player缓冲(仅限)视频数据包

众所周知,Flash Player会缓冲视频数据包,并在网络条件不允许同时发送时发送音频数据包。

这对于您希望至少保留音频的实时视频场景非常有效,但不适用于本地缓冲的视频数据包最终到达媒体服务器太迟的视频录制场景(相应的.flv部分可能有已写入磁盘)。

这就是AMS和Wowza实施延迟写入机制的原因,他们在将数据写入磁盘之前等待视频数据包到达。

Red5的错误

Red5也有这样的机制,但由于严重的错误,它正在丢弃视频数据包而不是等待它们。

使用上述补丁修复了bug。

Red5将等待缓冲的视频数据包由fileconsumer.queue.size中的conf/red5.properties控制。默认为120,对于2分钟的高清视频缓冲区应该足够了。

进一步阅读