https://github.com/webrtcHacks/adapter
WebRTC GItHUB
2019-11-27 11:55:58webrtc所有平台下载编译步骤详细说明
2019-12-06 13:47:201、安装depot tools
Windows:
国外下载:https://storage.googleapis.com/chrome-infra/depot_tools.zip
下载完把压缩包解压,然后把解压目录加入PATH环境变量
Linux(Android)/Mac(IOS):
安装git
国外:git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
国内:git clone https://source.codeaurora.org/quic/lc/chromium/tools/depot_tools
把depot_tools目录加入
PATH:export PATH=`pwd`/depot_tools:"$PATH"
无需翻墙的 WebRTC 源码下载
2019-12-06 13:48:05关于 WebRTC 的源码下载和 Demo 的编译运行,WebRTC 的官方文档已经有非常详细的说明。以 Linux 为例,过程大概是这样的:
- 下载并安装 depot_tools。这是 WebRTC 的代码下载及编译工具集,下载即是把源码 clone 下来,所谓安装只是把 depot_tools 的目录路径放进系统的环境变量 PATH 中即可。
-
准备目录
12$ mkdir webrtc$ cd webrtc -
下载代码
12$ fetch --nohooks webrtc$ gclient sync -
安装依赖。
-
编译运行。
安装依赖和编译运行具体可以参考 WebRTC 的官方文档。
WebRTC 开发(二)源码下载与编译
2019-12-06 13:56:17在使用任何工具之前,我们都有必要对工具做大概地的了解,做到粗犷但不失偏颇,这对我们选择工具和切入点是很关键的。本节的标题虽然是 WebRTC 源码下载与编译,但在这之前,我们有必要大概地了解 WebRTC,比如开发机构、免费性、支持的平台、功能亮点。
WebRTC 是一个免费开源的跨平台项目,由 Google,Mozilla,Opera 等支持,支持 Chrome,Firefox,Opera 以及 Android 和 iOS 平台,能够给浏览器、手机应用和物联网设备提供了实时互动能力。
WebRTC 是一组协议和 API。WebRTC 的起源可追溯到 2011年,经过六年多的时间的发展,在 2017年底 WebRTC 1.0 标准正式出炉。通过 WebRTC 的 Release Notes 可以看到现在最新的 release 版本是 M74 Release Noted。
2015年移动端直播的兴起,观众可以在手机端实时看主播的直播,但是观众与主播之间的沟通需要通过发弹幕来进行,这种交流的实时性较差,沟通不便利,观众参与感较差。2016年初移动端上出现了主播与观众之间可以通过实时视频聊天这种方式来沟通,即,视频连麦。那我们想实现这种视频连麦的功能该怎么做呢?
WebRTC 镜像源
2019-12-06 15:39:51WebRTC 镜像源
webrtc src
WebRTC - 编译以及运行 IOS 的 Demo
WebRTC iOS&OSX 库的编译
生成 WebRTC 的 DEMO 并运行
使用 xcode 来生成 webrtc 的 Demo
webrtc ios client 源码拉取和编译
webrtc 视频 jitterbuffer 原理机制 (描述版)
jitter buffer QoS 的解决方案
webrtc 中的码率控制
WebRTC 介绍
WebRTC 源码解读一
WebRTC 架构简介
C/C++ Linux 程序员必须了解的 10 个工具
C++ 设计一个类不能偷懒的地方
设计性能良好系统的指导思想
WebRTC 实时音视频技术的整体架构介绍
WebRTC 开发(二)源码下载与编译
Linux虚拟机编译webrtc
2019-12-10 08:11:441.Linux虚拟机
1G内存足够、100G硬盘空间、Nat模式网络连接
2.翻墙工具
网上一堆
3.教程
https://blog.csdn.net/ericbar/article/details/83114015(基本教程)
https://webrtc.org/native-code/android/#(官方教程-看一下就行)
WebRTC 源码国内镜像
2019-12-10 22:01:41项目起源
当需要下载 WebRTC 官方源码,编译需要的版本时,不仅需要下载很多相关依赖库,在目前的网络环境下,还可能会遇到下载缓慢,甚至下载失败的情况。更新一次 WebRTC,可能要用一周,甚至更久。更不要说,有些人可能都无法连接到 WebRTC 官方的服务器。
声网的 Web SDK 是基于 WebRTC 研发的,Web SDK 组的同事需要经常性地在本地部署和更新WebRTC,于是就是维护了这样一个镜像。现在,我们将它开放给社区的开发者们使用。
所以,在修改了几十个 WebRTC 官方下载脚本后,我们为国内的开发者们做了一份 WebRTC 镜像源。大家可以更快速地下载、编译 WebRTC,希望能让大家的开发变得更简单。
移植WEBRTC到ARM平台
2019-12-10 22:02:591、安装ninja
mkdir -p ~/ninja && cd ~/ninja
git clone https://github.com/martine/ninja
cd ninja
python ./bootstrap.py
2、安装depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=$PATH:/path/to/depot_tools
webrtc所有平台下载编译步骤详细说明
2019-12-11 03:16:241、安装depot tools
Windows:
国外下载:https://storage.googleapis.com/chrome-infra/depot_tools.zip
下载完把压缩包解压,然后把解压目录加入PATH环境变量
Linux(Android)/Mac(IOS):
安装git
国外:git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
国内:git clone https://source.codeaurora.org/quic/lc/chromium/tools/depot_tools
把depot_tools目录加入
PATH:export PATH=`pwd`/depot_tools:"$PATH"
Android IOS WebRTC 音视频开发总结
2019-12-17 12:33:10基于mediasoup的多方通话研究
2020-07-10 15:19:04基于mediasoup的多方通话研究(一)
mediasoup简介
mediasoup的特性
安装mediasoup-demo
本地运行Demo
server的配置文件
mediasoup的原理
扩展与展望
总结
mediasoup简介
janus的videoroom插件
2020-07-21 01:13:45在Janus的众多插件中,大家最感兴趣的恐怕就是VideoRoom
插件了。因为它实现的是一个音视频会议的场景,这正是大多数同学所需要的。而且在Janus众多的插件中VideoRoom
应该也是最复杂的一个,如果你们撑握了它,再去看其它插件的实现就容易多了。
在VideoRoom
中,包括了很多API,这些API是我们打开VideoRoom
的一把钥匙,所以本文的重点就是讲解这些API。我相信当你把这些API都撑握之后,再去看VideoRoom
插件的代码时就会更加游刃有余了。
VideoRoom插件
VideoRoom
是Janus的一个插件,实现了一个SFU(Selective Forwarding Unit)型的音视频会议。如果你从数据转发的角度看,也可以把它认为是一个音视频路由器
。
VideoRoom
实现的音视频会议是基于发布/订阅
模式。每个参与方
都可以发布自己的实时音视频流,因此它可以实现几种不同的场景,比如泛娱乐化直播或多人的实时互动产品(如音视频会议、在线教育小班课等)。
考虑到此插件允许一个参与方
可以打开多个WebRTC PeerConnection
(如每个参与方
可以有1个用于推流的PeerConnection
和N个拉流的PeerConnection
),所以每个参与方
需要为订阅不同的流attach
到VideoRoom
插件几次(每attach
一次就会生成一个Handle
,每个Handle
就是一个上下文)。
因此,对于每个参与方
至少要有一个Handle
用于管理与插件的关系(如加入一个房间,离开一个房间,静音/取消静音,发布,接收事件)。
每当参与方
需要订阅另一个参与方发布的音视频流时,它需要创建一个新的Handle
。新创建的Handle
在逻辑上属于“从”Handle
,它不能像“主”Handle
一样可以做取消房间静音这样的操作。因此,从Handle
唯一目的是提供一个上下文,在该上下文中创建一个recvonly
类型的PeerConnection
来订阅发布者的音视频流。
通过上面的描述我们可以知道,主Handle用于管理,而从Handle用于订阅音视频流。
webrtc 开启Simulcast功能
2020-08-03 00:59:24webrtc自带了Simulcast功能,可以将一个分辨率的流编码成多个分辨率并发送,观看端可以根据带宽去动态的选择某个分辨率,也可以自己选择某个分辨率,据说在webrtc M70版本提供了对外的接口开启Simulcast,并 vp8,vp9,h264三种编码器都支持Simulcast功能,但是在M70版本以下并不支持h264编码器的Simulcast功能,如果在M70版本以下使用Simulcast功能,需要通过修改SDP来开启,话不多说,直接上代码: