为什么我不能在我制作的网页上跳过MP4视频?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我不能在我制作的网页上跳过MP4视频?相关的知识,希望对你有一定的参考价值。

我已经设置了一个Apache服务器,并创建了一个简单的网页,上面有一个视频。视频播放,但如果我试图跳过前面或后面它冻结了。如果我点击暂停/播放按钮,它通常会回到视频的开头。该视频是MP4格式。可能值得注意的是,视频是一个相当大的文件,因为我正在尝试播放的视频是一个小时。我尝试过较小的文件,它们看起来很好,我可以尽我所能地寻找。此外,如果在本地打开网页它是有效的,所以我认为它与下载/缓冲视频有关,我只是不知道从哪里开始尝试修复它。

答案

如果它使用较小的文件而不是较大的文件,我会检查mp4中元数据元素(MOOV atom)的位置。默认情况下它在最后,这意味着在Web浏览器读取整个文件之前无法进行搜索。

您可以使用FFmpeg解决此问题,将MOOV原子重新定位到前面,以便浏览器能够请求文件的正确部分(假设您的服务器配置为支持字节范围请求):

./ffmpeg -y -i SourceFile.mp4 -c:v copy -c:a copy -movflags faststart DestFile.mp4

这将简单地重新定位MOOV原子,并复制音频和视频(无需重新处理) - 因此,一旦基础工作正常,您可能希望查看其他可以改善体验的优化。

以上是关于为什么我不能在我制作的网页上跳过MP4视频?的主要内容,如果未能解决你的问题,请参考以下文章

动作脚本 3 - 在时间线上跳过动作

video.js为啥有的视频可以播放,有的视频不能播放mp4格式 mp4视频格式都转成了h264和AAC,

jQuery MP4视频在线播放代码

在我的网站上嵌入 Mp4 视频文件

alook浏览器如何支持mp4

未连接适配器;在 Kotlin 上跳过布局