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

webrtcH4cKS: ~ The Minimum Viable SDP

2019-12-05 10:53:49

One evening last week, I was nerd-sniped by a question Max Ogden asked:

maxodgen-tweet

That is quite an interesting question. I somewhat dislike using Session Description Protocol (SDP)  in the signaling protocol anyway and prefer nice JSON objects for the API and ugly XML blobs on the wire to the ugly SDP blobs used by the WebRTC API.

The question is really about the minimum amount of information that needs to be exchanged for a WebRTC connection to succeed.

 WebRTC uses ICE and DTLS to establish a secure connection between peers. This mandates two constraints:

  1. Both sides of the connection need to send stuff to each other
  2. You need at minimum to exchange ice-ufrag, ice-pwd, DTLS fingerprints and candidate information
 

More...

AndroidRTC & ProjectRTC 实现分析(一)

2019-12-05 10:52:22
 AndroidRTC & ProjectRTC
Android是webRTC的一个开源实现,利用webRTC实现了RTC通话的功能
git仓库地址为 https://github.com/pchab/AndroidRTC
AndroidRTC是android client的实现 要运行这个项目 还需要ProjectRTC来交换信令 
ProjectRTC的仓库地址为 https://github.com/pchab/ProjectRTC

大致的工作原理:
AndroidRTC作为client端 ProjectRTC作为server端
clients首先通过server交换信令 
交换信令后,client分别创建PeerConnection开始connection
 

More...

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...

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
41
42
43
44
45
46
47
next
  • 分类目录

    • WebRTC概念与基础 (252)
    • WebRTC项目与应用 (33)
    • WebRTC教程资料 (38)
    • WebRTC开发资源 (13)
    • WebRTC源码分析 (19)
    • WebRTC服务端开发 (27)
    • WebRTC网络与通信 (43)
    • WebRTC编码与解码 (15)
    • WebRTC问题与缺陷 (2)
    • WebRTC-Androd端开发 (2)
    • WebRTC-RFC文档 (1)
    • WebRTC音频处理 (6)
    • WebRTC-Mediasoup (2)
    • FFMpeg音视频处理 (3)
    • H264编解码基础 (10)
    • openCV相关 (1)
  • 最新文章

    • TensorFlow 中的通信机制 ——Rendezvous(二)gRPC 传输
    • 详解|SRT编码器中Rendezvous模式详解
    • 完整SIP/SDP媒体协商概论-ICE初始offer发送详解
    • 完整SIP/SDP媒体协商概论-ICE初始offer发送详解
    • WebRTC - ICE 过程简述
    • Webrtc delay-base-bwe代码分析(2): InterArrival模块
    • 从janus中学习webrtc的ice简单交换过程
    • WebRTC PeerConnection 建立连接过程介绍
    • P2P技术详解(三):P2P技术之STUN、TURN、ICE详解(转载)
    • WebRTC ICE 状态与提名处理
    • licode服务端总结
    • libnice调用流程分析
    • libnice调用流程分析
    • licode 学习总结
    • Licode—基于webrtc的SFU/MCU实现
    • ncnn_example
    • opencv-rtsp运动检测
    • WebRTC 基于GCC的拥塞控制(上)
    • WebRTC 基于GCC的拥塞控制(下)
    • LearningWebRTC: 拥塞控制LearningWebRTC: 拥塞控制
    • WebRTC入门(三)---- 目录结构
    • WebRTC之带宽控制部分学习(1) ------基本demo的介绍
    • webrtc视频流程
    • webrtc nack实现原理
    • webrtc QOS方法一(NACK实现)
    • webrtc源码之nack&&rtx详解
    • webrtc的rtp重传代码分析
    • webrtc QOS方法一(NACK实现)
    • WebRTC基于TransportCC和Trendline Filter的发送端码率估计(Sendside-BWE)
    • WebRTC中丢包重传NACK实现分析
  • 链接

    • 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.