# 自定义视频采集

# 简介

实时视频传输过程中,JC SDK 会启动默认的视频模块进行采集和渲染。当遇到不支持系统标准 API 的视频设备的时候,或者希望使用自己已经拥有的视频模块进行视频采集和渲染的时候,将视频文件作为视频输入源。

# 前提条件

在自定义视频采集和渲染前,确保已经初始化了 JCMediaDevice 模块。

# 自定义视频输入源

在视频通话中,您可以自定义视频输入源,菊风提供将视频文件作为视频源的方案以实现该功能:

  1. 调用 startVideoFile (opens new window) 开启该功能。
  2. 调用 setVideoFileFrame (opens new window)逐帧添加视频数据。
  3. 发起通话或者加入频道。
  4. 渲染视频画面。
  5. 在结束通话后调用 stopVideoFile (opens new window) 关闭该功能。
// 开启以视频文件作为视频源的功能
[mediaDevice startVideoFile];
// 添加视频数据方法 1:
[mediaDevice setVideoFileFrame:data format:JCMediaDeviceVideoPixelFormatI420 width:640 height:360];
// 添加视频数据方法 2:
[mediaDevice setVideoFileFrame:data angle:90 mirror:1];
// 渲染视频画面
...
// 关闭该功能
[mediaDevice stopVideoFile];

TIP

文件和摄像头作为视频输入源只能存在一种,如果当前摄像头已开启的话会关闭当前摄像头。

最后更新时间: 2021/3/26 16:01:04