自定义视频采集
功能描述
如果您需要使用自定义的美颜库或有前处理库,则需要自己采集和处理摄像头拍摄画面,您可以通过SparkRTC SDK的setExternalVideoCapture接口开启自采集功能。然后使用pushExternalVideoFrame接口推送外部视频数据到SparkRTC SDK播放。
实现过程
- 加入房间前调用主引擎的setExternalVideoCapture
加入房间前调用此接口打开视频自采集功能。一旦开启后,你将无法切换。
//开启自采集功能 m_pRtcEngine->setExternalVideoCapture(true, HRTC_VIDEO_IMAGE_FORMAT_YUV420P);
- 加入房间
参考接口调用流程中加入房间的时序图步骤加入房间。
- 定时推送视频数据帧
加入房间成功回调后,上层应用需要定时调用pushExternalVideoFrame接口推送外部视频数据,每1/帧率调用一次。
//初始化一个HWRtcVideoFrame对象,参数以实际为主,传rtcEngine HWRtcVideoFrame *rtcVideoFrame = [[HWRtcVideoFrame alloc] init]; rtcVideoFrame.format =HWRtcVideoImageFormatYUV420P; rtcVideoFrame.width = width; rtcVideoFrame.height = height; rtcVideoFrame.data = data; rtcVideoFrame.dataLen = data.length; rtcEngine->pushExternalVideoFrame(&rtcVideoFrame);