You need to enable JavaScript to run this app.
导航
音视频播放
最近更新时间:2024.09.18 14:01:56首次发布时间:2021.12.24 17:37:21

本文为您提供了服务端 Node.js SDK 媒资播放模块相关的 API 调用示例。

初始化

设置 AK/SK 和地域,具体可参考初始化

签发临时播放 Token

由 App/Web Server 持有的 AK/SK 在本地签出,不依赖外网。若希望同时生成多个临时播放Token,您可以循环调用生成方法。

说明

const getPlayAuthToken = async () => {
  try {
    const tokenExpireTime = 900; // 单位 s,默认 3600(1h)
    const query = {
      Vid: "your vid",
      FileType: "your file type", // 流文件类型。支持:加密视频流 evideo、加密音频流 eaudio、非加密视频流 video、普通音频音频流 audio。默认: video。
      Quality: "your quality", // 当 FileType 为 audio、eaudio 时起作用,音频音质参数。音频音质支持:medium:普通音质、higher:高音质、highest:音乐音质。默认:返回全部。
      Definition: "your definition", // 当 FileType 是 video、evideo 时起作用,视频流清晰度。视频流清晰度支持:240p、360p、480p、540p、720p、1080p、2k、4k。默认:返回全部。
      Format: "your format", // 封装格式。
      Codec: "your codec", // 编码格式。
      LogoType: "your logo type", // 水印贴片标签。
      Ssl: "your ssl", // 是否返回 https 播放地址。支持:1-是、0-否。默认:0-否。
      NeedThumbs: "your needThumbs", // 是否返回雪碧图。支持:1-是、0-否。默认:0-否。
      NeedBarrageMask: "your needBarrageMask", // 是否需要蒙版弹幕。支持:1-是、0-否。默认:0-否。
      UnionInfo: "your unionInfo", // 加密视频和加密音频时使用,播放端从浏览器/设备中取出能够标识访问/设备唯一性的信息。
      DrmExpireTimestamp: "your drmExpireTimestamp", // 加密视频和加密音频时使用,DRM 过期时间戳,单位:秒级 Unix 时间戳。说明: 需要配合播放器,在客户端使用。
      HDRDefinition: "your HDRDefinition", // 查询 HDR 清晰度。支持:240p、360p、480p、540p、720p、1080p、2k、4k。默认:不查询 HDR 清晰度。
      PlayScene: "your playScene", // 播放场景,指定获取对应场景的音视频流。当前支持:preview-试看。默认:不传参数。
    };
    const res = vodOpenapiService.GetPlayAuthToken(query, tokenExpireTime);
    // do your work
    // ...
  } catch (err) {
    console.log(err);
  }
};

获取播放地址

接口请求参数和返回参数详见 OpenAPI:获取播放地址

const getPlayInfo = async () => {  
   try {    
      const options = {      
      Vid: "your Vid",
    };
    const res = await vodOpenapiService.GetPlayInfo(options);
    // do your work
    // ...
  } catch (err) {    
     console.log(err);
  }
};

签发私有加密 Token

私有加密 Token 用于 Web 点播 SDK 播放私有加密视频,详情请见以下文档:

私有加密 Token 可由 App/Web Server 持有的 AK/SK 在本地签出,不依赖外网。若希望同时生成多个私有加密 Token,您可以循环调用生成方法。

const getPrivateDrmAuthToken = () => {
  try {
    const tokenExpireTime = 900; // 单位 s,默认 3600(1h)
    // Web 点播 SDK 内部携带 playAuthId、vid、unionInfo 向应用服务端请求获取私有加密 Token,详细示例代码和参数说明请见 [Web 端播放私有加密视频实现方式部分](https://www.volcengine.com/docs/4/68698#%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F-2)
    const query = {
      Vid: "your vid",
      DrmType: "your drm type", // 需指定 DrmType 为 webdevice
      PlayAuthIds: "your playAuthIds", // 播放许可id列表,以逗号分割
      UnionInfo: "your unionInfo", // 加密唯一信息
    };
    const res = vodOpenapiService.GetPrivateDrmAuthToken(
      query,
      tokenExpireTime
    );
    // do your work
    // ...
  } catch (err) {
    console.log(err);
  }
};