openmcu媒体数据流出
2017-03-21 10:25:36 3 举报
openmcu
作者其他创作
大纲/内容
Conference::ReadMemberVideo()
MCUPVideoInputDevice::GetFrameData()
H323LogicalhannelThread::Main()
GetCacheRTP()//通过encoderSeqN来获取数据
loop
UnmoderateConference()
是
MCUBufferYUV
ptlib函数
//发送
合并YUV
用于存储各个会议室的YUV数据
MCUVMPList
CacheThread()
MCUCacheList
是否存在
此处调用编码器
插入用于存储转码数据的cache
VideoMixPosition
写入cache
展开调用关系
channel.Transmit()
写入
codec-Read()//Encode
读取
数据
key是一个字符串,由输出编码参数+房间号组成,相同会议室key相同,所以当该会议室的member在发送数据的时候,通过key关联到的cache都是相同的(媒体数据最终存储在由N个cache组成的map中),这样便达到了一个会议室,所有member都是相同画面的效果
ConferenceCacheMember()
CreateCacheRTP(key)
MCUBufferYUVArrayList
函数
ConferenceMember::ReadVideo()
MCUVideoCodec::Read()
SetMemberVideoMixer()
MCUPVideoInputDevice::GetFrameDataNoDelay()
否
线程
OTFControl()
MCUSimpleVideoMixer::ReadFrame()
PVideoChannel::Read()
读取cache中的媒体数据
OpenVideoCache()
MCUSimpleVideoMixer::ReadMixedFrame()
存储所有会议室编码后的数据
详情请看“openmcu媒体数据流出”流程图
OpenVideoChannel()
MCUH323Connection::OnOutgoingVideo()
收藏
0 条评论
下一页