【问题标题】:Http Live Streaming not working on ApacheHttp Live Streaming 无法在 Apache 上运行
【发布时间】:2011-09-20 06:54:36
【问题描述】:

我的 Http Live Streaming 设置:Apache 托管 html、m3u8 和 ts 文件

ts 文件是从 http:devimages.apple.com/iphone/samples/bippop/gear1/fileSequence*.ts 复制过来的。视频编码没有问题(通过实际播放这些文件验证)

m3u8 文件(多比特率和叶级)是从苹果的示例中复制过来的,语法正确,如下所示:

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10, no desc
fileSequence0.ts
...
#EXTINF:1, no desc
fileSequence180.ts
#EXT-X-ENDLIST

videoplay.html(如下)无法从我的 apache 服务器流式传输视频

<video src="bipbop/bipbopall.m3u8" controls autoplay ></video>

但是在修改 videoplay.html(如下)时,视频流从 Apple 的网站上就可以了

<video src="http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8" controls autoplay ></video>

我怀疑 mime 类型设置有问题,因为 Chrome 处理 http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8http://localhost/bipbop/bipbopall.m3u8 的方式不同。当 Chrome 尝试播放前者时,它会下载并保存后者。所以我仔细检查了我的 mime 类型设置,它在我的 httpd.conf 中设置如下

AddType application/x-mpegURL .m3u8
AddType video/MP2T .ts
  • 我的 MIME 类型设置是否正确?
  • 我们如何计算苹果网站宣传的 MIME 类型关联?
  • 或者我们必须寻找其他地方来解决这个问题?

【问题讨论】:

标签: apache mime-types http-live-streaming


【解决方案1】:

这可能看起来很奇怪,但我也遇到过类似的问题,经过多次调试,我发现 .m3u8 索引文件中的空行会导致此类问题。请仔细检查索引文件中的空行。

【讨论】:

    【解决方案2】:

    根据 HLS rfc 文档,您应该使用“application/vnd.apple.mpegurl”或“audio/mpegurl”,但您也可以简单地将路径以 .m3u8 或 .m3u 结尾。

    每个播放列表文件必须可以通过路径识别 其 URI 或 HTTP Content-Type 的组成部分。在第一种情况下, 路径必须以 .m3u8 或 .m3u 结尾。在第二个中, HTTP Content-Type 必须是“application/vnd.apple.mpegurl”或 “音频/mpegurl”。客户端应该拒绝解析播放列表 不是很确定。

    ~ rfc8216 第 4 章,HTTP Live Streaming

    【讨论】:

      【解决方案3】:

      有点晚了,但为了清楚起见:

      File extension |                 MIME type
      -------------------------------------------------------------
      .M3U8          | application/x-mpegURL (or vnd.apple.mpegURL)
      .ts            | video/MP2T
      

      来源:Apple Developer Streaming Media Guide – HTTP Streaming Architecture

      【讨论】:

        猜你喜欢
        • 2015-01-12
        • 2012-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-21
        • 1970-01-01
        • 2012-03-07
        相关资源
        最近更新 更多