【问题标题】:What is a simple server architecture to stream a video file?流式传输视频文件的简单服务器架构是什么?
【发布时间】:2012-02-20 06:17:33
【问题描述】:

我有一个很大的视频文件(mp4 格式。几 GB 大小)。

我希望用户能够随机搜索视频的任何部分,而无需缓冲(有点像 youtube)

我更喜欢浏览器上的 HTML5 视频播放器(尤其是 iOS 设备上)

典型的服务器架构是什么样的?我对媒体服务器很陌生,所以我想知道 FMS(闪存媒体服务器)或 Wowza 媒体服务器是否解决了这个问题,或者自托管解决方案更简单?我什至需要一个完整的媒体服务器吗?再说一次,在媒体服务器和其他东西方面,我是菜鸟。

还有视频播放器的推荐吗?

【问题讨论】:

    标签: video streaming video-streaming html5-video


    【解决方案1】:

    如今,视频流不再需要专门的视频流服务器。

    对于您的应用程序,您可以只使用 Apache 或 Nginx,并获取视频内容的 HTTP 链接到 iOS 设备,iOS 设备将通过 HTTP 传输进行视频流。

    【讨论】:

    • 这不是只适用于 HLS 吗?我应该使用 HLS 什么视频播放器进行跨浏览器访问?
    【解决方案2】:

    根据您的基础架构,我建议使用 Microsoft 平滑流式传输:http://www.iis.net/download/smoothstreaming

    它支持自适应比特率,适用于各种播放器,包括 Flash、Silverlight、HTML5 和 iOS 播放器。

    它也是免费的,只需要 IIS 即可运行。我相信您现在也可以在 Azure CDN 上使用它。

    【讨论】:

    • 这适用于大多数开源视频播放器吗?其中很多都支持开箱即用的 HLS 或 RTMP。
    • 如果配置正确,平滑流支持 Apple 的 HLS。
    • 如果我使用 HLS(这消除了对传统媒体服务器的需求),那么什么视频播放器在客户端有意义?我的理解是开箱即用只有 safari 支持 HLS。
    【解决方案3】:

    您可以查看 Adob​​e 的 HTTP Dynamic Streaming。如果您希望完全避免使用媒体服务器,这是一个很好的解决方案。这是一个使用 f4fpackager 工具(免费)、Apache Web 服务器和 HTTP Origin 模块(免费)准备内容的过程。

    还有一些方法可以提取打包的内容,这样您就可以从任何 Web 服务器或类似 Amazon S3 的东西中提供内容。

    如果您愿意在媒体服务器上投入资金,FMS 会满足您的要求,我很确定 Wowza 也会这样做(不过我对 Wowza 并不熟悉)。

    【讨论】:

    • 有趣。拥有一个简单的 http 服务器绝对很有吸引力。 Apple 的 HLS 协议允许这样做(在您索引媒体文件之后)并且在 ios 和 android 设备中受支持。 HTTP 动态流比较如何?它可以在 ios 设备上运行吗?
    • HDS 在 iOS 上不起作用,但 Flash Media Server 支持 HLS。我不确定将 HLS 的索引文件从 FMS 移到一个简单的服务器。
    【解决方案4】:

    您提到的搜索可以通过大多数 HTTP 服务器支持的Progressive download 来实现。

    对于更高级的用例,我建议查看 nginxnginx-rtmp-module 以执行真正 streaming

    【讨论】:

      猜你喜欢
      • 2019-02-25
      • 2011-01-14
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 2015-10-28
      • 1970-01-01
      相关资源
      最近更新 更多