向 iPad 提供 mp4 视频
我想在 HTML 文档中提供 mp4 视频,但它无法在实时服务器上播放。在本地它有效。
即使仅使用不带任何 HTML 的文件,当我使用本地 Apache 时它也会播放。在网络服务器上,iPad 显示“无法播放电影”
两台服务器上的文件标头均为“video/mp4”。
这里可能有什么问题?
问候
更新:
标头本地 Apache:
接受范围字节 缓存控制最大年龄=86400 连接保持活动状态 内容长度8993646 内容类型视频/mp4 日期2012 年 2 月 23 日星期四 14:40:58 GMT 电子标签 “733258-893b6e-36d96c80” 保持活动状态超时=15,最大=100 最后修改时间2012 年 2 月 23 日星期四 10:36:18 GMT
标头实时服务器:
缓存控制最大年龄=86400 连接保持活动状态 内容长度8993670 内容类型视频/mp4 日期2012 年 2 月 23 日星期四 14:40:40 GMT 保持活动状态超时=15,最大=100 服务器阿帕奇 X-Mod-H264-流媒体版本=2.0
同样奇怪的是内容长度与本地的和实时的不同......
I want to serve a mp4 video in a HTML document but it doesn't play on the live server. Locally it works.
Even using only the file without any HTML it does play when I use my local Apache. On the webserver the iPad says "Movie could not be played"
The header for the file is "video/mp4" on both Servers.
What could be the problem here?
Regards
UPDATE:
Header local Apache:
Accept-Ranges bytes
Cache-Control max-age=86400
Connection Keep-Alive
Content-Length 8993646
Content-Type video/mp4
Date Thu, 23 Feb 2012 14:40:58 GMT
Etag "733258-893b6e-36d96c80"
Keep-Alive timeout=15, max=100
Last-Modified Thu, 23 Feb 2012 10:36:18 GMT
Header live server:
Cache-Control max-age=86400
Connection Keep-Alive
Content-Length 8993670
Content-Type video/mp4
Date Thu, 23 Feb 2012 14:40:40 GMT
Keep-Alive timeout=15, max=100
Server Apache
X-Mod-H264-Streaming version=2.0
What's also weird is that the Content-Length differs from local to live...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
检查实时服务器发送的 MIME 标头与您本地的 MIME 标头是什么。实时服务器可能正在发送
application/octet-stream
(或其他一些默认类型)而不是video/mp4
。大多数情况下,浏览器会根据响应标头中提供的 mime 类型进行处理,而不是提供的文件扩展名。Check what the live server is sending out for a mime header v.s. what your local one is. The live server may be sending
application/octet-stream
(or some other default type) instead ofvideo/mp4
. Browsers go by the supplied mime-type in the response headers for the most part, not the served up file extension.解决方案是来自实时服务器的错误
Conten-Length
标头。解决这个问题后就成功了。同事修复了服务器设置,所以我不知道他到底做了什么。只是现在的长度与我本地计算机上的长度相同
Solution is a wrong
Conten-Length
header from the live-server. After fixing this problem it worked.Collegue fixed server settings, so I don't know excactly what he did. Just that the lenght is now the same as on my local machine
如果您将 HTML5 与 mp4 文件一起使用。在 iPad 上播放文件应该没有问题。唯一剩下的就是确保链接没有损坏并添加此部分以进行进一步测试:
If you are using the HTML5 along with a mp4 file. There should be no problems playing the file on your iPad.. the only thing left is to make sure the link is not broken and add this part to make further testing :
提供媒体文件的 Web 服务器还应该支持“Accept-Ranges”标头。 另一个 stackoverflow 问题中提到了这一点有一个指向 苹果文档。
The web server serving the media files should also support 'Accept-Ranges' header. This is mentioned in another stackoverflow question which has a link to apple documentation.