本文为您提供了服务端 Node.js SDK 媒资播放模块相关的 API 调用示例。
设置 AK/SK 和地域,具体可参考初始化。
由 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 用于 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); } };