【问题标题】:Html5 video in Safari - DjangoSafari 中的 Html5 视频 - Django
【发布时间】: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


    【解决方案1】:

    无论出于何种原因,当从 AWS3 调用时,视频显示正常。

    【讨论】:

      【解决方案2】:

      这是开发服务器的常见问题。关于这个问题,Django 项目有很多问题,但我认为下面最好地描述了为什么它没有得到解决:

      如果我们为一些我认为相当常见的 Web 服务器不支持的东西添加 runserver 支持,那似乎只会鼓励更多人在生产中使用 runserver。

      相关问题#22479,但如上所述,您可以找到许多与您的问题相关或可能与您的问题相关的类似问题。

      您可以在开发过程中尝试从外部 url 提供视频,这应该是一种解决方法。至少这是我过去所做的。

      【讨论】:

      • 感谢您的建议和链接,您知道或参考过为什么这只发生在 Safari 中吗?因为视频可以很好地提供给开发服务器中的其他浏览器。
      • 欢迎。我知道这并不多,就我对这个问题的了解而言。我还没有找到更多的东西。它可能是提供的文件类型或与浏览器或标题的请求不同的东西。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 2018-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-19
      相关资源
      最近更新 更多