Yin的笔记本

vuePress-theme-reco Howard Yin    2021 - 2025
Yin的笔记本 Yin的笔记本

Choose mode

  • dark
  • auto
  • light
Home
Category
  • CNCF
  • Docker
  • namespaces
  • Kubernetes
  • Kubernetes对象
  • Linux
  • MyIdeas
  • Revolution
  • WebRTC
  • 云计算
  • 人工智能
  • 分布式
  • 图像处理
  • 图形学
  • 微服务
  • 数学
  • OJ笔记
  • 博弈论
  • 形式语言与自动机
  • 数据库
  • 服务器运维
  • 编程语言
  • C
  • Git
  • Go
  • Java
  • JavaScript
  • Python
  • Nvidia
  • Rust
  • Tex
  • Shell
  • Vue
  • 视频编解码
  • 计算机网络
  • SDN
  • 论文笔记
  • 讨论
  • 边缘计算
  • 量子信息技术
Tag
TimeLine
About
查看源码
author-avatar

Howard Yin

303

Article

153

Tag

Home
Category
  • CNCF
  • Docker
  • namespaces
  • Kubernetes
  • Kubernetes对象
  • Linux
  • MyIdeas
  • Revolution
  • WebRTC
  • 云计算
  • 人工智能
  • 分布式
  • 图像处理
  • 图形学
  • 微服务
  • 数学
  • OJ笔记
  • 博弈论
  • 形式语言与自动机
  • 数据库
  • 服务器运维
  • 编程语言
  • C
  • Git
  • Go
  • Java
  • JavaScript
  • Python
  • Nvidia
  • Rust
  • Tex
  • Shell
  • Vue
  • 视频编解码
  • 计算机网络
  • SDN
  • 论文笔记
  • 讨论
  • 边缘计算
  • 量子信息技术
Tag
TimeLine
About
查看源码
  • interceptor寻踪:总结

    • 发送方
      • 接收方
        • 额外
          • 参考

          interceptor寻踪:总结

          vuePress-theme-reco Howard Yin    2021 - 2025

          interceptor寻踪:总结


          Howard Yin 2021-10-09 11:34:00 WebRTC编程框架pion概念

          # 发送方

          主角:TrackLocal和RTPSender

          • BindRTCPReader在NewRTPSender里被调用,返回的RTCPReader.Read在RTPSender的Read里调用,供用户从RTPSender里读取自定义的RTCP包
          • BindLocalStream在RTPSender.Send里被调用,并且在最顶层上都是在SetLocalDescription和SetRemoteDescription里初始化时调用的。在RTPSender.Send里,RTPSender构造为TrackLocalWriter封装进TrackLocalContext然后绑定给用户定义的TrackLocal里,实际发送RTP包需要用户在自己实现的TrackLocal里调用TrackLocalWriter.Write

          # 接收方

          主角:TrackRemote和RTPReceiver

          • 读取RTP包:OnTrack里用户获取到TrackRemote,调用TrackRemote里的Read,Read调用RTPReceiver里的非导出类执行发RTP包的操作
          • 读取RTCP包:OnTrack里用户获取到RTPReceiver,调用RTPReceiver里的Read就是实际读取RTCP包的操作
          • 初始化:在SetLocalDescription和SetRemoteDescription里,interceptor相关类被初始化(BindRemoteStream和BindRTCPReader)后放入TrackRemote和RTPReceiver里,在OnTrack里里用户获取到的就是这些初始化好的类

          # 额外

          • BindRTCPWriter在NewPeerConnection里被调用,返回的RTCPWriter.Write在PeerConnection的WriteRTCP里调用,供用户发送一些自定义的RTCP包

          # 参考

          • TrackLocal的介绍:《pion中的TrackLocal》
          • RTPSender的介绍:《interceptor寻踪:从TrackLocal开始深入挖掘pion/interceptor的用法》
          • TrackRemote的介绍:《pion中的TrackRemote》
          • RTPReceiver的介绍:《interceptor寻踪:从TrackRemote开始深入挖掘pion/interceptor的用法》
          帮助我们改善此页面!
          创建于: 2021-10-09 11:34:07

          更新于: 2021-10-09 11:34:07