pushVideoFrame abstract method

Future<void> pushVideoFrame({
  1. required ExternalVideoFrame frame,
  2. int videoTrackId = 0,
})

将外部原始视频帧通过自定义视频轨道发布到频道中。

当你需要在频道中发布自定义采集视频时,可参考以下步骤: 调用 createCustomVideoTrack 方法创建视频轨道并获得视频轨道 ID。 调用 joinChannel 加入频道时,将 ChannelMediaOptions 中的 customVideoTrackId 设置为你想要发布的视频轨道 ID,并将 publishCustomVideoTrack 设置为 true 。 调用该方法将 videoTrackId 指定为步骤 2 中指定的视频轨道 ID,即可实现在频道内发布对应的自定义视频源。 调用该方法后,即使你停止推送外部视频帧到 SDK,自定义采集的视频流仍然会被计入视频时长用量并产生费用,声网建议你根据实际情况采取相应措施避免此类视频计费: 如果你不再需要采集外部视频数据,可以调用 destroyCustomVideoTrack 销毁自定义采集的视频轨道。 如果你只想将采集到的外部视频数据用于本地预览、而不在频道内发布,可以调用 muteLocalVideoStream 取消发送视频流,或调用 updateChannelMediaOptions 将 publishCustomVideoTrack 设置为 false 。

  • frame 待推送的视频帧。详见 ExternalVideoFrame 。
  • videoTrackId 调用 createCustomVideoTrack 方法返回的视频轨道 ID。 如果你只需推送一路外部视频流, videoTrackId 设置为 0 即可。

Returns 方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。

Implementation

Future<void> pushVideoFrame(
    {required ExternalVideoFrame frame, int videoTrackId = 0});