自定义视频采集

自定义视频采集是指的由开发者向 SDK 传入自定义采集的视频帧数据作为视频输入源,然后由SDK内部进行编码\推流的功能。 用到SDK自定义视频采集功能的常见场景:

  • 开发者使用了第三方美颜厂商SDK进行视频数据采集、视频数据的前处理;
  • 采用非摄像头采集的数据。比如屏幕分享、游戏直播、播放视频文件等;
  • 本身默认的内部摄像头被占用,SDK默认是使用摄像头采集的等情况

步骤

1、是否外部视频采集功能

当开启自定义视频采集时,SDK内部不会采集摄像头。调用外部采集接口仅仅改变的推流的视频源数据,不会影响推流的开启和关闭。推流的开启和关闭请正常调用推流接口实现。

m_cEngine->enableCustomVideoCapture(true, config, AUX);

2、设置外部视频采集接口Handle

int setCustomVideoCaptureHandler(std::shared_ptr<IChuangCustomVideoCaptureHandler> handler

3、接收 onstart回调

bool onStart(ChuangPublishChannel channel)

4、发送视频源数据

在onstart中创建线程 hVideo = CreateThread(NULL, 0, Thread, 0, 0, 0); 线程中调用发送数据接口

int sendCustomVideoCaptureRawData(const char* data, int dataLength, ChuangVideoFrameParam* param, long referenceTimeMillisecond, ChuangPublishChannel channel);

results matching ""

    No results matching ""