适用场景

在这些场景下,你可能需要对本地渲染和(或)发布到远端的视频画面进行水平翻转,使其呈现镜像效果。

行业场景
在线课堂课堂直播真实还原线下课堂,例如:卡片跟读,游戏互动,音乐、舞蹈教学
互动娱乐直播间内主播与其他主播或观众实时互动时,收到有关方位的指令
视频通话会议通话时,参会者需要与主讲人的讲解方位保持一致
远程医疗进行远程问诊、在线咨询时,针对正确部位进行看诊(例:左眼)

本文介绍如何使用 RTC SDK 的镜像接口,实现不同的镜像需求。

名词解释
前提条件

你已经集成了 3.29 及以上版本的 RTC SDK,并实现音视频通话功能。

功能说明
作用范围
初始值

在调用镜像接口设置镜像类型之前,不同视频源的镜像设置具有不同的初始值,如下表

前置摄像头/ PC 摄像头后置摄像头视频外部源
移动端
  • 本地渲染:镜像
  • 编码传输:原始
  • 本地渲染:原始
  • 编码传输:原始
  • 本地渲染:原始
  • 编码传输:原始
  • PC端
  • 本地渲染:镜像
  • 编码传输:原始
  • ——
  • 本地渲染:原始
  • 编码传输:原始
  • 镜像模式

    SDK 支持三种镜像模式,分别为

    镜像模式的效果

    假设现实中看到的人和物如下图:

    alt

    设置不同的镜像模式后,本地用户预览效果和远端用户看到的效果如下表。

    镜像模式本地用户预览效果远端用户看到的效果
    开启本地渲染镜像altalt
    开启本地渲染镜像和编码镜像altalt
    关闭镜像altalt
    镜像模式下添加贴纸的效果

    在实际应用中,可能还需要对视频进行其他前处理,例如添加动态贴纸、虚拟背景等。

    假设现实中看到的人和物如左图,前处理中添加的贴纸如右图。

    altalt
    现实中看到的人和物在 RTC 中添加的笑脸贴纸

    在添加贴纸的场景中设置不同的镜像模式后,本地用户预览效果和远端用户看到的效果如下表。

    镜像模式本地用户预览效果远端用户看到的效果本地和远端看到的图像是否一致推荐使用场景
    开启本地渲染镜像镜像alt
  • 摄像头采集到的画面镜像
  • 笑脸贴纸为镜像
  • 原始alt否视频通话
    开启本地渲染镜像和编码镜像镜像alt
  • 摄像头采集到的画面镜像
  • 笑脸贴纸为初始状态
  • 镜像alt
  • 摄像头采集到的画面镜像
  • 笑脸贴纸为初始状态
  • 是视频直播
    关闭镜像原始alt原始alt是视频直播
    注意事项
    数据流转图

    下图分别展示了,在不同镜像模式下,对视频流进行镜像处理和其他前处理的过程

    alt

    API 参考

    接口的具体调用方法详见以下 API 文档

    功能/平台AndroidiOSmacOSWindowsWeb
    版本3.29 及以后版本3.29 及以后版本3.44 及以后版本3.29 及以后版本3.22.x 及以后版本
    支持本地渲染镜像
    设置镜像模式setLocalVideoMirrorTypesetLocalVideoMirrorType:setLocalVideoMirrorType:setLocalVideoMirrorTypemirror
    切换摄像头switchCameraswitchCamera----switchDevice