最近更新时间:2022.07.07 20:21:21
首次发布时间:2021.12.24 17:37:21
本文为您提供了服务端 Node.js SDK 媒资播放模块相关的 API 调用示例。主要包含:签发 PlayAuthToken、获取播放地址、签发私有 DRM 加密 AuthToken 等。
设置 AK/SK 和地域,具体可参考初始化。
由 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); } };
由 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); } };