WebRTC端对端连接
RTCPeerConnection
一个核心类,是上层的统一接口。
在底层有很多复杂逻辑,媒体协商 、流轨道处理、数据接收发送、数据统计等等。
WebrRTC(4) 端对端连接
2020-07-11 13:40:55Android WebRTC完整入门教程04: 多人视频
2020-07-11 12:00:33kurento代码分析(二)rtp流的处理
2020-07-10 15:59:25 今天得闲,又翻了下kurento的代码,没忍住。学有所得,分享在这里。
kurento在处理rtp流时,需要创建一个rtpbin这样一个element。我上一篇,分析了kurento是怎么通过工厂模式,创建一个gstreamer中的element对象。
这种工厂模式,提供了很大的灵活性,有新的需求的时候,就可以继承父类,构造新的处理逻辑。例如关于webrtc的rtp流的处理,在C层,KmsWebrtcEndpoint继承了KmsBaseRtpEndpoint。
WebRTC网关服务器单端口方案实现
2020-07-10 15:51:18基于mediasoup的多方通话研究
2020-07-10 15:19:04基于mediasoup的多方通话研究(一)
mediasoup简介
mediasoup的特性
安装mediasoup-demo
本地运行Demo
server的配置文件
mediasoup的原理
扩展与展望
总结
mediasoup简介
Sdp Plan A Plan B UnifiedPlan
2020-07-09 23:28:37webrtc中多流的实现越来越简单,也越来越规范高效化,从planB-->到unifiedPlan,不过做的早的一些视频会议还是基于plan A做的,也是老版本的webrtc版本,planB兼容planA,不过后边的趋势一定是unifiedplan,这边刚好看到对这三个SDP多流标准的说明的博文,就记录下,转载过来了,感谢原博主。本文转自https://blog.csdn.net/gyj072001/article/details/80406106
-
exchange of multiple media sources (AKA MediaStreamTracks, or MSTs) between two WebRTC endpoints.
-
Unified Plan 和 Plan B 和 Plan A是SDP协商中,多路媒体流的协商方式。
-
Plan A
一个PeerConnection一路媒体流。
ZEGO的webrtc协议分析
2020-06-29 06:25:25这里编辑文章摘要...
Licode—基于webrtc的SFU/MCU实现
2020-06-23 23:13:42webrtc的前世今生、编译方法、行业应用、最佳实践等技术与产业类的文章在网上卷帙浩繁,重复的内容我不再赘述。对我来讲,webrtc的概念可以有三个角度去解释:
(1).一个W3C和IETF制定的标准,约定了Web间实时音视频通信机制,通过该标准可开发基于浏览器的、无插件的web多媒体应用(一般是js),该标准仅设定了点对点无中心的实时会话场景,没有强制约束信令协议与内容,没有要求有媒体处理的中心服务器,主要目标是形成开发者与浏览器厂商良好的生态环境,并积极向HTML5靠拢争取被纳入进去;
(2).一群音视频算法和网络适应性算法,这些算法囊括了视频会议几乎所有的核心技术,包括音视频的采集、编解码、网络传输、播放显示、安全等功能,还提供了操作系统系统调用跨平台封装的实现,包含Windows,Linux,Mac,Android,iOS;
(3).一个开源工程,核心由c++实现,可通过修改、封装、提取代码等方式实现一套视频会议系统,客户端可实现为Web js、App或Windows应用程序等多种形式,服务端可实现包括业务外的所有服务,包括媒体服务、信令服务、穿墙服务、中继服务等等,这些服务稍微调整后可轻易支持分布式部署、容器部署、云部署等。
对webrtc的理解与使用,我认为有三个境界:
WebRTC H5页面 实现服务器转发的视频聊天(二) -- 迁移Spring Boot
2020-06-23 14:02:23最近一段时间,工作内容也是在迁移项目,加上之前有读者要源码,所以打算重构下。
这个项目是之前因为工作中的调研(项目最后因为难度太大放弃了 == ),需要了解关于 WebRTC H5 + Java 如何实现实现网页端的视频聊天,而编写的sample。
原理就是 WebRTC + WebSocket。使用 WebRTC 采集视频看,通过 WebSocket 截取页面的视频流转发到后台,再经过后台分发到其他的客户端网页。
项目本身使用 Spring,打成 war,直接部署到 Tomcat 的方式运行。而写这个sample的时候,MyEcplise 还是我的最爱。
现在我已经习惯了 IDEA ,所以打算改成 Spring Boot,然后用 IDEA 跑起来。
项目实现基本不变,代码实现可考古 WebRTC H5实现服务器转发的视频聊天
WebRTC H5实现服务器转发的视频聊天
2020-06-23 14:00:22此处使用到的WebRTC皆为H5的API,实际上调用的是封装在浏览器的WebRTC的库,用于获取实时视频数据,传输数据则是使用WebSocket实现。
其中的实例语法只用到原生JS,版本为ES6,可能需要较高版本的浏览器支持(IE一般不支持)。
1.获取音视频数据
方法:navigator.mediaDevices.getUserMedia