WebRTC学习—WebRTC详解

WebRTC简介及实战应用 — 从0到1实现实时音视频聊天等功能 简单来说,RTCDataChannel 就是在点对点连接中建立一个双向的数据通道,从而获得文本、文件等数据的点对点传输能力。它依赖于流控制传输协议(SCTP),SCTP 是一种传输协议,类似于 TCP UDP,可以直接在 IP 协议之上运行。但是,在 WebRTC 的情况下,SCTP 通过安全的 DTLS 隧道进行隧道传输,该隧道本身在 UDP 之上运行。另外总的来说 RTCDataChannel WebSocket 很像,只不过 WebSocket 不是 P2P 连接,需要服务器做中转。 阅读详情

目录

一:WebRTC学习了解
  (一)WebRTC应用场景
  (二)WebRTC的难点
  (三)学习流程
  (四)学习目标
二:WebRTC介绍
  (一)概述
  (二)WebRTC可以实现的功能
  (三)WebRTC学习内容
三:WebRTC原理与架构
  (一)核心层解析
  (二)引擎层:音频引擎、视频引擎、传输模块
补充:虽然UDP很适合实时通讯,但是也有需要使用TCP的场景
四:WebRTC目录结构
  (一)主目录结构
  (二)WebRTC Module目录
五:WebRTC运行机制
  (一)轨与流(流包含多个轨)
  (二)WebRTC的重要类
  (三)PeerConnection调用过程
  (四)调用时序图

六:音视频流媒体服务器学习路线总结

        (一)学习路线思维导图

        (二)视频学习资料

WebRTC原理相关视频讲解:

WebRTC音视频开发原理到实践:WebRTC音视频开发原理到实践

音视频流媒体服务器高级开发:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发

一:WebRTC学习了解

(一)WebRTC应用场景

 

WebRTC的愿景就是各浏览器之间可以快速开发可以实时互动的音视频的应用场景!!!

 

将WebRTC加入浏览器,使得浏览器的功能更加强大。WebRTC(Web Real-Time Communication)项目的最终目的主要是让Web开发者能够基于浏览器(Chrome\FireFox\...)轻易快捷开发出丰富的实时多媒体应用,而无需下载安装任何插件,Web开发者也无需关注多媒体的数字信号处理过程,只需编写简单的Javascript程序即可实现,W3C等组织正在制定Javascript 标准API,目前是WebRTC 1.0版本,Draft状态;另外WebRTC还希望能够建立一个多互联网浏览器间健壮的实时通信的平台,形成开发者与浏览器厂商良好的生态环境。同时,Google也希望和致力于让WebRTC的技术成为HTML5标准之一,可见Google布局之深远。

(二)WebRTC的难点

1.过多的协议,WebRTC太庞大、烦杂,门槛高
2.客户端与服务端分离,WebRTC只有客户端,没有服务端,需要自己根据业务实现
3.相关资料少
4.网上代码错误太多 

(三)学习流程

 

(四

WebRTC → 传输技术解析 SCTP(Stream Control Transmission Protocol)流控制传输协议,STCP依赖DTLS建立的加密信道,对于自定义应用数据的发送,流程如下通信双方:通过DTLS握手,协商生成一对密钥数据发送方:将自定义应用数据,通过密钥进行加密,生成SCTP包数据发送方:通过UDP传输SCTP包RTP(Real-time Transport Protocol,实时传输协议),通过IP网络实时传输音频视频。RTP常用于流媒体服务的通信系统,如电话会议、视频会议、电话服务等; 阅读详情

相关推荐

WebRTC 简介

引言 最近一段时间的主要工作内容是开发一个远程控制手机的功能,其中使用到的一个关键技术就是WebRTC,在此准备分享一下我对这个技术的理解。其他 WebRTC 相关文章均收录于 <WebRTC系列文章>。 什么是WebRTC WebRTC是一个由Google发起的实时通讯解决方案,其中包含视频音频采集,编解码,数据传输,音视频展示等功能,我们可以通过技术快速地构建出一个音视频通讯应用。 虽然其名为WebRTC,但是实际上它不光支持Web之间的音视频通讯,还支持Android以及IOS端,此外由

贝克街的流浪猫 2049

WebRTC简介及使用

WebRTC 只是一个媒体引擎,上面有一个 JavaScript API,所以每个人都知道如何使用它(尽管浏览器实现仍然各不相同),本文对 WebRTC(网页实时通信)的相关内容进行简要介绍。WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音通话或视频聊天的技术,是谷歌 2010 年以 6820 万美元收购 Global IP Solutions 公司而获得的一项技术。WebRTC 提供了实时音视频的核心技术。

明天你好的博客 3万+

WebRTC学习进阶之路 --- 七、WebRTC核心之SDP详解、媒体协商

WebRTC学习进阶之路系列目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274 一、什么是SDP SDP(Session Description Protocol)描述会话协议,它只是一种信息格式的描述标准,本身不属于传输协议,但是可以被其他传输协议用来交换必要的信息,用于两个会话实体之间的媒体协商。...

SmallBottle-CGWLMX的博客 6226

webrtc入门与实战视频教程

webrtc入门与实战视频培训课程是通过作者多年经验总结出的一套webrtc入门教程,学完此课程,你能搭建出一套android互通或者web互通或者android对web互通的webrtc服务器,此课程由浅入深讲解了从编译到完整搭建一套webrtc demo,包括apprtc房间服务、collider信令服务、coturn穿透服务,即便你没有linux基础也能搭建,让你轻轻松松入门。

WebRTC学习七:WebRTC 中 STUN 协议详解

最近在看zlmediakit源码,发现webrtc部分涉及到STUNDTLS协议,为了更方便的看懂这部分代码,网上查了下STUN协议DTLS协议,将STUN协议部分先做个记录,后面结合代码如果有更深入的理解,再来更新其中的内容。

wel_006的博客 2079

WebRTC学习进阶之路 --- 十四、源码分析之WebRTC中的线程详解-ThreadManager&Thread

WebRTC学习进阶之路系列目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274 前言 WebRTC源码中的很多注释是很赞的,看源码的时候多加阅读注释有助于更好的理解。 WebRTC实现了跨平台(Windows,MacOS,Linux,IOS,Android)的线程类rtc::Thread,WebRTC内部的netwo...

SmallBottle-CGWLMX的博客 3881

WebRTC学习进阶之路 --- 十五、源码分析之WebRTC中的线程详解-MessageQueueManager&MessageQueue&Message&MessageHandler

WebRTC学习进阶之路系列目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274 本文将介绍消息的管理类(MessageQueueManager)、消息循环中的消息(Message)、消息中的数据(MessageData)、消息队列(MessageQueue)以及处理消息的Handler(MessageHandler)的...

SmallBottle-CGWLMX的博客 1465

WebRTC学习进阶之路 --- 三、WebRTC网络知识详解(一)(P2P/STUN/TURN/ICE)

WebRTC学习进阶之路系列目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274 在介绍这些基本知识之前我们要清楚WebRTC的目的以及根本要解决的问题是什么。WebRTC首要要解决的问题是两个浏览器之间如何进行音视频的实时互动,对于底层来说就是两个端点之间如何进行高效的网络传输。下边我们来一项一项的详细介绍这些内容。 ...

SmallBottle-CGWLMX的博客 3402

WebRTC学习进阶之路 --- 二、网络编程基础、TCP/IP详解

WebRTC学习进阶之路系列目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274 一、网络协议 网络协议指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合。 对等实体通常是指计算机网络体系结构中处于相同层次的信息单元。一般系统网络协议包括五个部分:通信环境,传输服务...

SmallBottle-CGWLMX的博客 1857

WebRTC学习进阶之路 --- 十七、源码分析之WebRTC的数据流水线详解&模块机制核心ProcessThread与ProcessThreadImpl

WebRTC学习进阶之路系列目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274 对于实时音视频应用来讲,媒体数据从采集到渲染,在数据流水线上依次完成一系列处理。流水线由不同的功能模块组成,彼此分工协作:数据采集模块负责从摄像头/麦克风采集音视频数据,编解码模块负责对数据进行编解码,RTP模块负责数据打包解包。数据流水...

SmallBottle-CGWLMX的博客 1717

c 开发android ios实例,关于学习Android/iOS WebRTC音视频开发的hurtc使用详解

学习Android/iOS WebRTC 音视频开发之前先来了解一下WebRTC的相关内容,Web开发者可以基于集成WebRTC的浏览器提供的web API开发基于视频、音频的实时通信应用,WebRTC实现了基于网页的视频会议,标准是WHATWG 协议,目的是通过浏览器提供简单的javascript就可以达到实时通讯(Real-Time Communications (RTC))能力,而且WebR...

weixin_36194553的博客 191

WebRTC技术详解

随着4G的普及5G技术的应用,实时音视频技术正在蓬勃发展。实时通信技术已经渗透到各行各业,支撑着人们的日常生活。在互联网领域,花椒、映客等直播平台吸引了大量的用户;在教育领域,通过实时直...

华章IT官方博客 8471

WebRTC解析

首选场景:需要浏览器免插件、超低延迟、强加密的实时交互万级并发直播(需结合 CDN 架构)纯音频广播(HLS 更经济)快速开发:Agora/Sendbird自主可控:Mediasoup/Jitsi移动端:Pion/Flutter-WebRTC通过合理架构设计(如 SFU/MCU 模式选择),WebRTC 可支撑从 1v1 通话到万人直播的全场景需求,是下一代实时通信系统的基石技术。

qq_25218777的博客 3374

什么是WebRTC基础快速入门:架构分析、基本概念、连接流程

WebRTC(Web Real-Time Communication)是一个用于浏览器移动应用程序的技术,允许在不使用插件的情况下实现点对点的音视频通信数据共享。WebRTC 是一个复杂的技术栈,涉及多个概念,如RTCPeerConnection、Stream、Track、Channel、ICE等概念。以下将对WebRTC的架构、关键概念及连接建立流程进行介绍。

weixin_46056189的博客 8387

一文带你了解webrtc基本原理(动手实现1v1视频通话)

webrtc (Web Real-Time Communications) 是一个实时通讯技术,也是实时音视频技术的标准框架。大白话讲,webrtc是一个集大成的实时音视频技术集,包含了各种客户端api、音视频编/解码lib、流媒体传输协议、回声消除、安全传输等。对于开发者来说可以借助webrtc非常方便的实现低延时视频通话能力。现在主流的直播系统、会议系统基本都是基于webrtc来实现。...

王清培的个人博客 5789

深入理解WebRTC:实时通信技术与应用开发教程

WebRTC(Web Real-Time Communication)是一项实时通信技术,允许网络应用或站点,在不需要中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流、音频流普通数据的传输。WebRTC的核心价值在于其能够提供即时且无需插件的通信体验,从而提高用户在网页应用中的互动性参与感。WebRTC API 是一系列允许浏览器间实时通信(RTC)的接口协议。

weixin_27645199的博客 1255
上一篇: 图解 epoll 是如何工作的及epoll实现原理
下一篇: TCP/IP协议栈在Linux内核中的运行时序分析
Linux服务器开发
博客等级 码龄7年 609粉丝 589原创
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值