![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
webrtc
wx--g632637774
这个作者很懒,什么都没留下…
展开
-
RTC(实时通信)的延时
这里要讲的是实时通信技术在直播场景下的应用。那么从主播到用户到底延时是多少,都消耗在哪里了?我们先把它叫做端到端延时。端到端延时端到端延时=上传端内部延时+网络传输延时+播放端内部延时端到端延时=上传端内部延时+网络传输延时+播放端内部延时端到端延时=上传端内部延时+网络传输延时+播放端内部延时我们这里端到端延时,记为T总T_总T总上传端内部延时,记为T上传T_{上传}T上传网...原创 2019-03-15 16:02:58 · 1834 阅读 · 0 评论 -
RTCP协议详解:sr包(非第一个sr包)
rtcp解析:sr包(非第一个sr包)rfc官方文档地址:https://tools.ietf.org/html/rfc3550#section-6.4.1说明:视频(h264)的sr包抓包时长约10秒钟80版本是2没有填充没有report blockc8200 说明是sr包00 06rtcp payload长度 (6+1)*4 = 27字节5a ...原创 2019-04-15 16:07:25 · 1535 阅读 · 0 评论 -
RTCP协议详解:rr包(非第一个rr包)
rtcp格式解析:rr包(非第一个rr包)rfc 标准文档:https://tools.ietf.org/html/rfc3550#section-6.4.2说明:这是一个线上的抓包视频(h264)的rr包抓包时长大约10秒钟每秒一个rr包(应该是由于每秒收到一个sr包,然后再发送rr包)疑问:last sr 和 delay since last sr timestamp还是...原创 2019-04-15 15:45:04 · 1208 阅读 · 1 评论 -
RTCP协议详解:rr包(第一个rr包)
rtcp格式解析:rr包rfc标准文档:https://tools.ietf.org/html/rfc3550#section-6.4.2这是线上的抓包,和rtcp格式解析:sr包对应的rr包,所以肯定是音频的rr包,这里的音频是aac编码。完整的rr包如下...原创 2019-04-15 12:01:00 · 3343 阅读 · 0 评论 -
RTCP协议详解:sr包(第一个sr包)
rtcp格式解析:sr包rfc标准文档: 参考 https://tools.ietf.org/html/rfc3550#section-6.4.1这是线上的一个抓包:完整的sr包如下80 c8 00 06 37 51 c9 35 e0 5a be de 4c b8 06 6c00 00 01 20 00 00 00 01 00 00 00 b780 ...原创 2019-04-15 09:28:34 · 2706 阅读 · 3 评论 -
WebRTC日志
日志文件主要是在rtc_base/logging.h和rtc_base/logging.cc文件里。webrtc有两种日志格式#define RTC_LOG(sev) RTC_LOG_FILE_LINE(rtc::sev, __FILE__, __LINE__)// The _V version is for when a variable is passed in.#def...原创 2019-09-04 09:45:48 · 2394 阅读 · 0 评论 -
WebRTC之CreateOffer调用关系
原创 2019-07-25 22:08:47 · 1170 阅读 · 0 评论 -
WebRTC中SDP的setup:actpass、active、passive
a=setup 主要是表示dtls的协商过程中角色的问题,谁是客户端,谁是服务器a=setup:actpass 既可以是客户端,也可以是服务器a=setup:active 客户端a=setup:passive 服务器由客户端先发起client hello参考地址:https://webrtc.org.cn/sdp-2/其主要内容如下:用一个真实的例子解释为什么这很烦...原创 2019-06-13 16:22:59 · 4863 阅读 · 2 评论 -
WebRTC之DTLS
概述DTLS是Datagram Transport Layer Security的缩写DTLS为UDP协议定制的TLS协议DTLS是用来加密内容的WebRTC使用DTLS来交换SRTP的密钥rfc文档:https://tools.ietf.org/html/rfc4347握手一次完整的握手rfc:https://tools.ietf.org/html/rfc4347#secti...原创 2019-06-08 23:11:50 · 3192 阅读 · 0 评论 -
webrtc学习:vad (voice activity detection)
环境我的是master分支git logcommit 9a27c2fc7a2eb068eb06fad2e991039e2fceb960 (HEAD -> master)Author: Artem Titarenko <artit@webrtc.org>Date: Thu Jan 31 10:20:00 2019 +0100 Make interna...原创 2019-02-28 16:13:49 · 1365 阅读 · 0 评论 -
janus(webrtc server)源码分析二:config和log
配置文件解析和日志初始化流程。原创 2019-02-03 14:25:34 · 684 阅读 · 0 评论 -
janus(webrtc server)源码分析一:解析命令行参数
janus的main函数在janus.c文件里面,从这里开始一点一点分析。原创 2019-02-03 11:00:53 · 961 阅读 · 0 评论 -
janus (WebRTC server) 在mac下调试
下载源码,编译等参考https://blog.csdn.net/glw0223/article/details/86736505安装clion略新建工程Location指向下载等源码位置增加一个CmakeLists.txtcmake_minimum_required(VERSION 3.6)project(janus)message(${janus_SO...原创 2019-02-02 14:55:14 · 890 阅读 · 0 评论 -
janus(WebRTC server)在mac上的使用
安装依赖brew install jansson libnice openssl srtp libusrsctp libmicrohttpd libwebsockets cmake rabbitmq-c sofia-sip opus libogg curl glib pkg-config gengetopt autoconf automake libtool libconfig下载源码...原创 2019-02-01 11:37:18 · 1485 阅读 · 0 评论 -
janus(webrtc server) 在阿里云centos7.4上的使用
参考https://blog.csdn.net/u012231640/article/details/83618274#Webrtc_Server_289机器[root@xxxxxx ~]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)执行脚本#!/bin/shyum install -y epe...原创 2019-02-01 09:55:16 · 2393 阅读 · 0 评论 -
Webrtc中ICE之SendStunBindingRequest
void UDPPort::SendStunBindingRequest(const rtc::SocketAddress& stun_addr) { if (stun_addr.IsUnresolvedIP()) { ResolveStunAddress(stun_addr); } else if (socket_->GetState() == rtc::Asyn...原创 2019-06-08 02:03:23 · 1655 阅读 · 0 评论 -
ICE之STUN协议---Binding
这是一个Chrome浏览器和licode的实时通信的抓包。过滤stun协议如下:分析几个问题:chrome一直在发Binding Request包,而且licode也会回复Binding Success ResponseChrome的username是QyXk:c908,而licode的username是c908:QyXklicode发了两次Binding Indication地址映...原创 2019-06-01 22:59:07 · 1596 阅读 · 0 评论 -
ICE之STUN协议---Binding Success Response
文档目录ICE之STUN协议—Binding RequestICE之STUN协议—Binding Success Response原创 2019-06-01 16:45:10 · 1374 阅读 · 0 评论 -
ICE之STUN协议---Binding Request
参考文档ice : https://tools.ietf.org/html/rfc5245stun3489 : https://tools.ietf.org/html/rfc3489stun5389(从3489演变来的) : https://tools.ietf.org/html/rfc5389stun协议使用https://tools.ietf.org/html/rfc5389#...原创 2019-06-01 13:28:49 · 5151 阅读 · 0 评论 -
webrtc在浏览器上的调试
chrome浏览器:输入chrome://webrtc-internalsfirefox浏览器:输入about:webrtc原创 2019-02-02 09:38:25 · 2357 阅读 · 1 评论 -
macOS下webrtc 编译错误:accept the license agreement, and run `sudo xcode-select -s /path/to/Xcode
在macos上编译webrtc遇到的问题ERROR at //build/config/mac/mac_sdk.gni:68:5: Script returned non-zero exit code. exec_script("//build/mac/find_sdk.py", find_sdk_args, "list lines") ^----------Current d...原创 2019-05-31 15:21:37 · 1819 阅读 · 0 评论 -
WebRTC之每创建一个PeerConnection,都会创建两个线程
在RtpTransportControllerSend的构造函数中process_thread_(ProcessThread::Create("SendControllerThread")),在Call的构造函数中,module_process_thread_(ProcessThread::Create("ModuleProcessThread")),...原创 2019-06-28 10:20:53 · 1812 阅读 · 0 评论 -
WebRTC之PeerConnection的一些状态
class PeerConnectionInterface : public rtc::RefCountInterface { public: // See https://w3c.github.io/webrtc-pc/#dom-rtcsignalingstate enum SignalingState { kStable, kHaveLocalOffer, k...原创 2019-06-27 21:28:14 · 2383 阅读 · 0 评论 -
Webrtc AudioProcessing
Webrtc AudioProcessing地址下载地址 https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/当前版本release是0.3.1编译./configuremake --prefix=yourinstallpathmake install会在你的安装目录下,生成include和...原创 2019-03-12 11:54:18 · 1999 阅读 · 7 评论