Display Video
###chromium webrtc视频显示 ###
两个数据源:
本地数据源: MediaStreamRemoteVideoSource(content/renderer/media/webrtc/media_stream_remote_video_source.cc),
数据锚点在video_track_adapter。
远端数据源: MediaStreamVideoCapturerSource(content/renderer/media/stream/media_stream_video_capturer_source.cc),
数据锚点在video_track_adapter。
一个WebMediaPlayerMS表示一个播放器。
TX:
OnFrameReadyInBuffer@content/browser/renderer_host/media/video_capture_controller.cc.
OnBufferReady@content/renderer/media/video_capture_impl.cc (收到相机帧)
VideoTrackAdapter::DeliverFrameOnIO @content\renderer\media\stream\video_track_adapter.cc.
DeliverFrameOnIO@content\renderer\media\stream\video_track_adapter.cc.
MediaStreamVideoTrack::FrameDeliverer::DeliverFrameOnIO @ media_stream_video_track.cc [本地video track]
WebRtcVideoSourceAdapter::OnVideoFrameOnIO @ media_stream_video_webrtc_sink.cc
WebRtcVideoCapturerAdapter::OnFrameCaptured @ webrtc_video_capturer_adapter.cc (录制的数据送进WEBRTC)。
预览显示:
OnVideoFrame @ media_stream_video_renderer_sink.cc [连接到了本地video track]
repaint_cb_.Run(frame);//绘制本地图像。
RX:
RemoteVideoSourceDelegate::OnFrame @ media_stream_remote_video_source.cc RTC线程。
RemoteVideoSourceDelegate::DoRenderFrameOnIOThread @ media_stream_remote_video_source.cc IO线程。
MediaStreamVideoTrack::FrameDeliverer::DeliverFrameOnIO @ media_stream_video_track.cc [远程video track]
OnVideoFrame @ media_stream_video_renderer_sink.cc
repaint_cb_.Run(frame);//绘制远程图像。
posted on 2018-09-29 10:08 huangguanyuan 阅读(348) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~