You need to enable JavaScript to run this app.
导航
自适应码率(ABR)拉流
最近更新时间:2025.05.07 11:20:52首次发布时间:2025.05.07 11:20:52
我的收藏
有用
有用
无用
无用

本文介绍如何使用 Web 拉流 SDK(VePlayer)启用自适应码率(Adaptive Bit-Rate, ABR)功能,该功能适用于用户网络环境不稳定或网络质量差异较大的场景,能够动态切换码率,从而提升播放连续性和体验流畅度。本功能仅支持 FLV 格式流

适用版本

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

前提条件

已完成 SDK 集成

集成步骤

1. 获取不同码率档位的 FLV 地址

要启用 ABR,首先需提前获取多个码率档位的 FLV 拉流地址。如果使用火山引擎视频直播服务,按照以下步骤获取:

  1. 登录控制台,完成转码配置

  2. 获取各档位拉流地址:

    下表展示了不同档位的 FLV 地址及其对应的码率:

    档位说明拉流地址码率(kbps)
    超清(UHD)https://pull.example.com/live/123456_uhd.flv2500
    高清(HD)https://pull.example.com/live/123456_hd.flv1000
    标清(SD)https://pull.example.com/live/123456_sd.flv800
    低清(LD)https://pull.example.com/live/123456_ld.flv500

2. 配置播放器并启用 ABR

配置播放器时,通过 abr.urls 指定所有档位的拉流地址,并设置初始播放档位的码率。播放过程中,SDK 会根据网络状况动态切换档位,并触发以下事件回调:

  • ABR_SWITCH_START:开始切换档位。
  • ABR_SWITCH_SUCCESS:档位切换成功。
  • ABR_SWITCH_FAILED:档位切换失败。

您可根据项目的集成方式,选择合适的接入方案,以下是两种接入方式的代码示例。

注意

确保每个档位的码率设置与转码配置中填写的编码码率保持一致。

VePlayer.createLivePlayer({
	width: 640,
  height: 360,
	url: 'https://pull.example.com/live/123456_uhd.flv',
  flv: {
	  abr: {
	    bitrate: 2500000,
      urls: {
	      2500000: 'https://pull.example.com/live/123456_uhd.flv',
		    1000000: 'https://pull.example.com/live/123456_hd.flv',
        800000: 'https://pull.example.com/live/123456_sd.flv',
        500000: 'https://pull.example.com/live/123456_ld.flv'
      },
	  },
  }
}).then(function (veplayer) {
    veplayer.on(VePlayer.live.Events.ABR_SWITCH_START, function (data) {
      console.log('ABR_SWITCH_START', data.bitrate);
    });

    veplayer.on(VePlayer.live.Events.ABR_SWITCH_SUCCESS, function (data) {
      console.log('ABR_SWITCH_SUCCESS', data.bitrate);
    });

    veplayer.on(VePlayer.live.Events.ABR_SWITCH_FAILED, function (data) {
      console.log('ABR_SWITCH_FAILED', data.bitrate);
    });
})