写点什么

stream,source,track 关系

发布于: 2021 年 04 月 08 日
stream,source,track关系

1,介绍

track :是一个音频或视频数据流(发送或接收)。它有输入和输出,对于要发送的 track 来说,输入是本地的采集,输出是远端,对于要接收的 track 来说,输入是远端,输出是本地的渲染。


source: 可以作为 track 的输入数据源,它的消费者叫 sink,一个 source 可以有多个 sink。给 track 加 sink 实际上都是给 track 的 source 加 sink。


stream:是 track 的集合,为了更灵活的控制本地和远端的 track 组合


2, 结构图


备注:红色线是视频流进入的位置。

3,关键类


  • RTCVideoDeviceCapturer:硬件设备包装器,并负责接收采集来的数据。

  • VideoAdapter:格式化视频输出数据,通过 VideoSinkWants 设置参数

  • VideoBroadcaster:存储 sourcesink 对象,用于广播视频数据

  • CapturerTrackSource:继承自 VideoTrackSource,可以理解为一个 source 的实例

  • VideoTrack:track 实例

  • VideoTrackProxyWithInternal<VideoTrack>: VideoTrack 的代理类,用于线程切换

  • VideoRtpTrackSource: 代表远程 source

发布于: 2021 年 04 月 08 日阅读数: 13
用户头像

还未添加个人签名 2020.08.12 加入

还未添加个人简介

评论

发布
暂无评论
stream,source,track关系