Safari-Django中的Html5视频
我正在尝试制作一个跨浏览器的视频。我已经用所需的编解码器等对视频进行了编码。当通过Django服务器运行时,Chrome和Firefox都会显示各自的视频(Chrome显示Safari-Django中的Html5视频,django,video,heroku,safari,html5-video,Django,Video,Heroku,Safari,Html5 Video,我正在尝试制作一个跨浏览器的视频。我已经用所需的编解码器等对视频进行了编码。当通过Django服务器运行时,Chrome和Firefox都会显示各自的视频(Chrome显示.mp4,Firefox显示.ogv)。但是,Safari无法显示视频。我知道这不是一个编码问题,因为当我打开原始html文件并手动将同一视频移动到正确的目录时,视频加载正常。这并不是一个引用错误,因为在运行Django开发服务器时,mp4文件在Chrome中可以正常播放 我不确定我能给出什么代码,因为没有抛出错误,即使在终端
.mp4
,Firefox显示.ogv
)。但是,Safari无法显示视频。我知道这不是一个编码问题,因为当我打开原始html文件并手动将同一视频移动到正确的目录时,视频加载正常。这并不是一个引用错误,因为在运行Django开发服务器时,mp4文件在Chrome中可以正常播放
我不确定我能给出什么代码,因为没有抛出错误,即使在终端中视频请求是绿色HTTP 200,它也不会显示。从django部署视频时是否存在已知错误?
我尝试了硬编码URL,将视频放在静态而不是媒体中,但没有任何效果
版本:所有内容的最新版本
编辑:我安装了quicktime,这似乎也是这个问题的原因
如果我右键单击空视频窗格并单击下载视频,它将下载可播放的mp4视频
如果我从safari视频中复制视频路径并粘贴到chrome中,mp4视频在chrome中可以正常播放。当原始html链接到视频时,在Safari中仍然可以很好地播放
我通过管理员将视频添加到django上传的媒体文件中,这是为什么?(不知道为什么它会被给予它只是游猎不起作用)
在玩了一段时间后,我出现了以下错误:
OSError:[Errno 41]套接字的协议类型错误
[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项目在这方面有很多问题,但我认为以下描述了未解决的最佳原因: 如果我们为一些我认为相当常见的web服务器甚至不支持的东西添加runserver支持,那么这似乎只会鼓励更多的人在生产中使用runserver 相关问题,但如上所述,您可以找到许多与您的问题相关的类似问题
在开发过程中,您可以尝试从外部url提供视频,这应该是一个解决方法。至少这是我过去所做的。无论出于什么原因,当从AWS3调用时,视频显示的很好。感谢您的建议和链接,您知道或有关于为什么这只发生在Safari中的参考资料吗?因为视频可以很好地提供给开发服务器中的其他浏览器。欢迎。我知道这并不多,这是我在这个问题上所做的。我没有找到比这更多的东西。它可以是所服务的文件类型,也可以是与浏览器请求或标题不同的文件类型。