青龙云渲染(基于WebRTC的流媒体平台)
-
第三十五章 STUN/TURN基础知识
STUN简介 Simple Traversal of UDP over NATs, NAT的UDP的简单穿越,是一种网络协议。是客户机-服务器的一种协议,由RFC 3489 定义。…
-
第三十四章 信令服务器基础知识
信令服务器基础概念 两个设备之间建立 WebRTC 连接需要一个信令服务器来实现双方通过网络进行连接。信令服务器的作用是作为一个中间人帮助双方在尽可能少的暴露隐私的情况下建立连接。…
-
第三十三章 后端的鼠标键盘等事件实现
基础情况 在流式系统中,大部分的情况,数据源是从后端准备好后推送到前端的,此时大部分的情形是前端被动的显示后端流化传过来的内容。有一些场景,在前端需要接受用户的操作,从而影响后端的…
-
第三十二章 实际使用数据通道
基础建立DataChannel的步骤 Description Detail 1 SingalConnection类中创建DataChannel PeerConnection Cre…
-
第三十一章 视频内容检测和分析手段
当我们完成整体的流转后,需要检测其中的每帧数据时,需要用到一些工具检测和API获取。以下我们来介绍2个方法。 内置性能测试工具webrtc-internals 针对云渲染产品进行性…
-
第二十九章 硬件编码/解码
基础知识 我们在基础知识中了解了什么编码和解码,那么之前的行为都是CPU在处理,我们称之为软编码,软解码。 这里我们借用GPU的能力,借用它上面的视频编码解码芯片,直接从硬件层面进…
-
第二十八章 各种编码器介绍和比较
H.264/MPEG-4 AVC H.264/MPEG-4 , 或称AVC(Advanced Video Coding,高级视频编码),是一种视频压缩标准,一种被广泛使用的高精度视…
-
第二十七章 视频推流细节
什么是推流? 推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播…
-
第二十六章 视频轨道和视频捕捉器
视频轨道添加 在建立完成P2P连接后,我们最主要的一步内容是增加视频通道,这可能是整个环节中最重要的内容了。很多问题都是关于视频流内容和画面的内容。 在WebRTC中默认提供2种视…
-
第二十五章 消息数据传递机制
消息机制 在建立P2P连接之后,前后端,信令等都要进行一定的行为交互,每个行为一般的我们会指定一个指令ID或者字符串,然后跟随对应的数据内容。 心跳机制,就是其中一个典型的使用例子…
-
第二十四章 心跳机制
什么是心跳机制 心跳是为了确保前端后端,相互知道对方是否还存活着,定期发送一定的数据到对方那边。一般心跳的频率不会太高,太高会影响服务器性能。但是也不能太低,太低了,中间间隔太久中…
-
第二十三章 建立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…