视频截图

更新时间: 2024/09/18 16:26:13

音视频通话过程中,用户可以通过视频截图功能截取实时视频流画面,以便后续的存档分析、事件备忘、证据留存等等,例如在教育场景中,学生对课件或板书内容进行截图,截图作为笔记保存;娱乐场景中,可以通过截图对直播画面进行内容安全审核。

NERTC SDK 支持针对实时视频流进行截图,包括本地主流画面、本地辅流画面、远端主流和辅流画面。

注意事项

  • 视频截图功能只截取实时视频流数据,截图中不包含画布水印信息,但会包含视频水印信息。
  • 截图相关接口调用时机如下,如果在其他时机调用截图相关接口,会报错 ERR_INVALID_OPERATION,表示当前不支持该操作。
  • 若您调用 takeSnapShot 接口进行视频截图,返回的是图片的存储路径。在 V4.6.10 及之后版本中,您可以调用 takeSnapshotBase64 接口,支持返回 Base64 格式的截图数据。

示例项目

网易云信在 GitHub 上提供视频截图的开源示例项目 ScreenShot,您可以前往下载体验,也可以在线体验此功能。

实现方法

  • 调用 takeSnapshot 接口,实现视频流截图,返回图片的存储路径。

    截图时,可以通过 name 参数指定截图文件的保存名称。默认格式为 uid-1。
    截图后,您可以在浏览器的默认下载路径中查看截图文件。

  • 调用 takeSnapshotBase64 接口,实现视频流截图转 Base64,返回 Base64 字符串。

示例代码

js//截取本端或远端的视频图片,返回图片的存储路径
stream = localStream || remoteStream
let config = {
  name: xxx //截取的图片名称,保存目录是浏览器默认下载路径
}
await stream.takeSnapshot(config)

//截取本端或远端的视频图片,返回 Base64 字符串
stream = localStream || remoteStream
let base64Url = await stream.takeSnapshotBase64({mediaType: 'video'})
此文档是否对你有帮助?
有帮助
去反馈
  • 注意事项
  • 示例项目
  • 实现方法
  • 示例代码