
WebRTC基础知识
主要介绍WebRTC相关基础知识以及网络协议
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
杜甲同学
QQ:2685312867
展开
-
TCP、UDP 在音视频实时传输中的作用
UDP在实时通信的过程中首选要使用UDP劣势:连通率低于TCP。有些防火墙只开通TCP。TCP劣势:在极端网络情况下延迟高。不适合实时传输优势:连通率高于UDP。实时传输中的重要指标连通率 默认选用UDP,当UDP不通的情况下使用TCP,如果TCP还不通那就使用HTTP。 在延迟效果和连通率之间,首选要保证连通率。...原创 2020-05-24 22:21:03 · 2205 阅读 · 3 评论 -
RTP协议
RTP是上层协议可以跑在TCP上也可以跑在UDP上。大多是情况下都是跑在UDP上,因为主要上应用在实时传输上。如果你跑在TCP上在极端网络情况下,他就不是实时的了,所以它一般用在UDP上,不在底层协议上处理,在上层协议进行处理。其实就是模拟了TCP的一些功能。seq 和TCP的seq功能类似,但是RTP的seq是按照包来的,第一个包是1,第二个包是2.而不是按照字节来的。所以tcp是流式...原创 2020-04-19 21:18:48 · 621 阅读 · 0 评论 -
UDP 与 RTP 在音视频中的作用
UDP 源端口 目的端口 UDP长度(Header+Data) 校验合 数据 UDP的结构非常简单,包括源端口目的端口UDP的长度(头部长度以及数据长度)因为UDP的协议头是固定的,那么拿到总的长度就得到数据部分的长度。校验合...原创 2020-04-19 17:59:49 · 598 阅读 · 0 评论 -
TCP 的滑动窗口
滑动窗口在3次握手创建链接的时候,就是进行一个重要的工作就是窗口的确认。也就是发送端与接收端要确认发送数据的窗口有多大,或者说缓冲区有多大,实际窗口就是一个缓冲区对于发送端来说比如缓冲区大小是32k,接收端的是16k,这时就要统一成一样的缓存区大小。取两者之间最小的那个。...原创 2020-04-18 17:06:47 · 442 阅读 · 0 评论 -
TCP的ACK机制
我们先来回顾一下TCP的完整协议,通过上面两张图我们就能知道,首先是创建连接传送数据。三次握手 发起连接的是客户端接收连接的是服务端服务端处于监听状态,当有连接过来,状态就变为SYN_RCVD回复一个SYN、ACK消息,客户端收到消息后状态变为ESTABLISHED再回复一个ACK消息,服务端接收到消息后服务端也处于ESTABLISHED在这之后客户端与服务器直接就可以进行消息的收...原创 2020-04-18 09:17:08 · 1378 阅读 · 0 评论 -
TCP四次挥手
TCP4次挥手流程Initiator 发起端Receiver 接收端起始阶段两端都是ESTABLISHED发起端先发起close命令,在tcp协议的底层会发送一个FIN(tcp包,seq=x,ack=y),发送FIN包意味着发起端要与接收端断开链接。状态变为FIN_WAIT_1,处于等待的第一步。接收端接收到消息后,状态变为CLOSE_WAIT,同时回复ACK消息(seq = y,a...原创 2020-04-12 11:27:21 · 262 阅读 · 0 评论 -
TCP三次握手
TCP三次握手流程图发起端称为客户端接收端称为服务端客户端向服务端发起一起请求(1次)服务端进行一次回复 (2次)客户端再向服务端进行一起确认 (3次)在socket编程中的流程最开始双端的状态机都是close服务端要创建socket进行监听,随之状态机变为LISTEN客户端要发起链接,会调用connect()对服务端进行链接,SYN位置为1,状态变为SYN_SENT (...原创 2020-04-12 10:30:26 · 226 阅读 · 0 评论 -
TCP协议
TCP/IP 协议栈MAC HeaderIP HeaderTCP/UDP headerTCP/UDP DataMAC Header14byte20byte20 byte4 Byte组成结构最底层是1500 byte的以太网桢桢头 14byte桢尾 4 byte中间部分为以太网桢的数据部分在以太网桢的数据部分又分为IP协议头很IP协议数据部分...原创 2020-04-11 15:01:03 · 256 阅读 · 0 评论 -
IP协议详解
IP协议详解我们开始学习网络协议,我们要做实时音视频传输。最关键的就是网络传输,要学好网络传输,我们就要对整个网络协议有一个清晰的认知,在这个网络协议中,我们做实时音视频最主要的就是使用UDP。为什么要使用UDP?TCP的优势与劣势UDP的优势与劣势知道以上2点后,我们就能知道我们为什么要使用UDPIP协议头无论是TCP、UDP、ICMP都是在IP协议头之后的数据部分。IP...原创 2020-04-10 20:10:46 · 327 阅读 · 0 评论 -
动态获取ip
参考文档请求流媒体ip创建随机分配ip加入回传创建房间的ip客户端ip分发服务流媒体服务原创 2020-03-12 10:02:44 · 359 阅读 · 0 评论 -
Ubuntu下mediasoup-demo搭建
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -sudo apt-get install -y nodejsapt install npm使用淘宝镜像临时使用npm --registry https://registry.npm.taobao.org持久使用npm config set reg...原创 2019-12-28 12:27:35 · 967 阅读 · 0 评论 -
Flutter+Janus实现视频会议教程
Flutter工程结构详细教程见下面视频课程地址优快云学院地址网易云课堂地址原创 2019-12-09 22:10:07 · 1306 阅读 · 1 评论 -
ubuntu18.04 nginx https 搭建
sudo apt-get updateapt-get install build-essentialapt-get install libtoolsudo apt-get install libpcre3 libpcre3-devapt-get install zlib1g-devapt-get install opensslwget htt...原创 2019-11-25 11:06:59 · 1022 阅读 · 0 评论 -
Janus iOS 视频会议端目录结构
iOS端工程结构介绍Utils 文件夹sdp 对象封装类随机字符串生成Janus 文件夹JanusConnection PeerConnection类封装JanusHandle Janus句柄操作JanusTransaction Janus 事务ViewController 功能进入首页 目前仅提供视频会议入口VideoRoomVC 视频会议房间视图控制器Me...原创 2019-11-25 11:05:17 · 613 阅读 · 0 评论 -
Ubuntu coturn 环境搭建
sudo passwd rootapt-get update apt-get install libssl-dev libevent-dev libpq-dev mysql-client libmysqlclient-dev libhiredis-dev make -yapt-get install gdebi-core -yapt-get install sqlite libsqli...原创 2019-11-17 09:40:08 · 481 阅读 · 0 评论