自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 资源 (15)
  • 收藏
  • 关注

原创 WebRTC带宽评估 -- Transport-wide Congestion Control

S:1 bit, 0表示后面symbol list中用1 bit表示1个RTP包的状态(0没收到,1收到),所以1个chunk最多能描述14个RTP包的到达状态;1表示后面symbol list中用2 bit表示1个RTP包的状态(00没收到,01收到小delta,10收到大delta),所以1个chunk最多能描述7个RTP包的到达状态。T:1 bit,表示chunk type,此时为Status Vector Chunk,值为1。packet chunk:描述RTP包的到达状态(详见下文描述)

2023-07-20 18:17:09 370

原创 Mac/Windows平台下载编译Chromium

/out/Default/Chromium.app/Contents/MacOS/Chromium 这样一个可执行文件,直接命令行执行即可,就会打开你自己本地编译的Chromium了。>sudo ./Install\ Certificates.Command #进入目录后,可以ls一下,看一下都有哪些,找那个对的。设置xcode路径:sudo xcode-select -s /Users/yumlu/Downloads/Xcode.app。现在会在out目录下生成编译Chrome所需的一系列参数和配置。

2023-07-18 22:06:01 2158

原创 WebRTC源码分析 - receiver and decoder

的 ReceiveStatisticsProxy::OnCompleteFrame。otifyError就会进入error状态,一旦进入error状态,直接一直返回。H264DecoderImpl::Decode (FFmpeg解码)deocde失败:Failed to decode frame。OnInsertedPacket --- 组帧的结果到这里。解密失败:Failed to unprotect。传入到webrtc fallback模块)这中间少了frame。

2023-07-16 16:07:28 1299

原创 视频会议的几种通信架构

在带宽不好的情况下,可以只传输底层,即核心层,在带宽充足的情况下,可以将三层全部传输过去。SFU 根据接收端的情况,发现 PC2 网络状况不错,于是将 0、1、2 三层都发给 PC2;2.MCU:星形结构,Server接收每个共享端的音视频流,经过解码、与其他解码后的音视频进行混流、重新编码,之后再将混好的音视频流发送给会议中的所有人。1. Mesh:网状结构,会议中client两两相连,不需要Server, 缺点client上行带宽要求多,加会人数越多,client系统资源要求越高。

2023-07-16 14:38:32 796

原创 RTP及RTP Header Extension

padding (P):1 bit,如果设定 padding,在报文的末端就会包含一个或者多个 padding 字节,这不属于 payload。CSRC: 贡献信源,混合器接收到一个或者多个同步信源的RTP报文,经过混合器处理产生一个新的组合RTP报文,并把混合器作为组合报文的SSRC,而将原来的所有的SSRC都作为CSRC,发送给接收者,使接收者知道组成组合报文的各个SSRC。126表示视频H.264编码。SSRC:32 bits,同步信源,即产生媒体流的信源,随机值,一个会话中不能重复。

2023-07-14 14:39:19 283

原创 REMB-接收端最大接收码率评估

发送者不知道接收方的带宽情况,它需要有一个机制由接收方告诉它有多少带宽可供传输, 这样发送方可以根据这个估计的带宽来调整分辨率(90p, 180p, 360p, 720p等)和帧率(每秒24, 30, 40, 60帧等)abs_send_time 是一个以秒为单位的时间戳,总共 3 个字节(24 bit) , 格式为 6.18 (小数位固定为18位), 每 64s 会溢出环绕,分辨率为 3.8us。再结合接收端的接收的bitrate,来评估出接收的带宽。RTP sequence number 计算丢包。

2023-07-14 14:30:40 373

原创 RTCP/SRTCP介绍

length:16 bits,是该SR包以32比特为单位的总长度减一,包括头和 padding(减一是为了零长度有效和避免无限循环来寻找混合的 RTCP 报文,而 32-bit 字是避免对四的倍数的有效检查)。cumulative number of packets lost:24 bits,累计的包丢失数目,从开始接收到SSRC_n的包到发送SR,从SSRC_n传过来的RTP数据包的丢失总数。SSRC of sender(SSRC):32 bits,SR包发送者的同步源标识符。

2023-07-13 21:34:33 209

原创 Mac上命令

然后sudo pfctl -ef /etc/pf.conf。vim /etc/pf443.conf,如。

2023-08-01 22:18:41 691

原创 ELK + Fliebeat + Kafka日志系统

随着 Beats 收集的每秒数据量越来越大,Logstash 可能无法承载这么大量日志的处理。虽然说,可以增加 Logstash 节点数量,提高每秒数据的处理速度,但是仍需考虑可能 Elasticsearch 无法承载这么大量的日志的写入。,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。2、Logstash 从消息队列中,读取数据,写入 Elasticsearch 中。, 它们都是开源软件。

2023-07-29 20:09:23 1119

原创 WebRTC问题列表

绿屏:15052 - webrtc - Web-based real-time communication - Monorail携带rrid 较大的RTX包无法发出:10297 - webrtc - Web-based real-time communication - MonorailFirefox在video receive only的时候不能发出REMB:1832521 - REMB is not sent when send transceivers are deactivated

2023-07-23 14:43:05 601

原创 git配置

分支:git cherry-pick commidId (多个commit的话,按序多次执行该命令)编写commit的log:git commit -m "this is your log"git commit -m "提交的描述信息" : 将暂存区中的文件提交到本地仓库中。暂存未提交的代码:git stash save "test-cmd-stash"git查看配置:git config --global --list。修改commit log:git commit --amend。

2023-07-22 17:00:09 305 1

原创 SDP基础

m行的数字 9 代表该媒体类型的传输端口,在 RTC 场景中都是使用 ICE candidate 的地址信息进行数据传输,所以 M line 的 port 并没有用到。不过,在 SIP 的场景下,M line 的 port 就十分重要了,此时,port 代表 RTP 端口,而且必须是偶数。结合 SDP 会话级别描述中的 C line 中的 IP 地址,我们就可以知道 SIP 的这路媒体流的传输地址。有的时候 mid 属性值也可以用数字表示,比如 a=mid:0,那么 0 也是这个 M 描述的 ID。

2023-07-22 15:57:37 146

原创 视频参数简介

Delay 一般300--500ms,超过1500ms认为不好。人能感觉到轻微延迟,但不影响通信互动。人感觉不到视频在通信过程中的延迟。人能感觉到延迟而且影响通信互动。400 ~ 800毫秒。

2023-07-19 16:09:54 299

原创 VScode通过SSH访问远端

3. 进入配置文件~/.ssh/config,增加本地私钥路径/Users/yumlu/sshkey。ssh-copy-id -i sshkey.pub username@远端Ip。HostName 远端name。生成私钥 和 公钥,然后。命令自动拷贝到远程 ~

2023-07-19 15:56:26 400

原创 带参启动浏览器以及生成log

启动命令:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome。启动命令:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome。查看log在:/Users/yumlu/Library/Application\ Support/Google/Chrome/退出所有正在运行的 Chrome 实例。

2023-07-18 22:16:20 342

原创 STUN/TURN/ICE

Type:字为属性的类型。除非特殊指定,否则其出现的顺序是有意义的:即只有第一次出现的属性会被接收端解析,而其余的将被忽略。(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。重发同样的request请求时可以重用相同的Transaction ID,但是客户端进行新的传输时,必须选择一个新的Transaction ID。1)最高的2位必须置零,这可以在当STUN和其他协议复用端口的时候,用来区分STUN包和其他数据包。

2023-07-16 22:16:28 392

原创 WebRTC基础

3.通信由ClientA发起,所以ClientA调用PeerConnection的CreateOffer接口创建自己的SDP offer,ClientA通过PeerConnection的SetLocalDescription方法将该SDP对象保存起来,并把这个SDP Offer信息通过Signal Server通道中转发给ClientB;在交换sdp信息的同时,ice信息也在进行交换,通过交换ice信息,最终会选择一种合适的方式来建立连接(p2p或者基于turn服务器的延时转发通路)

2023-07-16 21:09:40 1270

原创 Linux命令

如:显示Linux ubuntu 4.15.0-192-generic #203-Ubuntu SMP Wed Aug 10 17:40:03 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux,说明Linux内核版本是4.15.0。查找大文件:find . -type f -size +800M。或者cat /etc/lsb-release。查看系统内核版本:uname -a。目前linux 内核最新版本6.4。

2023-07-16 14:56:29 271

原创 Linux配置samba共享

samba共享:vim /etc/samba/smb.conf 中添加[share] comment = share browseable = yes path = /home writeable = yes public = no hosts allow = 10.0.0.0/8 create mask=0644 directory mask=0755...

2021-06-01 15:43:20 99

原创 Eclipse使用

Eclipse自带Maven插件:m2eclipseEclipse打开Maven工程:File->Import->Maven->Existing Maven Projects点击右键->Maven->Update Project…跳转到函数定义:Ctrl+鼠标左键 或者 Ctrl + t返回上一处:Alt + ←Eclipse中代码自动对齐 格式化:Ctrl+Shift+F批量注释:Ctrl + Shift + /解除批...

2021-06-01 15:34:47 1069

原创 JAVA入门

1、JAVA中,所有的数值类型所占据的字节数量与平台无关。2、JAVA没有任何无符号类型(unsigned)3、整型值和布尔值之间不能相互转换4、JAVA中必须使用final定义常量,如final int THREAD_MAX = 1024; final还可以作用与方法、类,都表示“不可改”的意思。5、大数,java.math包中BigInteger、BigDecimal类6、static关键字与C++中类似,静态常量用的比较多,如:...

2021-06-01 15:33:32 66

原创 Kubernets入门

Kubernets API Servertt通过一个名为kube-apiserver的进程提供服务,该进程运行在Master节点上,默认本机的8080端口。通常可以用命令行工具kubectl来与Kubernets API Server交互,其实它们之间的是REST接口调用。 Kubernets结构图1)每个Node节点上的kubelet每隔一个时间周期,就会调一次API Server的REST接口报告自身状态,AP...

2020-07-21 16:04:34 126

原创 gcc/g++编译

gcc and g++分别是gnu的c & c++编译器gcc最基本的用法是:gcc [options] [filenames]其中,options就是编译器所需要的参数,filenames给出相关的文件名称,最常用的有以下参数:[参数详解]-c只编译,不链接成为可执行文件。编译器只是由输入的 .c 等源代码文件生成 .o 为后缀的目标文件,通常用于编译不包含主程序的子程序文件。源文档 <https://www.cnblogs.com/te...

2020-07-15 16:02:04 178

原创 操作系统

2020-07-10 17:02:59 95

原创 数据库

1、事务的4大特性:原子性、一致性、隔离型、持久性

2020-07-10 16:04:32 80

原创 DLL的两种加载方式——静态加载和动态加载

案例简述在某项目中,需要使用两个不同版本的HCNetSDK库,我们通常使用的静态加载DLL的方式不能满足该需求,故用到动态加载DLL的方式。背景技术及术语解释静态加载:也称隐式调用,指在运行程序之前由操作系统的加载器将DLL和EXE一起加载到内存里。注意这里与程序的静态链接区别开来,静态链接发生在编译过程之中,而DLL的静态加载是发生在程序运行之前。动态加载:也称显示调用,指应用程序运行过程中程序自己完成对DLL的加载和卸载(DLL加载—DLL函数地址获取—DLL释放),应用程序在执行过程...

2020-07-07 16:32:11 8428 1

原创 使用Gsoap封装webservice

下载gsoap 下载后进入到所下载文件夹的这个路径下./ gsoap/bin/win32,这里有两个.exe文件soapcpp2.exe和wsdl2h.exe,这两个文件很重要 在任意地方建一个文件夹,任意命名,如E:/GsoapCompile 进入到gsoap下载的文件夹,拷贝./ gsoap/bin/win32下的两个.exe文件(soapcpp2.exe,wsdl2h.exe)和./gsoap下的stdsoap2.cpp,stdsoap2.h,typemap.dat文件到E:/GsoapComp

2020-06-30 17:50:47 144

原创 C++ win32、win64、linux32、linux64中各数据类型占字节数

win32 编译器: win64 编译器: linux32: linux64: ...

2020-05-28 13:58:58 501

原创 设计模式

单例模式、工厂模式、建造者模式、观察者模式、适配器模式、桥接模式、命令模式、策略模式、迭代器模式、解释器模式1、单例模式 class Singleton { private: Singleton(); public: static Singleton * GetInstance() { static S...

2020-05-26 14:18:53 136

原创 Linux系统知识

1、Linux操作系统的组成:内核、shell、文件系统、应用程序。2、Linux内核的组成:内存管理、进程调度、进程间通信、虚拟文件系统、网络接口。3、指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合。而指令集的先进与否,也关系到CPU的性能发挥,它也是CPU性能体现的一个重要标志。常见的指令集有:x86、MIPS、Sparc、Alpha、ARM。...

2020-05-19 11:47:52 79

原创 Linux下GDB调试

1、启动:gdb 程序名2、设置断点:break 或者 b,如break 文件名:行号 查看断点:info break 删除断点:delete 断点号3、单步调试 继续运行到下一个断点:continue(简写c) 单步调试程序,当遇到函数调用时,也不进入此函数体,直接调用函数,不会进入到函数体内:next(简写n) 单步调试程序,当遇到调用用户自定义的函数,将进入到函数体中去运行:step(简写s)3、显示变量值...

2020-05-18 14:54:07 155

原创 RTSP over UDP与RTSP over TCP取流对比

本文详细介绍通过RTSP取流的过程,分析RTSP over UDP与RTSP over TCP在RTSP消息、媒体数据封装上的区别,并总结RTSP over UDP与RTSP over TCP的优缺点。 RTSP: Real Time Streaming Protocol,实时流协议,用于多媒体数据流的控制,如播放,暂停等。 RTP: Real-time Transport Protocol,实时传输协议,一般用于多媒体数据的传输。 R...

2020-05-13 10:46:54 6623 3

转载 CentOS下安装Code::Blocks_17.12

【转自:https://blog.csdn.net/ScnQuick/article/details/81941326】工具介绍目前最新版本 codeblocks_17.12.tar.xzhttp://www.codeblocks.org/downloads/source对应wxWidgets版本是wxWidgets-3.0.4(20MB)https://www.wxwidg...

2020-03-20 10:15:57 295

原创 CentOS系统安装配置

1、关闭防火墙 chkconfig iptables off 关闭selinux vi /etc/selinux/config 2、配置yum源 1)/etc/resolv.conf文件增加: nameserver 10.1.7.97 nameserver 10.1.7.98 2) curl -o /etc/yum.repos...

2020-03-04 23:12:42 187

转载 CentOS6 升级gcc版本以支持C++11

【转自:https://blog.csdn.net/weixin_38642130/article/details/86412609】解决问题在编译安装的时候碰到“configure: error: ***A compiler with support for c++11 language features is required.”是因为编译器版本不支持c++11,所以需要安装高版本gc...

2020-02-29 22:13:27 1135

原创 SIP协议

SIP:Session Initiation Protocol,会话初始化协议,是一个多媒体通信协议。它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。SIP协议的亮点却不在于它的强大,而是在于:简单!...

2020-01-06 19:35:55 120

原创 码流基础

负载类型(或载荷类型):视频、音频1、ES:Elementary Stream(基本码流),是由编码器输出的原始基础码流,它只含有解码器所必需的、并与原始图象或原始音频相接近的信息。由由压缩器输出的用于传送 单路视音频信号的原始码流。ES只包含一种内容的数据流,如只含视频或只含音频等。2、PES:Packetized Elementary Streams (分组的ES),ES形成的分...

2019-11-15 16:32:48 1355

原创 keepalived配置

global_defs { #全局定义快 router_id zhuji #MASTER和BACKUP不同}vrrp_script chk_health { #VRRP脚本声明 script "/etc/keepalived/chk_nc.s...

2019-09-26 11:33:25 107

原创 好用的工具

1、快速搜索、查找 Everything2、比较工具:Beyond Compare

2019-09-06 11:25:36 78

原创 远程调试

参考来自:https://blog.csdn.net/fm0517/article/details/50405206将本地刚编译好的程序和pdb文件复制到远程机子上启动准备调试(注意:目标机器上的程序必须和本地的程序是一致的,否则无法进行远程单步调试)开发环境在A主机上(有源码,已安装VS),运行环境在B主机上(无源码,未安装VS,只有可执行程序exe或dll,以及对应的pdb文件)。...

2019-09-06 11:25:12 157

Transport-wide Congestion Control测试抓包文件

Transport-wide Congestion Control测试抓包文件

2023-07-20

网络数据流量监测.zip

网络数据流量监测工具,包含DU Meter和BandwidthMonitor工具,监测网络上传和下载的流量,方便好用,推荐使用。

2020-07-15

Elecard StreamEye Tools-视频分析电子眼.zip

Elecard StreamEye Tools-视频分析电子眼,强大的视频分析功能,能够分析视频封装格式、帧分析等,无需安装,双击exe即可使用,推荐!

2020-07-15

SocketTool.zip

好用的网络测试工具,可以作为TCP/UDP的客户端、服务端进行测试,支持文本和十六进制数据发送和接收,非常好用,推荐!

2020-07-14

PMA模拟工具.zip

104/101/CDT/Modbus标准协议测试工具PMA,PMA通信协议分析工具,支持IEC104协议、101协议、Modbus协议、CDT规约,可以模拟从站和主站,解压运行exe即可使用

2020-06-30

本机环路抓包工具RawCap.zip

抓本机环路包,127.0.0.1传输的数据包,直接运行exe或者bat文件就可以开始抓包,抓完用wireshark查看和分析

2020-06-30

GTestDemo.zip

使用GTest做自动化测试、单元测试,示例程序,包含Gtest库和头文件,C++示例代码,VS可直接运行

2020-06-30

codeblocks_17.12.tar.xz+wxWidgets-3.0.4.tar.bz2源码.zip

codeblocks_17.12源码 linux C/C++ IDE 配合wxWidgets-3.0.4使用

2020-03-04

gcc-4.9.4源码.zip

linux下gcc-4.9.4 安装gcc所需要的所有文件,支持C++11 gcc4.9.4版本源码

2020-02-29

Elecard StreamEye Tools.zip

Elecard StreamEye Tools 视频码流分析工具 包含SAnalyzer.exe、VideoQE.exe、BAnalyzer.exe、eseye_u.exe、pyuv.exe

2019-12-18

WIN7_C盘_无损扩大.zip

windows 7 系统下,扩大C盘容量,不损坏数据,亲测有效 解决电脑C盘容量不够用的问题,C盘扩容,亲测有效

2019-12-18

OPC Server 模拟器

OPC服务端模拟工具,测试Demo,方便使用

2017-02-17

OPC Client 源码

实用的OPC Client源码,测试通过

2017-02-17

ACM算法模板(吉林大学)

ACM算法模板(吉林大学)

2016-11-10

浙江大学ACM模板(经典代码).pdf

浙江大学ACM模板(经典代码)

2016-11-10

jQuery官方包

官方jQuery文件,.js格式的,很好用,直接导入就可以了

2013-11-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除