You need to enable JavaScript to run this app.
导航

媒资播放

最近更新时间2022.07.07 20:21:21

首次发布时间2021.12.24 17:37:21

本文为您提供了服务端 Node.js SDK 媒资播放模块相关的 API 调用示例。主要包含:签发 PlayAuthToken、获取播放地址、签发私有 DRM 加密 AuthToken 等。

初始化

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

签发 PlayAuthToken

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

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);
  }
};

签发私有 DRM 加密 AuthToken

由 App/Web Server 持有的 AK/SK 在本地签出,不依赖外网。若希望同时生成多个PrivateDrmAuthToken,您可以循环调用生成方法。PrivateDrmAuthToken用于 Web 客户端播放视频点播自研 DRM 加密音视频,详见客户端播放

const getPrivateDrmAuthToken = () => {
  try {
    const tokenExpireTime = 900; // 单位 s,默认 3600(1h)
    const query = {
      Vid: "your vid",
      DrmType: "your drm type", // drm类型
      PlayAuthIds: "your playAuthIds", // 播放许可id列表,以逗号分割
      UnionInfo: "your unionInfo", // 加密唯一信息
    };
    const res = vodOpenapiService.GetPrivateDrmAuthToken(
      query,
      tokenExpireTime
    );
    // do your work
    // ...
  } catch (err) {
    console.log(err);
  }
};