Chrome中的HTML5视频:转发/快退无效

时间:2017-06-07 09:20:13

标签: jquery html5 video

这是一个ASP.NET MVC应用程序 - 使用大量HTML5视频。

会发生什么:当我尝试在其他浏览器中使用鼠标(手动)向前移动视频时,它可以完美地工作;即使我点击暂停,在轨道上移动视频圈并单击播放,它也会再次运行。

在Chrome中,它有时会工作(如果视频是缓存的,我猜?),但是当我尝试使用鼠标移动圆圈时,它只会回到它所在的位置。即使暂停了视频,我也无法在任何地方播放视频。

例如,它发生在此视频中。我有一种感觉,只有当我删除浏览器历史记录并且视频从零加载时才会发生。如果我尝试几次,之后它会起作用(刷新页面或其他东西)。

打开此示例:jsfiddle.net/1b9749et /

有经验吗?感谢。

1 个答案:

答案 0 :(得分:2)

因此,我使用ffmpeg重新编码您的视频,将MOOV原子放在前面(见下文),将其上传到Azure blob存储,现在样本似乎正常工作。

./ffmpeg -y -i 9f99b62e-7d56-4816-993b-286239f243bc_x264.mp4 -movflags faststart DestFile.mp4

mp4中的MOOV原子是告诉浏览器框架在哪里(以及其他内容)的元数据,因此浏览器可以越早加载并且可用,刷新等等

如果您想快速测试,我会在接下来的48小时内将视频保留在https://jecathblob.blob.core.windows.net/samples/destfile.mp4

[编辑:]将我的BlobStorage的defaultStorageVersion更新为最新的,似乎更好地支持ByteRangeRequests(为此我使用this utility,可以共享预编译的.exe,如果这更容易)

[EDIT2:]我已将编译后的版本上传到https://1drv.ms/u/s!AhulbaZgpLZTjNhE_QaT4ET5xX1B-w(链接将在5天后过期)。只需按https://github.com/Plasma/AzureBlobUtility处的说明运行,即可将DefaultStorageVersion设置为2016-05-31(https://docs.microsoft.com/en-us/rest/api/storageservices/versioning-for-the-azure-storage-services