WebRTC开发者社区为开发者提供最新最全的WebRTC资料
目录
  • 首页
  • WebRTC概念与基础
  • WebRTC项目与应用
  • WebRTC教程资料
  • WebRTC开发资源
  • WebRTC源码分析
  • WebRTC服务端开发
  • WebRTC网络与通信
  • WebRTC编码与解码
  • WebRTC问题与缺陷
  • WebRTC-Androd端开发
  • WebRTC-RFC文档

WebRTC 连接Linux端和Android端

2019-12-05 10:44:47

跨平台连接

WebRTC的通常连接流程:
http://blog.csdn.net/qq_21358401/article/details/79190561
WebRTC SDP协议:
http://blog.csdn.net/qq_21358401/article/details/79341031

连接不同平台的PeerConnection的流程和通常流程没有什么区别.
但很容易遇到这些一个问题:
1. 不支持的音视频编解码器
   WebRTC报错: failed to set video send codecs
   意为不支持收到的SDP里声明的某个视频编码
   我在连接linux和android端时 就出现了android端不支持97和98(编码协议的RTP序号)
   所以需要在设置local或remote的SDP前 修改sdp 去掉不支持的codec
2. 不支持的传输协议
   这个错误常见于和浏览器的peer连接
   浏览器通常不支持 UDP/TLS 这两个传输选项(firefox上发现问题)
   解决方法同样是修改SDP 去除不支持的传输协议
 

More...

使用WebRTC实现远程屏幕共享

2019-12-05 10:43:19

   正如我们上周报道的一样,最近有很多事情发生在我们熟知的WebRTC上。

        其中一个是:基于WebRTC的屏幕共享

        这是屏幕录像:youtube.com/watch?v=tD0QtBUZsF4。

        这是代码:github.com/samdutton/rtcshare。

        从本质上讲,我们使用RTCPeerConnection和chrome.tabCapture构建了一个实验性的Chrome扩展,以此通过浏览器标签来分享实时视频。如果你想尝试一下,你需要使用Chrome的Canary版本 ,并且在about:flags页面开启实验性扩展(Experimental Extension)的API。

        我们的原型很大程度上依赖于强大的apprtc.appspot.com演示,坦率地说,这有点像黑客行为。但是,这是一个概念的证明,并且我们做到了。

        下面是我们的实现方法:

 

More...

基于浏览器 webrtc的PC屏幕共享

2019-12-05 10:41:49
从官方介绍可知,webrtc不仅可提供以摄像头为源的视频通讯功能,也能进行主机的screensharing,但目前支持webrtc的浏览器,无法直接截取主机屏幕,故无法使用此功能,需要插件支持才能实现屏幕截取共享功能,这里就介绍如何使用chrome浏览器进行屏幕共享。

1,  首先支持webrtc的chrome浏览器需要扩展插件,chrome官方提供的插件由于里面配置信息问题,无法使用,可下载经修改后的插件安装包http://download.csdn.net/download/yunjinwang/10167051。可参考https://github.com/webrtc/samples/tree/gh-pages/src/content/extensions/desktopcapture;

2,  下载后,在chrome浏览器中加载此插件,“设置”->更多工具->扩展程序,在页面选中“开发者模式”,点击“加载已解压的扩展程序”,浏览到前面下载的插件解压后的目录最后一层desktopCapture_chrome_plugin,确定加载后就在“扩展程序”下面看到已加载screenCapturing插件,至此,插件安装完成;

More...

WEBRTC 接收H264 RTP数据流小结

2019-12-05 08:53:12

这篇文章是对webrtc 中,接收H264 RTP包的一个总结,主要分为两个部分:

第一部分,介绍H264打包成RTP包的规范,以及WEBRTC中目前正在使用的几种格式。
第二部分,介绍WEBRTC的数据流,从接收RTP包,到拼装成H264 Frame,最终送入Decoder,获取YUV数据。

 

More...

WebRTC之RTP包

2019-12-05 08:51:48

RTP固定头部

RTP的固定头部,详情可以阅读rfc文档5.1 RTP Fixed Header Fields

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X|  CC   |M|     PT      |       sequence number         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           timestamp                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           synchronization source (SSRC) identifier            |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|            contributing source (CSRC) identifiers             |
|                             ....                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 

More...

WebRTC:数据传输相关协议简介

2019-12-05 08:47:14

对网络协议来说,需要做的通常就两件事情:1、建立连接,2、传输数据,WebRTC也不例外。

假设WebRTC应用的两端已经建立了连接,那么,剩下就是如何传输数据的问题了。

WebRTC同时支持传输音视频数据、自定义应用数据。这其中,涉及多种协议,包括UDP、RTP/SRTP、RTCP/SRTCP、DTLS、SCTP。

这些协议名字比较相似,很容易让人混淆,简单总结下:

  1. 传输音视频数据相关协议:UDP、DTLS、RTP/SRTCP;
  2. 传输自定义应用数据相关协议:UDP、DTLS、SCTP;

下面就简单介绍下,这些协议是做什么的,有什么区别,存在什么联系。

加密信道建立:UDP、DTLS

对WebRTC应用来说,不管是音视频数据,还是自定义应用数据,都要求基于加密的信道进行传输。DTLS 有点类似 TLS,在UDP的基础上,实现信道的加密。

DTLS的主要用途,就是让通信双方协商密钥,用来对数据进行加解密。

  1. 通信双方:通过DTLS握手,协商生成一对密钥;
  2. 发送方:对数据进行加密;
  3. 发送方:通过UDP传输加密数据;
  4. 接收方:对加密数据进行解密;
 

More...

WebRTC教程—文件传输

2019-12-05 08:43:41

作者:deepstreamHub(原文链接)

翻译:刘通

原标题:WebRTC 06: File Transfer

上一篇:WebRTC教程—屏幕共享

WebRTC使得在两个浏览器间使用data-channels和二进制数据传输任意文件成为可能。

file1

(点击图片跳转到原文查看例子)

二进制数据在浏览器中是如何工作的

目前的这代浏览器允许你发送字节数组—有八个0或1组成的集合,可以代表0到255之间的任何数字。为了完成这些,我们提供了一系列的概念—Uint8Array来储存它们,FileReader来创建它们,Blob来组合它们。像Websocket和WebRTC这样的传输工具允许传输原始字节流。

为什么很重要

 

More...

通过WebRTC进行实时通信- 使用RTCDataChannel交换数据

2019-12-05 08:39:48
目录
  • 介绍
  • 概述
  • 获取样例代码
  • 从webcam获取视频流
  • 通过RTCPeerConnection传输视频
  • 使用RTCDataChannel交换数据

我们将学习

  • 如何在 WebRTC端点之间进行数据交换。
 

More...

深入理解WebRTC

2019-12-05 07:41:19
Web Real-Time Communication(Web实时通信,WebRTC)由一组标准、协议和JavaScript API组成,用于实现浏览器之间(端到端)的音频、视频及数据共享。

WebRTC使得实时通信变成一种标准功能,任何Web应用都无需借助第三方插件和专有软件,而是通过简单地JavaScript API即可完成。

在WebRTC中,有三个主要的知识点,理解了这三个知识点,也就理解了WebRTC的底层实现原理。这三个知识点分别是:

  • MediaStream:获取音频和视频流
  • RTCPeerConnection:音频和视频数据通信
  • RTCDataChannel:任意应用数据通信
 

More...

RTP格式解析

2019-12-05 03:38:37

实时传送协议(Real-time Transport Protocol或简写RTP,也可以写成RTTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。

RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTCP协议或者RTSP协议)。因为RTP自身具有Time stamp所以在ffmpeg 中被用做一种formate.

RTP协议格式:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|X|  CC   |M|     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           synchronization source (SSRC) identifier            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |            contributing source (CSRC) identifiers             |
   |                             ....                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
上图引自rfc3550,由上图中可知道RTP报文由两个部分构成--RTP报头和RTP的负载:
 

More...

last
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
next
  • 分类目录

    • WebRTC概念与基础 (228)
    • WebRTC项目与应用 (33)
    • WebRTC教程资料 (38)
    • WebRTC开发资源 (13)
    • WebRTC源码分析 (14)
    • WebRTC服务端开发 (23)
    • WebRTC网络与通信 (26)
    • WebRTC编码与解码 (15)
    • WebRTC问题与缺陷 (2)
    • WebRTC-Androd端开发 (2)
    • WebRTC-RFC文档 (1)
  • 最新文章

    • WebRTC研究:WebRTC M89关键更新
    • WebRTC Native 源码导读(十五):RTP H.264 封装与解封装
    • 提纲挈领webrtc之vad检测
    • Medooze RTP录制为MP4 源码解析 
    • audio语音相关的基础知识-VAD,ASR,AEC,AGC,BF等
    • 音视频相关的书籍,多媒体技术
    • SFU级联解决方案——Jitsi
    • SFU级联解决方案——Licode
    • Janus源码分析(6)——Streaming分析
    • janus Streaming插件推流指南
    • 流媒体服务器 
    • WebRTC+libwebsockets+Janus的秒开实践
    • 基于WebRTC的直播CDN
    • 不需要SFU实现WebRTC联播实践  
    • webrtc 开启Simulcast功能
    • Migrating your native/mobile application to Unified Plan/WebRTC 1.0 API
    • WebRTC源码分析rfc4588 RTP重传有效载荷格式
    • WebRTC网关服务器搭建:开源技术 vs 自行研发
    • WebRTC网关服务器搭建:开源技术 vs 自行研发
    • 自研WebRTC网关服务器架构的实践之路
    • WEBRTC三种类型(Mesh、MCU 和 SFU)的多方通信架构  
    • janus的videoroom插件
    • WebRTC+libwebsockets+Janus的秒开实践
    • Janus源码分析(7)——videoroom分析
    • Janus源码分析(5)——echotest分析
    • Janus源码分析(4)——信令交互过程
    • WebRTC+libwebsockets+Janus的秒开实践
    • 前向纠错码(FEC)的RTP荷载格式
    • WebRTC 开发实践:从一对一通话到多人会议
    • Distord如何使用WebRTC处理250万用户同时进行的音频交流
  • 链接

    • WebRTC官网
    • xSky 实验室
    • 树莓派技术圈
    • 声网 Agora
    • WebRTC中文网
    • web性能权威指南
    • WebRTC官网
    • webrtc在线源码
    • webrtc在线源码
    • webrtc
    • webrtc示例
    • LiveVideoStack
    • 雷霄骅(leixiaohua1020)的专栏
  • 开源项目


Powered By xblog Copyright 0xsky.com All Rights Reserved.

Copyright WebRTC.ren All Rights Reserved.