更新时间:2023-10-26 GMT+08:00
分享

自定义视频采集

功能描述

实时视频传输过程中,HWRtcEngine SDK通常会启动默认的视频模块进行采集和渲染。在以下场景中,您可能会发现默认的视频模块无法满足开发需求:

  • app中已有自己的视频模块。
  • 需要使用自定义的采集或播放处理。
  • 某些视频采集设备被系统独占。

接口调用流程

实现自定义视频采集

  1. 加入房间前

    加入房间前,调用setExternalVideoCapture开启视频自采集。

    public void openExternalVideo() {
        mHwRtcEngine.setExternalVideoCapture(true);
    }
  2. 加入房间

    参考接口调用流程中加入房间的时序图步骤加入房间。

  3. 定时推送视频数据帧

    加入房间成功回调后,每隔1000/frameRate ms定时调用pushExternalVideoFrame接口推送外部视频数据。

    其中,frameRate表示帧率。

    public void pushExternalVideo() {
        new Timer().schedule(new TimerTask() {
                @Override
                public void run() {
                    mHwRtcEngine.pushExternalVideoFrame(videoData);
                }
            }, 0, 1000 / frameRate);
    }

相关文档