我是橙子
我是橙子
  • 发布:2021-04-27 15:03
  • 更新:2021-05-20 10:52
  • 阅读:2816

【报Bug】video在播放m3u8拖动进度条BUG

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 1961

HBuilderX类型: 正式

HBuilderX版本号: 3.1.11

手机系统: 全部

手机厂商: 华为

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

小米8 ,iPhone12

示例代码:

<video src="https://oks.luosijiaoyu.com/1bdb8a24cd874223954aa53c50b3acbc/0a2a923a8c2492d4e4a51ac91099136b-sd-encrypt-stream.m3u8?MtsHlsUriToken=VOL6fWXYez4vF8VmC2BxFAbPzv%2FXCbdF9JCJbCiYP%2BIoTvzay0UUtomWP3E9yxkGCI4VVKWFiKuaSspAKNk1T6J%2B22%2F7k9JW7rma%2BrjVe29h2ZKiDoCk0F1dEAV168Su2KjljcPYYXmRAOVjjCY%2Fjhw7lqtrjrjDPvcqciUSYnGWCCJ7TENhl%2BHnb2mtTQMhrnuSqIUiNYZsSZObpMkLfBHyk4BCCa%2FupyZrFIOFr2D77QdTbqjXwm4tOIyueyfE" controls></video>

操作步骤:

video在播放m3u8拖动进度条,进入缓冲时会卡很久,比如当前播放1:20秒,拖动进度条到1:30秒,会进行缓冲,要缓冲很久,且缓冲好之后,会跳到1:35秒-1:45秒左右继续播放,并不会在实际拖动进度条的位置播放。
此问题在小程序上不会出现,只在app端有

预期结果:

video在播放m3u8拖动进度条,进入缓冲时会卡很久,比如当前播放1:20秒,拖动进度条到1:30秒,会进行缓冲,要缓冲很久,且缓冲好之后,会跳到1:35秒-1:45秒左右继续播放,并不会在实际拖动进度条的位置播放。
此问题在小程序上不会出现,只在app端有

实际结果:

video在播放m3u8拖动进度条,进入缓冲时会卡很久,比如当前播放1:20秒,拖动进度条到1:30秒,会进行缓冲,要缓冲很久,且缓冲好之后,会跳到1:35秒-1:45秒左右继续播放,并不会在实际拖动进度条的位置播放。
此问题在小程序上不会出现,只在app端有

bug描述:

video在播放m3u8拖动进度条,进入缓冲时会卡很久,比如当前播放1:20秒,拖动进度条到1:30秒,会进行缓冲,要缓冲很久,且缓冲好之后,会跳到1:35秒-1:45秒左右继续播放,并不会在实际拖动进度条的位置播放。
此问题在小程序上不会出现,只在app端有

2021-04-27 15:03 负责人:DCloud_Android_DQQ 分享
已邀请:
我是橙子

我是橙子 (作者) - 我啊

@DCloud前端团队 @DCloud_UNI_DLS @DCloud_HB_WDL @DCloud_Android_DQQ @DCloud_UNI_LXH @DCloud_iOS_DJX 麻烦官方尽快回复一下 是不是真的是官方BUG

我是橙子

我是橙子 (作者) - 我啊

没人吗?官方给回复下啊

DCloud_Android_DQQ

DCloud_Android_DQQ

你联系我QQ 643833712 我看看

DCloud_Android_DQQ

DCloud_Android_DQQ

问题已确认。

因为该m3u8是加密的hls流。每个切片大小为10s

1 卡顿问题,比如 当跳转至下一分钟时,需要连续下载6个切片且解密成功后,才能继续播放,所以会有卡顿现象。
2 seek不准确的问题, 因为切片的最小单位是10s,每次跳转后需要重新下载并且从下一个10s开始播放。

uni-app的video组件基于 ffmpeg。
上述两个问题在 ffplay 和 vlc播放器上同样存在。

微信小程序不存在此问题,从现象上看,因为他从第一秒播放的时候就预加载了尽可能多的切片到本地,后续的播放都是本地操作。

稍后video组件会支持类似的功能。

该问题目前已经被锁定, 无法添加新回复