You need to enable JavaScript to run this app.
导航
视频流过期处理
最近更新时间:2025.05.07 11:20:53首次发布时间:2025.05.07 11:20:53
我的收藏
有用
有用
无用
无用

本文将指导您在使用 Web 拉流 SDK (VePlayer) 接入启用了 URL 鉴权的直播系统时,如何识别并处理因拉流地址过期导致的播放失败问题,从而保障观众的观看体验。

适用版本

本文档适用于最新版本的 Web 拉流 SDK,版本信息请参考发布历史,历史版本请参考历史文档

使用场景

如果您的直播系统启用了 URL 鉴权,生成的拉流地址通常会包含一个有效期。如果观众在页面停留时间过长,或者由于其他原因导致拉流地址超过有效期,将会出现以下情况:

  • 播放器尝试拉取流数据失败,导致播放中断。
  • 观众看到播放错误,无法继续观看直播。

为了避免播放中断,需要在拉流地址失效前或失败后,及时获取新的拉流地址切换播放器源

实现流程

  1. 在播放器初始化时使用有效的鉴权 URL。
  2. 监听播放错误事件或设置定时器进行预警。
  3. 通过后端服务器调用 GeneratePlayURL 接口获取新的有效拉流 URL。
  4. 使用 veplayer.switch() 方法平滑切换播放源。

前提条件

配置示例

您可以使用 veplayer.switch(newUrl) 方法动态切换播放源。以下是 CDN 和 NPM 集成方式的代码示例,展示如何更新拉流地址:

VePlayer.createLivePlayer({
  width: 640,
  height: 360,
  url: 'https://testpull.mycloud.com/live/mystream.m3u8?{鉴权参数}',
  logger: {
    appId: '5****8',
  },
}).then(function (veplayer) {
  // 最新的拉流地址
  const newUrl =
    'https://testpull.mycloud.com/live/mystream.m3u8?{新的鉴权参数}';
  // 更新拉流地址
  veplayer.switch(newUrl);
});