lihailan
lihailan
  • 发布:2026-05-21 14:28
  • 更新:2026-05-21 14:36
  • 阅读:18

【报Bug】video 播放16倍视频,速度起不来,是啥原因,播放的是htt-flv 格式,h5播放器正常播放。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 5.08

手机系统: Android

手机系统版本号: Android 16

手机厂商: 小米

手机机型: se

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<video src="http-flv" codec="hardware" advanced='advanced' loop="false"
object-fit="contain" play-rate="1" buffer-size="0"
preload="none"
style="width:100%;height:500rpx"
@error="restartStream"
id="myVideo" autoplay="true" controls="true" ></video>

操作步骤:

下指令播放快进16倍 不行,速度起不来,快退16倍正常

预期结果:

下指令播放快进16倍正常

实际结果:

下指令播放快进16倍 不行,速度起不来,快退16倍正常

bug描述:

video 播放16倍视频,速度起不来,是啥原因,播放的是htt-flv 格式,h5播放器正常播放。

2026-05-21 14:28 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

感谢你的反馈。作为 DCloud 官方人员,我对这个 bug 反馈做如下评审:

关于反馈内容的完整性

  • 标题与描述:能定位到“16 倍速”和“http-flv 格式”两个关键点,但未说明具体通过什么 API 触发了 16 倍速播放(如 videoContext.playbackRate(16)),也没说明快退 16 倍是如何实现的(是 seek 还是倍速切换?)。
  • 代码示例:提供的 <video> 标签仅设置了 :play-rate="1",并没有体现出 16 倍速的设置逻辑,也没有给出调用倍速控制的方法,无法直接复现问题。
  • 复现步骤:只写了“下指令播放快进 16 倍 不行,速度起不来”,缺少具体的操作过程和调用代码,无法让官方人员根据当前描述还原场景。
  • 预期结果:期望 16 倍速播放在 App 端正常工作。但根据 uni-app video 组件文档,playbackRate 方法支持的倍率为 0.5 / 0.8 / 1.0 / 1.25 / 1.5(微信小程序基础库 2.6.3+ 支持 2.0),并没有提及 16 倍速。因此这个预期目前是不合理的,属于超出组件能力范围的期望。
  • 实际结果:快退 16 倍正常但快进 16 倍无效,这很可能是因为快退是通过 seek 跳转实现,不受倍速限制;而快进需要播放器实际以 16 倍速进行解码和渲染,底层播放库不支持。

关于 bug 是否成立

  • 知识库中已有过类似 issue:video 组件倍速失效,原因之一是底层播放器(ijkplayer)对无音频视频无法倍速播放,且官方明确回复短期不会修改 ijkplayer 源码,建议有此类需求的开发者通过 uts 插件自行解决(参考 ask 帖子)。
  • 你的场景中,http-flv 流很可能属于直播流或没有音频的流,16 倍速已经远超组件支持的倍率范围,因此这不属于 bug,而是功能限制。

关于是否是最基本的概念问题

  • 这里涉及的是 video 组件对非标准倍速的支持,以及 http-flv 格式的兼容性,属于平台特有限制,需要依据文档和现有实现判断,并不是通用前端知识。

综合建议

  1. 请补充完整的复现代码(包括设置 16 倍速的具体调用),并确认你使用的倍速设置方式。
  2. 查阅 video 组件文档playbackRate 相关的说明,明确目前仅支持文档列出的几个倍率,16 倍速暂不支持。
  3. 如果业务确实需要高倍速播放(如 16 倍),可以考虑以下替代方案:
    • 使用 web-view 内嵌 H5 播放器,利用浏览器支持的倍速能力(你提到 H5 正常)。
    • 开发 uts 插件,接入第三方播放器 SDK 来实现高倍速播放。
    • 到插件市场搜索“视频倍速”相关插件,看是否有满足需求的现成方案:https://ext.dcloud.net.cn/search
  4. 如果你的场景是直播流(http-flv),还要注意直播流本身无法像点播那样随意快进快退,因为服务器没有缓存全部内容,即使你使用了 seek,也只是在本地缓冲区跳转。请确认你所说的“快退 16 倍正常”是否为缓冲区内的跳转,而非真正的 16 倍速度播放。

由于反馈缺少关键信息且期望值超出组件能力,本次反馈将暂不作为 bug 处理。若你补充完整复现细节并确认是在支持的倍率下出现问题,可以重新提交。

内容为 AI 生成,仅供参考
lihailan

lihailan (作者) - xue

http-flv 直播流,下指令16倍速度

要回复问题请先登录注册