【问题标题】:Red5 video recording quality is terribleRed5视频录制质量很糟糕
【发布时间】:2011-02-28 18:29:56
【问题描述】:

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

我在预装的演示应用程序中试用了录像机应用程序。它可以工作,但是当我播放录制的 flv 视频时,质量很差。

  • 充其量,视频是极度像素化的,并且随着运动而模糊
  • 在最坏的情况下,视频甚至无法播放——它只是停留在一帧上
  • 大多数情况下,视频和音频完全不同步且断断续续。我发现我可以通过使用其中一个配置文件来增加服务器上的缓冲区余量来影响这一点,但增加缓冲区似乎会导致视频变得断断续续。

我尝试过连接多台计算机,甚至是快速的公司互联网连接。有趣的是,即使连接到本地主机,质量问题仍然存在,所以这似乎不是网络问题。

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

最终,我只想从访问者的网络摄像头中获取高质量的视频记录,但不想为 FMS 或 Wowza 花钱。

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

感谢您的帮助!!

【问题讨论】:

  • 就像下面所说的@fixedmachine,red5 / 服务器不控制这个。录制质量取决于您的客户端设置和连接速度。

标签: java video-streaming video-capture red5


【解决方案1】:

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

【讨论】:

  • 根据我的经验,将质量设置为 95 以上会导致收益递减。带宽的增加是立即可见的,而图像质量则不是。然而,在@Tom Osborne 的情况下,不是图像质量设置导致他的问题,而是 Red5 1.0 中的(现已解决的)视频录制问题。详情见我的回答。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • Red5 1.0RC1 是第一个为录制过程引入延迟写入机制的版本,但 1.0.3 是第一个真正解决视频录制问题的版本。
    【解决方案4】:

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

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

    快速解释2部分原因

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

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

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

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

    Red5 的错误

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

    上面提到的补丁修复了这个错误。

    Red5 等待缓冲视频包的时间由fileconsumer.queue.size 中的conf/red5.properties 控制。它默认为 120,足以缓冲 2 分钟的高清视频。

    进一步阅读

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-11
      • 2012-01-15
      相关资源
      最近更新 更多