自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 6.5.编解码器信息的收集

就是你在这个模板列表中啊,可以传入可变参数的模板,这个参数呢是可多可少的,根据你的需要,你去列出来就了。那在这个函数中呢,它生成了一个新的对象,那这个时候呢,我们就要考虑一个问题了,那既然我们现在已经知道在这个列表中呢,有这么多的编码器,那我如何能将一个个的编码器获取到呢?它需要提供两个模板,那第一个模板呢,就是可变参数模板列表中的第一项,那后边儿ts呢,就是余下的可变参数。对吧,这样可变参数列表中就少了一项,然后通过递归的方式,每次取一项,每次取一项,最终呢,将可变参数模板列表中的每一项给它取近。

2023-12-14 22:57:11 95

原创 6.4.如何生成SDP

好,那对于transfer来说呢,它包括了一堆的字段,那这些字段呢?创建receiver的时候呢,会创建audio rtp receiver和video rtp receiver,那对于每一种类型的track,它只能创建这种类型的sender和receiver。那我们的目标呢,当然就是生成这样一个文本,那这个文本呢,就是sdp文本那里边包括了各种各样的媒体信息,音频,视频。那我们都知道,对于接口儿层,还有sdp,它都属于外边儿tc的筛选层,那通过前面儿的介绍呢,我们就可以对这个sesion啊,做一下总结。

2023-12-14 22:34:42 101

原创 6.3.WebRTC中的SDP类的结构

在上节课中呢,我向你介绍了sdp协议,那这节课呢,我们再来看看web rtc中。是如何存储sdp的?也就是sdp的类结构,那在此之前呢?我们先对sdp的内容啊,做一下分类。因为在上节课中呢,虽然我们介绍了它的协议,但是具体对于stp中它到底包含了哪些内容?实际我们并没有做详细的介绍,对吧?那所以呢,我们今天先把这块内容给大家做一个介绍,之后呢,我们再来看看web rtc是如何存储它的。好,那这张图呢?就是对stp内容的一个分类。那从大的方面来看呢?sdp它包括了会话层和媒体层,对吧?那会话层呢?包含

2023-11-23 23:17:31 598

原创 6.2.SDP协议

它是由k value所组成的,那另外呢,我们要知道sdp它是分层的,对这对于我们理解sdp来说呢,非常的关键。那对于视频来说,它的media ID是一,那这个序号呢?那p6使用的是VP 8,这个编辑码器,它的时钟频率呢是九万,那这个呢,就是一个stp的例子。那这个时候呢,我们要做好兼容,那以上呢,就是我们这节所要向你介绍的内容,那在这节中呢,我首先向你介绍了sdp协议的一个基本的规范。那第二次协商的时候呢,版本号就变成二,那第三次呢,就是三,它这个版本呢,是不断累加的,后边这个o呢,就代表是就谁拥有它?

2023-11-23 23:05:06 415

原创 6.1.webrc媒体协商

媒体协商的过程中呢,就会进行网络传输的创建,编解码器的创建等等,这些呢,都是在set local description中实现的。我们来看一下y8 rtc的媒体协商,那实际上在我们之前的课程中呢?那我们在进行网络传输的时候呢,实际是希望这个数据越小越好,越紧凑越合适,那如果你要传一个更大的数据,它占的网络带宽就会越多。那当只有某一项的时候,比如只有offer或者answer的时候,那他只做其中的一半工作,那剩下的一半工作呢,要交给下一个API,也就是set remote description来进行完成。

2023-11-23 22:44:54 457

原创 6.6.编解码器信息的收集之二

在上节课中呢,我向你介绍了编辑码信息收集的第一部分,那在那一部分中呢?我们本来是要将所有内容通过一节课全部讲出来。但是呢,由于时间的关系,我们只能讲其中的一部分,那今天呢,我们继续讲第二部分。那在上节课中,我们归到了通过create peer connection factory,我们就开始收集音视频编解码器的信息了。其中用到的四个重要的函数呢,就是create buildin audio encoder factory create buildin audio encoder factory。以及vid

2023-11-15 23:04:29 216

原创 5.13.Post方法进行线程切换

再下边呢,是一个ID,那ID呢,通常都设成零目前呢,我们不太用这个参数,再接下来的data就是message data。有些消息是时间敏感的,有些呢,是不太敏感的。好,那对于这节课来说呢,我们重点介绍post方法,那首先呢,我们来看看post方法定义,那对于post方法来说呢它?当时我已经向你解释过pose方法呢,就是从一个线程切换到另外一个线程,那整个的过程呢,非常简单,就是从发送线程创建一个消息。

2023-10-31 23:21:49 116

原创 5.12.webrtc接口调用过程

嗨,大家好,我是李超,在上节课中呢,我向你介绍了外接口的设计以及我们红接口展开之后的样子,对吧?那今天呢?我们再来看看整个接口调用过程。那整个这个调用过程啊,非常的复杂,我通过一张图呢,向你做了一下展示,那么通过这张图,我们可以看到。整个从一开始红的展开,到最后我们调用到create peer connection这个API这个过程呢?需要11步。那它还是非常复杂的,我们要理解起来呢,也会非常的费劲,但是通过这张图呢,可以大大简化,我们在理解这个过程中的复杂度。那即使这样,其实我们在理解的时候可能还会遇

2023-10-18 23:26:51 603

原创 5.11.Webrtc接口的设计原理

之后呢,我们就可以使用这个代理类了,那么在这个代理类中呢,包括了很多的method的方法,当然method它是可重载的,有不同的输入参数。那要花费大量的学习时间,那不如我们就给它暴露一些必要的接口,那这样呢,用户学起来就非常的容易。之后呢,让它继承自interface,也就是我们自己手工编写的这个接口类,当它继承了这个接口之后,后边它再调用具体的实现类的时候,就会非常方便。那实际上我们在上节课中,在介绍实现自己接口的这个方案的时候呢,已经向你做过介绍了,它需要三大步,那第一步呢,我们要实现一个接口类。

2023-09-13 23:07:39 482

原创 5.10.WebRTC接口宏

那这些呢,回头在我们后边的课程中介绍外边tc代码的时候,我们再看一下外边tc是如何这个使用接口类的,那通过上面介绍呢,你应该对外边tc的接口宏有了一定了解。就是某某某interface,所以我们在定义接口的时候呢,我们第一步要实现一个接口类,它的名字就是你的原来的这个类的,这个名字加上一个interface。第三步呢,我们要通过宏定义一个代理类,那这样呢,当然,对于代理类的宏实现后的样子,后边我还会向你做详细介绍,那现在我们只要知道web rtc,它是通过这几个宏来定义一个类的代理类的。

2023-09-13 22:41:14 632

原创 5.9.Webrtc线程事件处理

在前面的课程中呢,我已经向你介绍了事件处理的一些基础知识,那今天呢,我们再来看一下外边儿rtc下事件处理的基本逻辑是什么?那首先呢,我们来看一下事件是如何协调线程工作的,那就如果这张图所展示的有两个线程,对吧?一个是限定线程,一个是工作线程。其中,工作线程呢,又称为等待线程,它会因为一个事件而睡眠,直到事件发生为止。这两个线程是如何协调工作的呢?那中间儿就要有一个公共对象在外边儿tc下,这个公共对象就是non socket server或者是physical socket server。这在我们上节课

2023-09-11 23:34:42 401 1

原创 5.8.webrtc事件处理基础知识

它有两种事件源,那第一种事件源呢,就是我们刚才介绍的socket的事件源,当socket读写或者连接的时候呢,都会触发事件。首先,我们要清楚啊,不同的平台处理事件的API是不一样的,这就如同我们当时创建线程是类似的,对吧?那另外呢,我们要知道对于Windows系统下它的事件呢,包括两种,一种是wsa even的事件,一种是普通的even的事件。当然,完全端口的方式会更高效一些,但对于web rtc来说呢,它选择的是wsa even的select,所以对于这节课来说呢,我会向你介绍大量ws a开头的。

2023-08-21 00:49:30 762

原创 5.7.webrtc线程的启动与运行

那这里啊,我们大家要注意,就是我们创建好的three的对象,什么时候与我们的线程进行绑定的呢?OK,那我们继续走啊。那首先呢,我们来看看线程的创建,实际这一页PPT啊,我们在之前已经向你做过介绍了,那我们都知道,对于不同的平台,在创建线程时使用的API都是不一样的,对吧?OK,那我们再继续往下走,再下来呢,是给这个线程设置一个名字,我们就不看了,之后呢,将three的对象赋值给当前的任务队列。现在呢,跳入到这个函数中OK,这样呢,我们就进入到了的这个函数中,我们来详细看一下,在这个函数中具体做了哪些事情?

2023-08-20 22:39:05 587

原创 5.6.webrtc三大线程

好,那再往后,它就会做一次线程的切换,也就是说,从当前线程切换到新的线程,那一块逻辑的切换呢?当three的对象创建好之后呢,它调用start方法将这个线程启动起来,那现在我们就知道network three的这个对象,它是在哪创建的,以及这个线程。但是对这三个线程来说呢,实际我们在写应用程序的时候,可以自己先把它创建好,然后传给外部rtc,让外部rtc用我们创建好的线程来做底层的处理。当应用层调用外部r7c的API的时候,进入到API内部,它就会进行线程的切换,从应用层的线程切换到信号线程。

2023-08-20 22:03:19 1511

原创 5.5.webrtc的线程管理

我们继续跳到three的类的实现。那关于three的local storage呢,应该是在C加加幺幺引入的对,所以它引入的时间呢,并不是很长,下面呢,我们来看看three的local storage,它的一些基本用法。那对于外边rtc来说呢,它里边存放的就是three的指针,这个map与three的manager中的message q每一项呢都是一一对应的,也就是说第一项的three的对应这里的。

2023-08-20 21:36:37 523

原创 5.4 webrtc的线程

实际上,关于threed的类中的很多细节呢,我们都可以看一些注释,在这个threed的类中呢,包含了大量的注释。就是在这里,那在threed的点h中的168行就是threed的类的定义,我们可以简单过一下,看看这个类它是怎么定义的?后边我们需要的时候,我们再看这个类,它是怎么定义的?是用于线程切换的,我们也知道,为了提高效率,它采用了多线程,不同的线程呢,完成不同的工作。那首先我们来看一下数据,之前呢,我在常见的线程模型中,曾经向你介绍过,一般呢,我们在使用线程的时候呢,都要增加一些队列,对吧?

2023-08-20 15:55:16 387

原创 5.3.常见的线程模型

经过解码队列之后,解出的就是yu v数据,拿到yu v数据之后呢,再将由渲染线程插入到渲染线程队列,渲染线程呢,最终将yu v数据渲染到屏幕上。这样,这一些线程就一直存在在线程池中,当我们需要的时候呢,只需要从线程池中拿出一个线程去执行就了,这样就防止了频繁的线程创建与销毁。而对于我们这个线程模型来说呢,它是通过控制线程的数量来减少线程的切换的,对于协成呢,我们就不做过深讨论了,因为不在我们的讨论范围之内好。这种线程模型第二种呢,是我们一创建的时候就创建好所有的线程,每一个线程都有一个自己的队列,

2023-08-20 14:07:59 66

原创 5.2.线程基础知识

那首先呢,就是互斥通过锁呢,可以达到一个互斥,当某个线程要访问共享资源的时候,他先给它加一把锁,这个时候呢,其他的线程就没法再访问这个共享资源了。当然,我们加锁的时候呢,还要注意一些点,那第一个呢,就不能出现 什么时候会出现死锁呢,就是a线程等待b线程,但是a线程呢,和b线程都要同时访问一个共享的资源。对吧,那这都是我们经常遇到的事儿好,那下面呢,我们再来看看多线程给我们带来了哪些问题,好,第二个呢,是为了提高效率,我们应该把这个资源呀,尽量划分的更小,这样使得我们锁这个资源的时间就更短。

2023-08-20 13:59:38 53

原创 5.1 webrtc线程模型

那除此之外呢,我们还要了解web rtc线程与线程之间是如何协调工作的,哪个线程是先执行,哪个线程是后执行,(三大线程和子线程的关系)才能更好的理解它内部的一个运转机制,所以通过上面的介绍呢,我们应该知道理解y8 rtc的关键点就是你对它里边的线程的理解。当存在多个线程的时候,哪两个线程之间是可以有联系的,而其他线程之间呢,是相互独立的,这都是我们比较关心的问题。对吧,只有我们了解线程创建的时机,我们才能知道外边rtc线程之间它是怎样的一个关系,是一对多的关系,还是一对一的关系?好,那我们今天的课呢?

2023-08-20 13:44:19 1117

原创 4.14.媒体协商

那在这里呢,我们设置的是rt coffer answer options函数,通过这个函数呢,它就会自动返回一个合适的类型,继续执行,当offer创建成功之后呢。那如果我们是呼叫端,此时呢,我们收到的就是暗示消息,所以这一步呢,就不会执行,那直接就向下执行了是吧?

2023-08-20 13:31:26 236

原创 4-15.源码分析-视频渲染

通过这节课呢,我们应该知道两个关键点,第一个呢是我们的视频帧从哪儿来?下面呢,我们就看看wndproc是如何处理pen的消息的OK,那这个时候呢,我们就收到了一个pen的消息,我们进入到这个函数中啊。那我们的这个窗口呢,就会不断的被刷新,并且每次刷新的时候呢,都会显示新的视频内容,通过这样一种机制,就使得我们的视频在窗口中显示了出来。那它整个的过程呢,就是这样的,另外还有一点,我们要知道的,我们的peer connection clan端使用的渲染方式呢,是通过WINDOWS的GUI渲染的。

2023-07-11 00:10:12 87

原创 4-13.WebRTC-Native开发过程

那今天呢?我们来分析下peer connection clan端中web rtc native的开发过程。那在我们前面的课程中呢?虽然我向你介绍了peer connection clan端界面的开发,信令的开发,今天我们介绍的内容呢,才是我们最为最为重要的内容。下面呢,我们就来看一下,对于peer connection clan端来说,它是如何调用y八二七cap I进行音视频通讯的。那在开始之前呢?我们先介绍两个重要对象,那第一个对象呢就是peer connection factory,通过它的名字,我们

2023-07-10 23:50:53 247

原创 4-12.源码分析-信令的实现

那第三步呢,是执行I nid socket signals,那这个函数啊,是非常重要的,我们跳到这个函数中去看一下,那在这个函数中它做了哪些事情呢?这里我们就会产生一个疑问,我们的信令已经构造好了,并且呢,向服务端发送了一个连接请求,那我们的信令是什么时候发出去的呢?这个应答呢,我们会在昂锐的函数中读取到,那读取到之后呢,它会对消息呢进行分析。它会从消息队列中取出一个消息,最终调用cld 3 two peer,将这个消息发送出去,那我们再进入到这个函数中,在send to peer这个函数中呢?

2023-07-06 23:23:13 94

原创 WebRTC setlocaldescription的原理

setlocaldescription的原理是将本地的SDP描述信息赋值给RTCPeerConnection对象中的localDescription属性,然后通过信令服务器将此SDP描述信息发送到远端的对等端,用于协商和建立连接。当远端的对等端接收到SDP描述信息后,会将其设置为remoteDescription属性,并再次使用createAnswer方法生成自己的SDP描述信息,通过信令服务器发送给本地的对等端,从而完成建立连接的过程。

2023-05-31 23:16:40 458

原创 WebRTC 的核心RTCPeerConnection 接口

WebRTC 的核心是 RTCPeerConnection 接口,该接口封装了所有建立 P2P 连接的细节和基本操作。在创建 RTCPeerConnection 实例时,我们可以传递一个配置项对象,它包含以下可选属性:• iceServers: WebRTC 中 ICE (Interactive Connectivity Establishment) 协议用于在两个端点之间建立网络连接。这个属性可以用来指定 STUN 或 TURN 服务器的 URL 以进行 NAT 穿透和中继等操作。

2023-05-31 23:12:41 2398 1

原创 4-9.peerconnection-client界面实现

实际UI是一个状态机,你显示不同页面的时候呢,它的状态会发生变化,那第三句呢,是对连接信令服务器页面的布局。已经非常清楚了,下面呢,我们再来看一下这些页面之间是如何切换的,那由于页面切换是一个非常复杂的过程,那这里呢,我就以这历史页面为例来做一下重点讲解。首先,我们要知道一个原理,就是我们页面切换的真实情况,是我们有一个共同的父窗口,在不同的阶段呢,我们在父窗口里显示不同的子窗口。副窗口就知道我下边有哪些子窗口,那这些子窗口呢,也同时要释放资源,所以我们在创建子窗口的时候呢,一定要注意这个参数要填对。

2023-05-31 23:06:42 90

原创 4-11.信令逻辑

将客户端与信令服务器之间的连接给它断掉,之所以要这么做,是因为peer connection clan端与信令服务器之间的连接是短连接,当每处理完一个信令之后,就将这个连接断掉。关于信令的作用,我在前面的课程中呢,都向你做过介绍,那这里我就不再重复了。对,所以它是一个短链接,这是第一点,在rode中做的第二件事呢,是收到新令服务器返回的消息之后,要对返回的消息进行分析。那可能有的同学会有疑问,觉得这个connection clan端,它的信令处理啊,非常的繁琐,就那么几个信令,还要用两个连接。

2023-05-31 23:06:37 47

原创 4-10源码分析-client界面

我们进入到这个函数中,在这个函数中呢,实际就像我们前面介绍的,首先呢,是对peer list UI进行一个布局。后边的一些逻辑呢,都是一些不太重要的逻辑了,好,如果在这个过程中呢,我们没有获得mainwindow,那它会将所有的消息呢都交由。当然最后呢,他们都是进入到on defer的action这个函数中,那总之呢,通过上面分析呢,你应该知道了wndproc是如何处理子控件消息的。在H文件中呢,定义的mainwindow类在CC文件中呢,是它的实现,那第二个呢,是conductor类。

2023-05-31 23:05:49 47

原创 4-8.实战-实现一个最简单的Windows应用程序

处理函数进行消息处理,那接下来我们再看看问window文件它做了哪些事情,那么window呢,实际就是封装了一个类,那在这个类中呢,实现了窗口的创建。那紧接着呢,我们再来看看注册窗口里实现了哪些功能,那对于这个内部函数呢,它先调用了系统的EX,注册了一个窗口,不过,对于我们后面要了解的peerconnectionclient端来说,它的界面呢,其实是非常简单的,只有三个页面,那每个页面中呢,都有很少的这个子控件儿。放大缩小,那在这个窗口中呢,包含了三个默认的button,一个是最小化,一个是放大。

2023-05-31 23:05:31 244

原创 4-7.Windows窗口与消息

对这个消息进行转换,对于一般的消息来说呢?所以对于main函数来说呢,它包括了两大块儿,第一大块儿呢,是窗口的创建,第二大块儿呢,是消息的分发。在这个函数中呢,我们对各种各样的消息进行处理,那最终呢,再调用我们自己的逻辑,这就是windows程序的一个基本构成。所以在这个函数中呢,我们可以写一个switch case,判断每个消息,那对我们关心的消息呢,做特殊的处理。实际上windows窗口的创建是由多个步骤组成的,那第一个步骤呢,就是我们要注册一个窗口,在注册窗口的时候,我们要指定消息的处理函数是哪个?

2023-05-31 23:03:35 125

原创 4-6.完美协商

以及它的作用了,对吧?那对于完美协商来说呢,它是允许双方可以同时发送offer给对方的,这是第一点,那第二点呢,是由于web rtc底层的状态机并没有发生变化。所以在新的webrtc中呢,提供了一种新的协商的方式,称为完美协商。但是对于角色的设置是由我们人为规定的,而不是由它内部自己设置的,所以我们在进行媒体协商之前呢,应该将一端设成为有礼貌的角色,另一端呢,设成为无礼貌的角色,这是第二点,当产生冲突的时候,就要判断你的角色是什么了,那如果是无礼貌的角色,那当收到对端的offer之后呢,就应该把它忽略掉。

2023-05-23 22:10:03 121

原创 4-5.WebRTC中的媒体协商

这样peer connection在媒体协商的时候就知道我们要协商哪些信息了,那我们是否有音频,是否有视频,视频的参数是怎样的,音频的参数是怎样的?将远端的answer也设置到自己的缓冲区中,最终呢,就可以进行媒体协商了,那以上呢,我们再来看看媒体协商的时序图,那在这个时序图中呢,一共包括四个组件儿,那第一个呢就是呼叫端a。那对于这张图来说呢,我们一定要牢牢掌握,因为媒体协商呢,是我们使用webrtc非常关键的一个步骤。我们介绍的主要是协商的一个完整的过程,那对于协商时我们使用的sdp中的详细内容。

2023-05-23 22:09:53 264

原创 4-3.peerconnection_client的构成

创建登录窗口,创建peerconnectionclientld模块,那这个模块呢,就是信令发送模块,创建conductor,在创建conductor的时候呢?conductor是最为核心的,它的工作包括了两部分,一部分是对于webrtc native接口的调用,那另外呢,就是对这两个模块的一个统一调度。那最终呢,会调用到conductor这个模块的connect函数,在这个函数中呢,又会调用pcc,也就是peerconnectionclient的模块,然后进行网络的连接。那第一个界面呢,就是登录界面。

2023-05-22 23:22:41 115

原创 4-4.几个重要的信令

在上节课中呢,我向你讲述了peerconnection客户端类之间的关系以及类之间的时序图,那通过那两张图呢,我想你应该对peerconnection的整体结构。存在内存中,然后给客户端返回一个用户,登录成功消息好,第二个信令呢,是用户退出信令,也就是Sign out,这也非常好理解,对吧?获取暂存的中转消息,比如说sdp消息、candidate的消息,那换句话说呢,对于信令服务器来说,它没有主动推消息的功能,只能是用户给服务端。包括三个部分,第一个呢是呼叫端,第二个呢是信令服务器。第三个呢,是被呼叫端,

2023-05-22 23:22:36 50

原创 4-2.一对一实时通信架构

其实它的实现非常的简单,只是进行一个信令的中转,没有其他过于复杂的内容好,所以对于我们这一章的例子来说呢,这个STUN跟TURN服务啊,不是必须的,所以这一块儿呢,我们可以暂时忽略掉第三部分呢,就是peerconnectionclient。对吧,通过STUN服务呢,获取到我本机的外网IP地址,那将我的外网IP呢,通过新令服务器交给对端,对端就可以通过NAT穿越。所以我们通过这个图啊,也可以看出左右这两个client端它的结构呢,其实是一模一样的,所以呢,我们只需要介绍一端的内容就OK了。

2023-05-22 23:20:42 50

原创 4-1.分析WebRTC必经之路章节概述

实际上,关键的一点就是我们之前介绍的peerconnectionclientlient,我们应该牢牢的抓住peerconnectionclientlient的这个demo,因为在这个demo中呢?那我们来看一下,我本章主要讲解的内容,首先呢,我们先来了解一下一对一的实时通讯的架构,也就是说,我们要拿到一把打开webrtc的钥匙,那对于webrtc来说,它的代码量是非常庞大的,我们到底该如何下手呢?那通过这一章的课程学习呢,都会为我们打下非常坚实的基础OK,那我们本节呢,主要就是向你介绍一下我们这一章。

2023-05-22 23:17:49 50

原创 3-5.WebRTC中的重要Demo

那这就是我们这个demo的一个大体的结构,那通过这个demo呢,我们可以知道对于客户端实际它包含了三个界面,那第一个界面是登录界面。而我们打开之前的那个呢,可以看到显示的是另外一个客户端的名字,当然由于我是在同一台机子里,所以这两个名字呢,是一模一样的,那对于服务端来说呢,每次有一个客户端登录的时候,那它都会提示一个连接数,那目前呢,只有一个连接,因为我们刚才在操作的时候由于。那由于我在同一台机子上摄像头呢,相互之间会强占,所以呢,在这里它就发生了一个冲突,因此呢,这个显示界面就是一片空白。

2023-05-22 23:16:47 91

原创 3-4.编译WebRTC源码

那通过这两个命令呢,我们都可以查找到好以上呢,就是we br 7编译的一些参数,那知道这些参数之后呢,我们再来看看如何?那默认情况下呢,我们就使用这一行语句,就可以将编译脚本呢生成出,这非常简,那第二个呢?这时候呢,我们需要先清理一下那使用的命令呢,就是这个命令,当我们执行这条命令的时候呢,它就会将目录中的内容呢给它清掉。就不执行了,下面呢,大家可以自己执行一下,当我们执行完成之后呢,你可以用gn gen --ide=VS out/mytext ,那通过这条命令呢,来产生VS工程文件,我们执行一下啊。

2023-05-22 23:14:23 157

原创 3-3.编译WebRTC的必备工具

我主要是以Windows端为主,介绍Windows端整个webrtc的代码逻辑,当我们将这一端完全理解之后呢,我们再看其他的好,那下面呢,我们就来看看。是吧,那我们通过这个命令呢,就可以将它直接安装好,在安装的时候我们还有一点要注意的呢,那以上呢,就是我们这节课主要介绍内容,那这节课中呢,我主要向你介绍了,在Windows下我们要安装的两个必备的工具,一个是Windows SDK。第三个呢,在安装的过程中,我们要选择一些模块,那Windows SDK呢,要将debug工具安装好,而对于VS2019呢?

2023-05-22 23:14:14 124

原创 3-2.获取WebRTC源码

那这就是我们获取webrtc源码的三种方式,那下面呢,那对于物理机来说,一般这个磁盘空间啊,不是问题,而对于虚拟机来说呢,有很多同学在分配的时候呢,没有分配很多,分了几十个g编译的时候就会出现问题,因为它会产生大量的临时文件。是我们必须要保证的,尤其是使用虚拟机的同学,那必须要注意这些配置好,后边儿的这个开发工具呢,我们暂时先不说,因为这个呢,后边儿我还会详细介绍。去下载那么第二天呢,再使用它对,所以它下载时间是非常长的,当然这也与你的带宽是有关系的,由于我这个访问外网的带宽呢,比较小,也就1M的这个量。

2023-05-22 23:11:33 290

webrtc8源码资源

webrtc8源码资源

2023-07-05

webrtc源码资源15

webrtc源码资源15

2023-07-03

webrtc源码资源14

webrtc源码资源14

2023-07-03

webrtc源码资源12

webrtc源码资源12

2023-07-03

webrtc源码资源11

webrtc源码资源11

2023-07-03

webrtc源码资源9

webrtc源码资源9

2023-07-03

webrtc源码资源7

webrtc源码资源7

2023-07-03

webrtc源码资源5

webrtc源码资源5

2023-07-03

webrtc源码资源4

webrtc源码资源4

2023-07-03

webrtc源码资源3

webrtc源码资源3

2023-07-03

webrtc源码资源2

webrtc源码资源2

2023-07-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除