gpt4 book ai didi

javascript - Safari 无法加载 MP4 视频

转载 作者:行者123 更新时间:2023-12-02 12:43:43 24 4
gpt4 key购买 nike

最新的 Safari v11.0 无法播放通过 JavaScript 动态设置的 MP4 视频。但这在 Chrome、Edge 和 FF 上运行良好。

我的代码将 src 元素设置为指向 MP4 资源,如下所示:

<video class="replay" autoplay="true" autostart="true" autobuffer="true" playsinline="true" webkit-playsinline="webkit-playsinline" controls="controls" style="" preload="auto" muted="true">
<source src="https://videomail.io/videomail/11e7-ad5a-4b14b680-a354-934ec5b49c33/preview/type/mp4/x-videomail-site-name/videomail.io/videomail.mp4?1507598907103" type="video/mp4">
</video>

问题是 Safari 在“网络”选项卡下以红色突出显示此内容:

enter image description here

在“请求和响应”(右侧)下,它说它已被取消。为什么?

加上在请求 header 下我看到:Range bytes=0-1。看起来很奇怪。虽然我 curl 了该资源并且看起来不错,但可以完全下载。

尝试了很多不同的改变,但都失败了。不确定这是 nginx 问题、我的 JS 代码中的错误还是 Safari 的问题。非常欢迎任何线索。

非常容易重现:

  1. 在 Safari 中,转到 www.videomail.io
  2. 开始录制视频
  3. 点击预览后没有出现任何视频(在 Chrome 上运行良好)

最佳答案

---- 最终解决方案 ----

我自己通过在express.js Controller 代码中使用以下内容修复了这个问题:

  res.sendFile(file, {
lastModified: false,
acceptRanges: true,
cacheControl: false
}, function (err) {
if (err && err.code !== 'ECONNRESET') {
next(err)
}
})

关于javascript - Safari 无法加载 MP4 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46657386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com