【发布时间】:2016-07-14 00:05:53
【问题描述】:
我正在尝试制作视频跨浏览器。我已经用所需的编解码器等对视频进行了编码。当通过 Django 服务器运行时,Chrome 和 Firefox 都会显示它们各自的视频(Chrome 显示.mp4,Firefox 显示.ogv)。但是 Safari 无法显示视频。我知道这不是编码问题,因为当我打开原始 html 文件并手动将相同的视频移动到正确的目录时,视频加载得很好。这不是引用错误,因为在运行 Django 开发服务器时,mp4 文件在 Chrome 中播放得很好。
我不确定我可以提供什么代码,因为没有抛出任何错误,即使在终端中视频请求是绿色的 HTTP 200,它只是不显示。从 django 部署视频是否有任何已知错误? 我尝试硬编码网址,将视频放在静态而不是媒体中,但没有任何效果。
版本:最新版本。
编辑:我安装了 quicktime,这似乎也是导致此问题的原因。
如果我右键单击空白视频窗格并单击下载视频,它会下载可播放的 mp4 视频。
如果我从 safari 视频中复制视频路径并粘贴到 chrome 中,则 mp4 视频在 chrome 中可以正常播放。当原始 html 链接到视频时,在 Safari 中仍然可以正常播放。
我正在通过管理员将视频添加到我的 django 上传的媒体文件中,这可能是为什么? (不知道为什么它只是 Safari 不工作)
玩了一会儿后,我得到了这个错误:
OSError: [Errno 41] Protocol wrong type for socket
[27/Mar/2016 05:04:01] "GET /media/media/uploads/SampleVideo25.mp4 HTTP/1.1" 500 59
另一个编辑:
看到很多人说它只是 django 开发服务器后,我将我的站点部署到 Heroku。同样的事情也会发生。它在 Chrome 和 Firefox 中有效,但在 Safari 中无效,并且在检查日志时它只是说它检索了具有 Http 200 状态的视频。 我可以尝试的唯一其他选择是通过 AWS3 提供视频
【问题讨论】:
标签: django video heroku safari html5-video