网络类型很多,比如网线、WIFI、蜂窝网络、VPN、LOOPBACK等等。
那么WebRTC在连接的时候,就可以对网络进行筛选,尤其是对于多网卡,多种连接方式的设备。

CreateNetworks的调用流程

WebRTC 收集网卡信息的时机

线程: signaling thread

PeerConnection::SetLocalDescription
SdpOfferAnswerHandler::SetLocalDescription
SdpOfferAnswerHandler::DoSetLocalDescription (transport_controller()->MaybeStartGathering();)
JsepTransportController::MaybeStartGathering()
void JsepTransportController::MaybeStartGathering() {if (!network_thread_->IsCurrent()) {network_thread_->Invoke<void>(RTC_FROM_HERE,[&] { MaybeStartGathering(); });return;}for (auto& dtls : GetDtlsTransports()) {dtls->ice_transport()->MaybeStartGathering();}
}

线程: network thread

JsepTransportController::MaybeStartGathering()
P2PTransportChannel::MaybeS

WebRTC Native M96收集网卡地址信息以及筛选过滤VPN网络(CreateNetworks、FilterNetworks)相关推荐

  1. WebRTC Native M96 H264打包方式解读--kH264SingleNalu、kH264StapA、kH264FuA

    在<WebRTC Native M96视频基础知识介绍–使用H264>中介绍了WebRTC中H264的相关知识,这边不再啰嗦. 抓了一个rtp的包: 90 60 7c 5d 11 ec 7 ...

  2. WebRTC Native M96 回调音频裸数据IAudioFrameObserver--采集和播放语音混音后的数据(onMixedAudioFrame)

    此前已经说道,通过注册回调,给上层APP抛音频裸数据: <WebRTC Native M96 SDK接口封装–注册语音观测器对象获取原始音频数据registerAudioFrameObserve ...

  3. WebRtc Native M96 远端视频接收之PacketBuffer-组帧原理分析(4)

    组帧 视频一帧数据往往被拆分为多个packet进行发送,组帧是将接收到的packets重组为视频帧.组帧的关键在于找到视频帧的起始与终止packet.对于h264编码的视频帧,rtp传输时没有明确的起 ...

  4. WebRTC Native M96 SDK接口封装--startAudioMixing播放音乐文件与麦克风采集声音混音

    封装接口 使用WebRTC大概有两种方式,一种是把WebRTC当做一种库来用:另一种是把WebRTC当做一个框架,自己在上层封装代码. 不管怎么,做实时音视频SDK开发的,都需要封装接口,供给上层应用 ...

  5. WebRTC Native M96 SDK接口封装--enableLoopbackRecording启用声卡采集,声卡播放的声音合到本地音频流发送远端

    音频采集或播放时,需要用MMDevice API来枚举和获取指定设备,用WASAPI来处理应用程序和音频设备之间的音频流数据,如采集或播放 声网接口:enableLoopbackRecording 接 ...

  6. WebRTC Native M96 基础Base模块介绍之网络相关的封装

    rtc_base IPAddress 与版本无关的 IP 地址类,包装了 in_addr 和 in6_addr 的联合. 对IP地址的封装IPAddress和InterfaceAddress,IPAd ...

  7. WebRTC Native M96音频基础知识介绍--使用Opus

    声波 声音是振动产生的声波,通过介质(气体.固体.液体)传播并能被人或动物听觉器官所感知的波动现象. 声音的特性可由三个要素来描述,即响度.音调和音色 音频(音调) 音调就是音频.物理学中用每秒内振动 ...

  8. WebRTC Native M96 SDK接口封装--muteLocalVideoStream开关本地视频发送

    https://dabaojian.blog.csdn.net/article/details/123587207 已经介绍了如何开关本地预览,现在介绍一下mute/unmute本地音视频设备的接口. ...

  9. WebRTC Native M96 SDK接口封装--muteLocalAudioStream开关本地音频发送

    摊牌了,水了一篇. 因为之前介绍了muteLocalVideoStream接口的实现,那么实现muteLocalAudioStream就大同小异了. 接口定义(Agora) 接口名:    muteL ...

最新文章

  1. jieba词性说明字典
  2. P1091 合唱队形(LIS)
  3. 【Python】利用 pytesseract 识别图片中的数字
  4. Facebook向量召回双塔模型
  5. bing搜索引擎入口_互联网流量入口——头条的搜索计划
  6. html5游戏制作入门系列教程(七)
  7. [Angularjs]angular ng-repeat与js特效加载先后导致的问题
  8. sklearn 线性回归linear regression做分类任务
  9. cuda cudnn tensorflow对应_Ubuntu18.04下安装Tensorflow+cuda+cudnn+pytorch
  10. 【JS教程】100+常用JS函数(方法)
  11. [转]架构师的职责及工作描述
  12. 左手用R右手Python系列之——表格数据抓取之道
  13. 计算机选题方向怎么写,计算机方面方向论文选题 计算机方面论文题目怎么定...
  14. apipost自动化测试工具
  15. 2016天猫快消母婴行业双11商家大会
  16. 入侵检测系统(IDS)与入侵防御系统(IPS)的简单理解
  17. 结对项目-最长英语单词链
  18. python 爬虫 快看漫画整站爬取(解决动态加载漫画图片地址、漫画图片合成长图、图片文件排序等问题)
  19. 搬运视频消重 wide短视频软件怎么去水印
  20. 建模知识2: ROC、AUC、K-S曲线

热门文章

  1. HDU1087 - Super Jumping! Jumping! Jumping! (Java)
  2. puppeteer 教程(2) ---- puppeteer介绍
  3. python调用sql数据库进存销_python多进程快速批量爬取黄页海量信息并保存文本和数据库教程...
  4. 山大考研分数线2018计算机,2018年山东大学考研复试分数线已公布
  5. Java使用JWT开源库
  6. Capslock + 的使用
  7. PHP 交集 并集 差集
  8. 计算机更改串口方法,更改电脑com口的操作方法
  9. 【图神经网络】GCN-3(semi-GCN)
  10. springboot中添加Filter的方法