【问题标题】:How to troubleshoot streaming video (rtmp) performance?如何对流式视频 (rtmp) 性能进行故障排除?
【发布时间】:2011-12-03 09:53:41
【问题描述】:

我正在通过 Amazon Cloudfront 的 rtmp 流式传输视频。视频需要很长时间才能开始播放,我无法找出原因。通常我会使用 Firebug 或 Web Inspector 中的“Net”面板来获得关于资产何时开始加载以及发送需要多长时间的良好第一印象(这可以表明问题是在服务器端还是在网络上与浏览器渲染相比)。但由于视频是在 Flash 播放器(本例中为 Flowplayer)中播放的,因此无法收集有关流状态的任何信息。此外,由于它是由 Amazon Cloudfront 提供的,我不能在服务器上放置任何类型的调试或测量工具(如果这样的工具存在的话)。

所以...我的问题是:我可以通过哪些方法来调查这个问题?我希望有一些设置我可以在前端(flowplayer)或后端(Cloudfront)上进行调整,但无法测量任何东西,甚至无法了解问题出在哪里,我不知所措至于那些可能是什么。

关于如何解决流式视频性能问题的任何想法?

【问题讨论】:

    标签: streaming rtmp amazon-cloudfront


    【解决方案1】:

    您可以使用WireShark(可以剖析RTMP)或Fiddler 来检查正在发生的事情...要记住的另一点(除了客户端和服务器)是您的ISP。

    要深入挖掘,您可以使用http://rtmpdump.mplayerhq.hu/ OR http://www.fluorinefx.com/ OR http://www.broccoliproducts.com/softnotebook/rtmpclient/rtmpclient.php

    您需要记住,RTMP 并不理想,因为它通常会绕过代理并尝试建立直接连接......如果这不起作用,它可以回退,但这意味着已经过去了一段时间(它等待连接超时等)...如果您可以选择将 CloudFront/Flowplayer 设置为 RTMPT,那么我建议您这样做,因为它使用端口 80 进行连接。

    【讨论】:

    • 您能否解释一下您所说的“RTMP 并不理想,因为它通常会绕过代理并尝试建立直接连接”与加载速度有什么关系?我不明白如何切换到使用端口 80 的 RTMPT 会更快。我对人们的连接没有任何问题——只是加载速度。谢谢。
    • RTMP 尝试直接连接...如果不可能,它会回退...但是回退之前的时间可能相当明显,因为这取决于特定的网络场景,这可能意味着 RTMP等到发生超时...您描述了播放开始需要很长时间...我所描述的可能是一种解释...
    • 好的,感谢您的回复。我还没有尝试过你的任何建议,但它们看起来确实很有希望——而且没有其他人回应,所以你得到了赏金!再次感谢您的帮助。
    • 只需将我的流媒体链接设置为 RTMPT,它将一个小时长的视频的加载时间减少到 1-3 秒,从 10-30 秒开始,感谢您的建议,这是一个简单的修复!编辑:这也是使用带有自定义策略的签名 URL
    【解决方案2】:

    大概 - 如果您去尝试观看视频 - 然后 20 分钟后返回并再次点击 - 加载速度很快?

    SAN -> 边缘服务器 ---> 客户端

    这在特定用例(即原始内容的小文件大小、长时间运行的缓存大)中一切都很好 - 但是,当它向外扩展时,它会成为一个问题,因为许多媒体主机通过系统运行内容即 CloudFront。

    他们保留在边缘服务器上的媒体缓存经常被转储 - 在缓存被填满后 - 从缓存中最旧的文件开始转储 - 因此,如果您有不经常查看的大型视频文件 - 它们不会被坐在边缘服务器缓存中,需要很长时间才能转移到边缘 - 因此,最终用户体验非常糟糕。

    例如,youtube 也是如此 - 去观看一些随机模糊的、持续时间长的视频 - 并通过几个代理尝试它,所以你访问不同的边缘服务器,你会看到完全相同的事情发生。

    【讨论】:

    • 不,无论请求多少次相同的视频,它似乎都以相同的速度加载。我明白你在说什么,如果它没有被经常查看,就需要经常从缓存中重新加载——如果是这种情况,这是否意味着我运气不好,不应该使用 Amazon CloudFront?我认为流式视频会更快,因为它可以开始发送内容而不必先加载整个文件(但也许 服务器 需要先加载整个文件?)。谢谢你的帮助。
    【解决方案3】:

    我注意到从云端流式传输 RMTP 时有一个非常明显的延迟。我发现从亚马逊 S3 存储桶切换到直接 http 渐进式可以消除延迟时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-16
      相关资源
      最近更新 更多