流媒体:WebRTC源码分析
文章平均质量分 88
Google的WebRTC源码分析
北雨南萍
长期专注于实时音视频通信技术、音视频处理技术,包括基于webrtc的音视频通信解决方案,基于ffmpeg的媒体处理解决方案。
展开
-
WebRTC源码-信令之六:SDP协议与协商流程
SDP(Session Description Protocol)是一个用来描述多媒体会话的应用层控制协议,它是一个基于文本的协议,用于会话建立过程中的媒体类型和编码方案的协商等.它不属于传输协议,它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩展协议的电子邮件以及超文本传输协议(HTTP)。SDP协议是也是基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围。原创 2022-09-08 10:40:49 · 823 阅读 · 0 评论 -
Janus官方DEMO介绍
janus的官方DEMO介绍原创 2022-08-09 20:53:44 · 573 阅读 · 0 评论 -
C++无依赖库的websocket实现
无第三方依赖库的Websocket客户端,服务端的实现源码,及分析原创 2022-08-06 11:43:04 · 2866 阅读 · 0 评论 -
websocket协议详解
WebScoket协议中,数据以帧序列的形式传输。考虑到数据安全性,客户端向服务器传输的数据帧必须进行掩码处理。服务器若接收到未经过掩码处理的数据帧,则必须主动关闭连接。服务器向客户端传输的数据帧一定不能进行掩码处理。客户端若接收到经过掩码处理的数据帧,则必须主动关闭连接。针对上情况,发现错误的一方可向对方发送close帧(状态码是1002,表示协议错误),以关闭连接。...原创 2022-08-06 10:39:29 · 4246 阅读 · 0 评论 -
easywsclient的DEMO测试
easywebsocket的使用原创 2022-08-06 09:37:24 · 513 阅读 · 0 评论 -
webSocket的实现
WebSocket包括客户端和服务端,实现的语言大体可以分为四类:java,C/C++,object-C,javascript。原创 2022-08-06 09:33:20 · 1958 阅读 · 0 评论 -
WebRTC音视频引擎研究(1)--整体架构分析
WebRTC技术交流群:234795279原文地址:http://blog.csdn.net/temotemo/article/details/75305041、WebRTC目的WebRTC(Web Real-Time Communication)项目的最终目的主要是让Web开发者能够基于浏览器(Chrome\FireFox\...)轻易快捷开发出丰富的实时多媒体应转载 2015-02-06 14:15:51 · 2214 阅读 · 0 评论 -
WebRTC 学习笔记(4)--PeerConnection
此部分代码主要提供两个功能:1),适配P2P传输部分和媒体处理部分的不同接口2),封装易用的对外接口,方便使用者调用1, 接口适配部分:2, 简化接口部分:2.1,外部协作此部分代码实现了W3C webrtc 规范:http://dev.w3.org/2011/webrtc/editor/webrtc.html目前Peer转载 2016-02-19 13:07:51 · 1013 阅读 · 0 评论 -
webrtc进阶-信令篇-之四: 如何为WebRTC项目选择信令协议
如何为webRTC项目选择信令协议总体来说,有五种不同的webRTC信令协议实现方式:信令协议_______________它是什么______________选择理由SIP over WebSocket 继承自VoIP的老顽固 它可以和现在的多数后端建立连接 XMPP/Jingle XMPP的狂热分子 因为它原创 2016-03-02 18:31:03 · 8321 阅读 · 0 评论 -
webrtc进阶-信令篇-之三:信令、stun、turn、ice
webRTC支持点对点通讯,但是webRTC仍然需要服务端: . 协调通讯过程中客户端之间需要交换元数据, 如一个客户端找到另一个客户端以及通知另一个客户端开始通讯。 . 需要处理NAT(网络地址转换)或防火墙,这是公网上通讯首要处理的问题。 所以我们需要了解服务端相关的知识:信令、Stun、trun、ice。一、什么是信令信令就是协调通讯的过程,为了建立一个w转载 2016-03-02 16:14:08 · 22010 阅读 · 0 评论 -
WebRTC 学习笔记(2)--libjingle 部分 (P2P传输)
说明:此系类的内容都是本人自己对libjingle native API代码的学习总结。其中可能存在不准确甚至是错误的内容。欢迎大家帮忙指出错误。此文是个人根据WebRTC项目中的libjingle部分总结出来。只代表WebRTC中的libjingle部分的结构,不代表原始的libjingle项目。1, libjingle 基本结构。下图仅描述视频部分转载 2016-02-19 13:00:33 · 2769 阅读 · 0 评论 -
WebRTC 学习笔记(5)--线程模型
1, 基本线程webretc中主要有两个线程:signaling_thread-->处理小工作量方法。要求此线程内的方法都必须快速返回。worker_thread-->处理大工作量的方法。此线程内的方法可能会处理很长时间,如网络消息等。2, 线程实现webrtc中的线程包含了一个消息队列。当需要在此线程中运行逻辑时,仅需要向线程对象发送一个消息转载 2016-02-19 13:10:30 · 938 阅读 · 0 评论 -
WebRTC 学习笔记(3)--媒体处理及编解码部分
说明:此系类的内容都是本人自己对libjingle native API代码的学习总结。其中可能存在不准确甚至是错误的内容。欢迎大家帮忙指出错误。1, 此部分代码主要完成媒体处理,编解码,RTP/RTCP 编解码等。下图是主要的模块图:2,主要模块间通信及相互引用关系。下图中模块对应于上图中模块的描述。下图仅罗列主要模块的通信关系。转载 2016-02-19 13:05:47 · 1783 阅读 · 0 评论 -
WebRTC 学习笔记(1)--总述
说明:此系类的内容都是本人自己对libjingle native API代码的学习总结。其中可能存在不准确甚至是错误的内容。欢迎大家帮忙指出错误。1, 主页: http://www.webrtc.org/2, 项目由来。当前的webrtc项目是由Google收购的GIPS项目和libjingle项目融合而成。其中GIPS 部分主要提供媒体的转载 2016-02-19 11:48:04 · 1039 阅读 · 0 评论