uni-app video标签 拖动进度条或调用seek()后 视频播放卡顿 几秒卡一次
uni-app video标签 拖动进度条或调用seek()后 视频播放卡顿 几秒卡一次
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | Win10企业版 | HBuilderX |
## 操作步骤:
拖动进度条或调用seek()后 视频播放会很卡顿 几秒卡一次
## 预期结果:
拖动进度条或调用seek()后 视频播放流畅
## 实际结果:
拖动进度条或调用seek()后 视频播放会很卡顿 几秒卡一次
## bug描述:
video标签 拖动进度条或调用seek()后 视频播放会很卡顿 几秒卡一次
我的客户反馈大部分手机都有这种情况
我用华为mate30 安卓10 云打包的安卓APP测试的 存在这种情况
[http://quanrong.oss-cn-shanghai.aliyuncs.com/uploads/20210421/oss_file_564677a8024bf12810737cd144413aef.mp4](http://quanrong.oss-cn-shanghai.aliyuncs.com/uploads/20210421/oss_file_564677a8024bf12810737cd144413aef.mp4)
更多关于uni-app video标签 拖动进度条或调用seek()后 视频播放卡顿 几秒卡一次的实战教程也可以访问 https://www.itying.com/category-93-b0.html
7 回复
一直几秒就卡顿一次,感觉像是不缓冲了
更多关于uni-app video标签 拖动进度条或调用seek()后 视频播放卡顿 几秒卡一次的实战教程也可以访问 https://www.itying.com/category-93-b0.html
稍等 我看一下
大佬看了吗
刚才试了一下,确实会有播放会卡顿的问题。
你把你的原视频 用下面这个命令转码一下,试试
ffmpeg -i input.mp4 -movflags +faststart out.mp4
ouput.mp4是转码后的文件
楼主 问题解决了吗? 按照上面转码可以吗?
回复 我会很认真: 我们按这个转码可以播放了
这是一个典型的视频seek后缓冲卡顿问题,主要与uni-app底层视频组件实现机制有关。以下是可能的原因和解决方案:
可能原因:
- 视频编码格式或关键帧间隔过大,seek后需要较长时间定位到最近的关键帧
- 网络缓冲策略在seek后重新建立缓冲区间
- 原生视频组件在seek操作后的缓冲处理机制
解决方案:
-
优化视频源文件
- 减小关键帧间隔(建议1-2秒)
- 使用H.264编码,避免使用非常规编码格式
- 降低视频码率或分辨率
-
使用预加载策略
// 在seek前预加载目标时间点附近的数据 videoContext.seek(position); -
添加缓冲状态处理
<video [@waiting](/user/waiting)="onVideoWaiting" [@canplay](/user/canplay)="onVideoCanplay"></video> methods: { onVideoWaiting() { // 显示加载状态 }, onVideoCanplay() { // 隐藏加载状态 } }

