【问题标题】:Serving mp4 video to iPad向 iPad 提供 mp4 视频
【发布时间】:2012-02-23 14:33:53
【问题描述】:

我想在 HTML 文档中提供一个 mp4 视频,但它不能在实时服务器上播放。它在本地有效。

即使只使用没有任何 HTML 的文件,当我使用本地 Apache 时它也会播放。 iPad 在网络服务器上显示“无法播放电影”

两台服务器上的文件头均为“video/mp4”。

这可能是什么问题?

问候

更新:

标头本地 Apache:

接受范围字节 缓存控制   max-age=86400 连接   保持活动 内容长度 8993646 内容类型   视频/mp4 日期 2012 年 2 月 23 日星期四 14:40:58 GMT Etag   “733258-893b6e-36d96c80” Keep-Alive 超时 = 15,最大值 = 100 最后修改时间 2012 年 2 月 23 日星期四 10:36:18 GMT

标头实时服务器:

缓存控制   max-age=86400 连接   保持活动 内容长度 8993670 内容类型   视频/mp4 日期 2012 年 2 月 23 日星期四 14:40:40 GMT Keep-Alive 超时 = 15,最大值 = 100 服务器   阿帕奇 X-Mod-H264-Streaming 版本=2.0

还有什么奇怪的是 Content-Length 因本地而异...

【问题讨论】:

  • 它是在电脑上工作,还是只在 iPad 上工作?如何使用 iPad 在本地 Apache 上播放电影?
  • @Juhana 它可以在所有浏览器中的计算机上运行,​​但从实时机器提供服务时不能在 ipad 上运行
  • 你能告诉我们你的mp4文件的编码设置吗?这是 mp4 文件的标准 ipad 编码设置。 encoding.com/ipad_streaming_template

标签: ipad video mp4


【解决方案1】:

检查实时服务器发送的 mime 标头与你当地的是什么。实时服务器可能正在发送application/octet-stream(或其他一些默认类型)而不是video/mp4。浏览器在大多数情况下使用响应标头中提供的 mime 类型,而不是提供的文件扩展名。

【讨论】:

  • 两者的响应标头都是video/mp4,还有什么标头会导致这种情况?
【解决方案2】:

解决方案是来自实时服务器的错误 Conten-Length 标头。解决此问题后,它起作用了。

Collegue 修复了服务器设置,所以我不知道他到底做了什么。只是现在长度和我本地机器上的一样

【讨论】:

    【解决方案3】:

    如果您将 HTML5 与 mp4 文件一起使用。在 iPad 上播放文件应该没有问题。唯一剩下的就是确保链接没有损坏并添加这部分以进行进一步测试:

    <video width="320" height="240" controls="controls">
      <source src="movie.mp4" type="video/mp4" />
      Your browser does not support the video tag. //add this line
    </video>
    

    【讨论】:

    • 请再读一遍第二句...它可以在本地网络服务器上播放...但不在现场机器上...
    【解决方案4】:

    提供媒体文件的网络服务器也应该支持“Accept-Ranges”标头。这在another stackoverflow question 中提到,它有一个指向apple documentation 的链接。

    【讨论】:

      猜你喜欢
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 2012-09-02
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多