当前位置: 首页 > wzjs >正文

ps做网站导航条百度小说排行榜风云榜单

ps做网站导航条,百度小说排行榜风云榜单,网站开发后台用什么语言,邢台住房和城乡建设部网站1、概述 我的代码是比较新的,基于webrtc源码仓库的main分支的,在windows下把源码仓库下载好了后,用visual stdio 2022打开进行编译调试src/examples/peerconnection_client测试项目,主要是跑通这个demo来入手和调试,纯看代码很难…

1、概述

我的代码是比较新的,基于webrtc源码仓库的main分支的,在windows下把源码仓库下载好了后,用visual stdio 2022打开进行编译调试src/examples/peerconnection_client测试项目,主要是跑通这个demo来入手和调试,纯看代码很难理解,只有编看代码编调试,然后遇到不懂的网上搜索,逐个技术点击破,希望通过这样的学习来了解WebRTC

图1-1 webrtc仓库源码分支信息

2、peerconnection_client例子

2.1 简介

peerconnection_client是原生端的测试例子,但是麻雀虽小,五脏俱全,从信令服务器通信到双向的音视频通话,什么都有,从这个例子进行学习分析webrtc源码是最好的选择,我们主要从client入手

图2.1-1 peerconnection_client代码图

2.2 如何运行demo

直接运行会报错,通信不了,需要对demo做一些修改

2.2.1 添加socket类

class CustomSocketServer : public rtc::PhysicalSocketServer {public:bool Wait(webrtc::TimeDelta max_wait_duration, bool process_io) override {if (!process_io)return true;return rtc::PhysicalSocketServer::Wait(webrtc::TimeDelta::Zero(),+process_io);}};

备注:在main.cc函数前面添加即可

图2.2.1-1 添加CustomSocketServer类的位置图

2.2.2 修改wWinMain函数

把webrtc::PhysicalSocketServer ss;注释掉,替换为上面2.2.1新的类CustomSocketServer

图2.2.2-1 替换socket通信代码位置图

2.2.3 添加main_thread.Start()

在  // Main loop 注释前面添加

2.2.3-1 线程启动代码位置图

2.2.4 修改webrtc服务器的地址(媒体服务器)

采用的是coturn作为webrtc的服务器,具体的coturn是怎么搭建的,可以看我的博客WebRTC服务器Coturn服务器部署和相关系列文档

图2.2.4-1 配置webrtc服务器图

采用的是coturn服务器,STUN和TURN服务器都是在同一台,所以配置格式如下

stun:ip:port

turn:ip:port?transport:udp

2.2.5 编译运行结果

运行起来就得到下图这个结果了,这个127.0.0.1是我自己改的,默认是localhost,我本机调试发现localhost连接不上,所以我改为了127.0.0.1

图2.2.5-1 修改localhost为127.0.0.1图

windows下编译运行peerconnection_client如下结果

图2.2.5-2 编译运行demo图

2.2.6 运行peerconnection_server.exe

peerconnection_server.exe是webrtc源码提供的信令服务器,我们offer,answer,candidate这些信令的交互就是通过这个peerconnectoin_server来透传的了

我们在本地再运行一个peerconnecton_client.exe来进行通信,下图中间是peerconnection_server.exe运行起来的样子

图2.2.6-1 两两通话和信令服务器运行图

两两通话的结果如下

图2.2.6-2 通过实际视频数据传输渲染结果图

备注:我本地是windows台式机的,没有摄像,所以我下载了个vcam虚拟摄像头来测试

3、peerconnection_client的代码简单介绍

图3-1 client代码组成图

图3-2 各个类之间的关系UML

conductor类: 整个demo逻辑的大脑核心,负责创建peerconnection,注册回调函数到peerconnection,从回调函数得到offer、answer、candidate等信息后续的处理,还协调窗口的显示和信令的发送处理,从UML类图也可以发现,MainWnd和PeerConnectionClient是它的成员,协调这个两个类进行逻辑处理

main_wnd类:主要是界面的显示和界面的切换逻辑的处理,主要的技术点有windows窗口和消息机制,视频数据的渲染,采用BitBlt原生windows API进行图像数据的渲染

peer_connection_client类:主要就是与信令服务器进行交互,发送信令offer、answer、candidate等信令消息,并处理接收信令消息,然后通过callback回调数据给Conductor类进行具体的逻辑处理。

4、结论说明

这个demo是比较重要的,作为分析源码的开始,这是个很好的入门例子,很多技术点都是可以从这个demo开始,然后边调试边分析总结,WebRTC的源码很庞大,涉及到的知识点很多,需要一步步慢慢地进行学习分析。

http://www.dtcms.com/wzjs/72351.html

相关文章:

  • 做地方网站论坛啥都能看的浏览器
  • 昆明网站建设优化图片百度推广开户多少钱一个月
  • 广州网站建设 推广公司外贸公司如何做推广
  • 增加收录网站汽车推广软文
  • 自己做网站要买什么网站建设制作
  • 平台搭建阳光房seo关键词外包公司
  • 博彩网站建设多少钱南宁seo多少钱报价
  • 网站js 做日历各大引擎搜索入口
  • 怎么自己做网站凑钱怎样优化标题关键词
  • 河间网站制作厦门seo推广外包
  • Pcb通过网站做外贸龙泉驿网站seo
  • 青海网站建设加q5299丶14602做词百度下载正版
  • wordpress不同分类不同广告 文章属于不同分类金华seo扣费
  • 建分类网站得花多少钱动态网站建设
  • 九江有哪些做网站的公司怎么把产品推广到各大平台
  • 惠州做学校网站做推广的技巧
  • 网站建设做网站可以吗网络营销毕业论文范文
  • 小型企业网站开发价格好用的种子搜索引擎
  • 网站建设营销推广如何做个网站推广自己产品
  • 苏州网站建设丶好先生科技高质量内容的重要性
  • 做体育设施工程公司的网站温州高端网站建设
  • 宁德小程序开发北京网站优化常识
  • 厦门网站建设解决方案名词解释搜索引擎优化
  • 国外免费b2b网站有哪些长沙网站优化
  • 网上商城什么意思优化网络的软件
  • 行业门户网站的优化怎么做yps行业门户系统如何做品牌营销
  • 找北京赛车网站开发seo基础培训教程
  • 做低价的跨境电商网站代运营公司
  • 手机网站 案例电商网络销售是做什么
  • 戴尔cs24TY可以做网站吗微信营销号