自定义视频采集
功能描述
实时视频传输过程中,HWRtcEngine SDK通常会启动默认的视频模块进行采集和渲染。在以下场景中,您可能会发现默认的视频模块无法满足开发需求:
- app中已有自己的视频模块。
- 需要使用自定义的采集或播放处理。
- 某些视频采集设备被系统独占。
实现自定义视频采集
- 加入房间前
加入房间前,调用setExternalVideoCapture开启视频自采集。
public void openExternalVideo() { mHwRtcEngine.setExternalVideoCapture(true); }
- 加入房间
参考接口调用流程中加入房间的时序图步骤加入房间。
- 定时推送视频数据帧
加入房间成功回调后,每隔1000/frameRate ms定时调用pushExternalVideoFrame接口推送外部视频数据。
其中,frameRate表示帧率。
public void pushExternalVideo() { new Timer().schedule(new TimerTask() { @Override public void run() { mHwRtcEngine.pushExternalVideoFrame(videoData); } }, 0, 1000 / frameRate); }