对于流媒体系统来说,产生数据的装置叫Source,接收数据的装置叫Sink。
webrtc中抽象了VideoSourceInterface和VideoSinkInterface分别表示Source和Sink,但是它们是相对的概念,比如某一抽象可能对底层是Sink,但是对上层是Source。
如果能够提供视频数据,需要实现VideoSourceInterface,此接口类暴露了AddOrUpdateSink,可以将Sink注册给Source。
如果想要接收视频数据,需要实现VideoSinkInterface,此接口暴露了OnFrame函数,只要将Sink通过AddOrUpdateSink函数注册给Source,那么Source就会通过OnFrame接口将数据传给Sink。
VideoCapture采集摄像头时,既是VideoSinkInterface也是VideoSourceInterface.
网友评论