WebRtcSession::SetLocalDescription|WebRtcSession::SetRemoteDescription->
WebRtcSession::CreateChannels->WebRtcSession::CreateVoiceChannel|
WebRtcSession::CreateVideoChannel->ChannelManager::CreateVideoChannel|
WebRtcSession::CreateDataChannel->
VoiceChannel::Init|VideoChannel::Init|DataChannel::Init->BaseChannel::Init->
BaseChannel::SetTransport->BaseChannel::set_transport_channel->
BaseChannel::ConnectToTransportChannel[SignalReadPacket.connect(this, &BaseChannel::OnChannelRead)]->
BaseChannel::OnChannelRead[从网络读取RTP包]->BaseChannel::HandlePacket[webrtc.pc]->
WebRtcVoiceMediaChannel::OnPacketReceived|WebRtcVideoChannel2::OnPacketReceived->
Call::DeliverPacket->
Call::DeliverRtp->AudioReceiveStream::DeliverRtp|VideoReceiveStream::DeliverRtp->
RtpStreamReceiver::DeliverRtp->
Channel::ReceivePacket[音频]|RtpStreamReceiver::ReceivePacket[webrtc.video视频]->
RtpReceiverImpl::IncomingRtpPacket->RTPReceiverVideo::ParseRtpPacket[视频]->
RtpStreamReceiver::OnReceivedPayloadData->
VideoReceiver::IncomingPacket->VCMReceiver::InsertPacket->
VCMJitterBuffer::InsertPacket->VCMFrameBuffer::InsertPacket->
VCMSessionInfo::InsertPacket[按seqNum插入RTP包 PacketList]->

本文详细介绍了WebRTC音视频通信的过程,包括从设置本地和远程描述开始,到创建不同类型的通道,再到处理接收到的数据包。重点分析了如何通过各组件之间的交互实现高质量的实时音视频通信。
669

被折叠的 条评论
为什么被折叠?



