本地合图

  • Unreal C++

更新时间不可用

startLocalVideoTranscoder

开启本地合图。

C++
virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0;

调用该方法后,你可以在本地将多路视频流合并为一路视频流。例如:将摄像头采集的视频流、屏幕共享流、媒体播放器中的视频流、远端视频流、视频文件、图片等合并为一路视频流,然后将已合图的视频流发布到频道中。

适用场景

你可以在远程会议、直播、在线教育等场景下开启本地合图功能,可以让用户更加方便地查看和管理多个视频画面,同时支持人像画中画等功能。

以下是一个实现人像画中画的典型场景:

  1. 调用 enableVirtualBackground,并将自定义背景图设置为 BACKGROUND_NONE,即:在摄像头采集的视频中将人像和背景分割。
  2. 调用 startScreenCapture [2/2],开始采集屏幕共享视频流。
  3. 调用该方法,并将采集人像的视频源设置为参与本地合图的视频源之一,即可在合图后的视频中实现人像画中画。

调用时机

调用限制

  • 本地合图对 CPU 的消耗较高,声网建议你在性能较高的设备上开启该功能。

  • 如果你需要对本地采集的视频流进行合图,SDK 支持如下采集组合:

    • 在 Windows 平台上,最多支持 4 路摄像头采集的视频流 + 4 路屏幕共享流合图。
    • 在 macOS 平台上,最多支持 4 路摄像头采集的视频流 + 1 路屏幕共享流合图。
    • 在 Android 和 iOS 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
  • 在进行合图配置时,需确保采集人像的摄像头视频流在合图中的图层编号大于屏幕共享流的图层编号,否则人像会被屏幕共享覆盖、无法显示在最终合图的视频流中。

相关回调

当你调用该方法失败时,SDK 会触发 onLocalVideoTranscoderError 回调,报告合图失败的原因。

参数

参数名描述
config

本地合图的配置,详见 LocalTranscoderConfiguration。

注意:

  • 参与本地合图的每一路视频流的分辨率最大为 4096 × 2160,如果超出此限制,会导致合图不生效。
  • 合图后的视频流最大分辨率为 4096 × 2160。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

stopLocalVideoTranscoder

停止本地合图。

C++
virtual int stopLocalVideoTranscoder() = 0;

详情

调用 startLocalVideoTranscoder 后,如果你希望停止本地合图,请调用该方法。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

updateLocalTranscoderConfiguration

更新本地合图配置。

C++
virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0;

详情

调用 startLocalVideoTranscoder 后,如果你希望更新本地合图配置,请调用该方法。

注: 如果你想要更新用于合图的的本地采集视频源类型,比如:增加第二路摄像头或者屏幕采集的视频,需要在 startCameraCapture 或 startScreenCapture [2/2] 之后调用该方法。

参数

参数名描述
config

本地合图的配置,详见 LocalTranscoderConfiguration。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

onLocalVideoTranscoderError

本地合图发生错误回调。

C++
virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){
    (void)stream;
    (void)error;
  }

详情

当你调用 startLocalVideoTranscoder 或 updateLocalTranscoderConfiguration 失败时,SDK 会触发该回调,报告合图失败的原因。

参数

参数名描述
stream

合图失败的视频流。详见 TranscodingVideoStream。

error

本地合图出错原因。详见 VIDEO_TRANSCODER_ERROR。

表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类