关于html5视频的预加载问题请教?

我做的一个本地的网页,用来播放视频,我加载了一个2min的视频,在网页端可以拖动进度条在任意位置播放,但是当我加载了一个5min的视频,为何不可以拖动进度条,一拖动进度条就从0s开始播放?但我设置了preload属性啊,preload=auto,不应该默认加载整个视频吗?
两个视频如下链接描述

阅读 9.2k
4 个回答

视频播放问题基本都需要测试多种浏览器,桌面端和移动端的浏览器都测试一下,是否同样的问题能重现。视频的问题基本都是解码器的问题,这个也很容易理解。浏览器毕竟不是要取代播放器,不可能像桌面播放器一样整合各种解码器,能播放各种视频。即便是桌面播放器,也几乎找不到一款能播放所有视频的播放器,更何况浏览器,只能整合极其有限的解码器,而且有些浏览器还是依赖于系统解码器,本身不打包任何解码器。

另外视频播放问题有切片就是最好的了,可以有效帮助分析问题,用mediainfo对比编码详细参数也是一种比较有效的分析手段。以上前提只针对视频文件本身还完整的场景下,如果视频文件出现了部分损毁,是会导致各种奇葩的问题的,比如你bt下载的时候,对于没下载完的视频进行预览,差不多就是那种体验。

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <video src="2m.mp4" preload=auto controls></video>
    <video id ="v1" src="3m.mp4#t=10,20" preload=auto controls></video>
</body>
</html>

preload=auto 不是默认加载整个视频,只是加载视频的一小段,可以让你点击视频可以立即播放,点击后再继续加载剩下的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题