那些年一起创业的日子
-
第二十四章 心跳机制
什么是心跳机制 心跳是为了确保前端后端,相互知道对方是否还存活着,定期发送一定的数据到对方那边。一般心跳的频率不会太高,太高会影响服务器性能。但是也不能太低,太低了,中间间隔太久中…
-
第二十三章 建立P2P 连接
什么是P2P连接 PeerConnection 是 WebRTC 连接流程中无法绕过的一个类,甚至可以认为这个类是整个连接流程的 Controller。当2个用户分别在2端试图连接…
-
第二十二章 编译WebRTC框架
源代码地址: 下载后放到src目录下 git clone https://chromium.googlesource.com/chromium/src/buildtools 下载后…
-
第二十一章 实战青龙流式系统问题总结
我们在实际的开发过程会遇到很多的问题,这里总结和归纳,可以帮助各位 流式协议带来的限制 媒体流属性的随机化处理 FireFox 禁止两个相同节点之间无法建立多条连接 一旦连接建立,…
-
第二十章 前端引擎库比较
我们了解各个主要的API,但是实际开发中,我们还会遇到不少问题,我们也可以考虑使用其他封装库模,提升开发效率,下面我们了解几个开源库。 Adapter.js 是一个开源项目,由We…
-
第十九章 如何高效和业务系统交互
我们现在重新来讨论青龙流式系统信令服务和业务之间关系。 信令简介 信令:驱动系统运转。控制各个模块的前后调用关系;业务不同,逻辑不同,信令也会千差万别 我们假设在一对一通信的场景下…
-
第十八章 数据通道实时数据传输
我们青龙流式系统的数据通道RTCDataChannel是专门用来传输除音视频数据之外的任何数据的,如短消息、实时文字聊天、文件传输、远程桌面、游戏控制、P2P加速等;当然像是文本聊…
-
第十七章 实现多通道音视频数据流支持
在上面的文章里,我们知道视频和媒体如何使用,但是在实际的研发过程中,我们还会针对多个轨道的情况。 主要过程 A为呼叫方,在此阶段,将音视频流加入RTCPeerConnection对…
-
第十六章 Web前端中鼠标键盘等事件处理
在类似远程桌面控制等场景下,我们的流式系统还需要处理键盘和鼠标的输入。 主要流程 1.增加键盘 鼠标监听回调dom对象的事件回调 2.如果需要和后端交互,可以在数据通道约定对应的协…
-
第十五章 音频和视频媒体的支持
媒体流(MediaStream) 媒体流(MediaStream)是一个重要概念,它代表着音频和视频数据的流。媒体流可以包含一个或多个音频轨道(AudioTrack)和视频轨道(V…
-
第十四章 Web端常用的API
本文将详细解析青龙流式系统的三大API:MediaStream、RTCPeerConnection和RTCDataChannel,帮助读者理解并应用这些技术。 MediaStrea…
-
第十三章 会话流程和信令通讯
本文介绍主要青龙流式系统的会话协议和流程 构建WebRTC需要的协议 ICE全称Interactive Connectivity Establishment ,是一种交互式连接框架…
-
第十二章 浏览器中流式标准的演化史
WebRTC是标准,协议和JavaScript API的集合,两者的组合可实现浏览器(对等)之间的对等音频,视频和数据共享。无需依赖第三方插件或专有软件,而是将实时通信转变为任何W…
-
第十章 SRTP协议
SRTP 协议 通过 DTLS 协商后,RTC 通信的双方完成 MasterKey 和 MasterSalt 的协商。 要解决的问题 RTP/RTCP 协议并没有对它的负载数据进行…
-
第九章 RTP/RTCP协议
WebRTC 使用 RTP 协议传输音视频,也依赖于 RTP 协议提供的信息处理丢包。本文尝试结合 RFC 3350 对 RTP 协议做一个较为简洁的介绍,方便大家查阅。 RTP(…
-
第七章 DataChannel数据通道
作为WebRTC的三大模块之一,DataChannel支持短消息(short message)二进制和文本数据的传输,因此,对于通常以传输音视频为主的WebRTC来说,当需要传输音…
-
第六章 ICE概念
基础概念 ICE(交互式连接建立)是 WebRTC(与其他技术一起)用于连接两个对等端的框架,不受网络拓扑结构的限制(通常用于视频或语音聊天)。这个协议让两端能够互相找到对方并建立…
-
第五章 编码器/解码器
视频编码基础知识 什么是视频编码? 视频编码是压缩和可能改变视频内容格式的过程,有时甚至将模拟源改为数字源。关于压缩,目标是使其消耗更少的空间。这是因为这是一个有损的过程,会丢掉与…
-
第四章 码率,分辨率,帧率
分辨率, 指图像占用屏幕上像素的多少。图像中的像素密度越 高,图像的分辨率越高。对于实时通信而言,图像默认分辨率一般设 置为640×480或640×360,如果分辨率低于该值,则图…
-
第三章 流式流转时序图
整体时序介绍 流程如下所示。 1.连接双方(Peer)通过第三方服务器来交换(Signaling)各自的SessionDescription数据。 2.连接双方(Peer)通过ST…