【发布时间】:2018-09-06 00:02:41
【问题描述】:
我们在 IE 和 Edge 上遇到了 HTML5 视频元素中的 MP4 视频问题。当页面上有很多视频时,似乎会出现此问题。这发生在许多不同的机器上,但在具有低端规格、视频卡等的机器上更有可能和频繁发生。
在第一个屏幕截图中,视频有时会在第一次开始播放后出现,它们是伪影和黑暗的,然后在视频播放一秒钟后(在它们达到第一个关键帧后,它们会自行纠正并继续以正常外观播放。 )
我们的视频标签如下所示:
<video loop="" playsinline="" muted="" poster="/assets/img/minigames/thumb-us-23.976.jpg" preload="none">
<source type="video/mp4" src="/assets/video/mini-us-23.976.mp4">
</video>
我们正在 Internet Explorer 版本 11.228.17134.0 和 Edge 版本 42.17134.1.0 上进行测试,这两个版本目前都是最新的。
从几个线程中,我了解到这是一个长期存在的问题,目前在我看来,从开发人员的角度来看,除了减少页面上的视频数量之外,没有其他解决方法。这似乎是 IE/Edge 中的内存管理问题。
我没有在 SO 上找到类似的问题,但在网络上发现了一些似乎相关的问题:
有很多关于禁用 GPU 加速、启用 VP9 视频、启用 Flash Player、更新固件等的建议……但这些对我们没有任何影响,也不是我们网站的解决方案.
微软似乎不想承认、修复或将其标记为已知问题。
这对我们的客户来说是绝对不能接受的,而且似乎没有任何解决方案,只能在 Flash 中提供我们的视频,微软将在 2020 年底前完全淘汰。
这是我们发布的与此问题相关的帖子:Video, memory management problems in Internet Explorer and Edge from many videos on page causing them to display dark/black and/or not play。我需要更新问题以专门针对相关问题,即这种情况下的视频无法恢复并开始正常播放,因为我们已经实施了解决方案。令人困惑的是有两个不同的问题,直到昨天我们还没有确定它们是不同的。另一个解决了,这个仍然是个问题。
【问题讨论】:
-
这种情况是否只发生在带有 IE/Edge 的 Windows 中,还是 Chrome/Firefox(在 Win/macOS 上)或 Safari 中也会发生?你有我们可以看到这个问题的示例/测试页面吗?您是否尝试过在开始时强制使用额外的关键帧(我假设在 MP4 中您在开始时就有 MOOV 原子?)
-
我明天去看看,看看我还能为你提供什么。我想知道是否有办法在视频开始时强制使用额外的关键帧。我们使用的是 Adobe Media Encoder CC 2018。
-
我使用 ffmpeg - 请参阅 stackoverflow.com/questions/51995276/…,另请参阅 movflags 选项,例如 stackoverflow.com/questions/50671723/…
-
如果只有在显示大量视频时才会出现这种情况,您可以限制此数量,甚至隐藏不在当前视口中的视频。
-
@Kaiido 这是我们实施的一种解决方案。我用我忘记添加的链接更新了我的帖子。我们将实施另一个变体,在鼠标移出时减少视频的填充;但是,这会删除一个功能,即鼠标移出的视频似乎在视频被鼠标移出的帧上保持暂停。
标签: html internet-explorer video html5-video microsoft-edge