- 博客(17)
- 收藏
- 关注
原创 mediasoup源码分析之-丢包重传
丢包重传就是在客户端没有收到服务端发送的数据情况下,服务端重新发送数据。ACK和NACK是两种选择机制,mediasoup里采用的是nack机制,客户端在没有接收到某个包时,主动通过RTCP消息告知服务端,哪个包丢失了,服务端收到该消息后重传对应的包。关于RTCP携带NACK的消息,RFC4585有详细描述,FMT=1,PT=205 0 1 2 3 0 1 2 3 4 5 6 7 8 9
2021-08-19 20:23:22
529
原创 mediasoup源码分析之-rtpParameters
rtpparameter包含了音视频的基本信息,拥塞控制方式以及重传方式约定。consumer和producer需要依据该参数来进行初始化rtp会话。音频相对比较简单,采用的适合低延迟语音通话的opus编码,在辅助以FEC扛丢包。下面重点说一下视频流相关的rtp parameter。Producer video rtpparameters{ "codecs": [ { "clockRate": 90000, "mimeType": "video/VP8", "parameters.
2021-07-30 16:30:03
779
原创 mediasoup源码分析之-网络基础库libuv
开源的网络事件库有很多种,大家最熟悉的莫过于集成在nginx里的event模块,很灵巧也很好的支撑了nginx的高性能服务。但是分析源码后,大家其实都比较类似,底层采用epoll机制探测事件,从而驱动上层业务运行。libuv也是一个开源的网络事件库,它的设计也比较巧妙,很轻量级。mediasoup中,libuv使用由以下两个函数启动,ClassInit负责生成uv_loop_t对象,并初始化相关对象,类似nginx的ngx_worker_process_cycle,RunLoop调用uv_run,启动循
2021-07-13 11:34:28
445
原创 mediasoup-demo编译安装
安装node 下载mediasoup-demo# git clone https://github.com/versatica/mediasoup-demo.git# cd mediasoup-demo# git checkout v3安装# cd mediasoup-demo/server# npm install --unsafe-perm 可能遇到的问题解决1. 如果执行npm install 时,不带参数“--unsafe-perm”时,会有如下错误gyp WA.
2021-02-25 15:06:36
807
原创 pion:rtc-to-webrtc示例
1. 下载example-webrtc-applications# go getgithub.com/pion/example-webrtc-applications# go build#./examples.exe -address=:882. 下载rtc-to-webrtc# go get github.com/pion/webrtc/v3/examples/rtp-to-webrtc# go build3. 打开example-webrtc页面,获取http://l..
2020-12-14 18:50:03
2206
原创 nginx集成quiche编译及问题解决
1. 环境准备quiche编译需要用到cargo,提前准备好#curl https://sh.rustup.rs -sSf | sh# source $HOME/.cargo/env2. 下载nginx# wgethttps://nginx.org/download/nginx-1.16.1.tar.gz#git clone --recursive https://github.com/cloudflare/quiche# cd nginx-1.16.1#patch ...
2020-09-10 17:45:55
1335
原创 使用google的openssl库编译nginx quic
1. 下载nginx quic版本wgethttps://hg.nginx.org/nginx-quic/archive/quic.zip获取quic版本更新可以跟踪https://quic.nginx.org2. 下载boringssl由于nginx quic版本使用了新的tls1.3协议,需要openssl支持quic,但目前的openssl版本没有对应的支持,这里使用google的boringssl。git clonehttps://github.com/google/bori..
2020-06-26 09:28:01
1859
原创 bitcoin:基于testnet的第一笔转账
1. 调用listunspent查询uxto[root@ip-10-0-1-161 bitcoin-0.16.2]# ./bin/bitcoin-cli -rpcport=18332 -rpcuser=cynic -rpcpassword=test123 listunspent 0 1000000 '["2MuXaNQFQTb92CzvzMDFG9iKcJaX2SXKVwy", "2Mv2W...
2018-08-27 15:23:04
1235
转载 gcc版本升级
https://blog.youkuaiyun.com/terminatorsong/article/details/74089911 如果使用的CentOS6.10,需要看一下gcc –version,如果版本比较低,如4.4这样的版本,是不支持C++11标准,会在bitcoin的make步骤报一些语法错误。处理办法:sudo wget http://people.centos.org/t...
2018-08-15 15:59:42
689
原创 bitcoin编译问题解决
# ./autogen.sh# ./configure --with-incompatible-bdb# make 安装autoconf-2.69,automake-1.12,libtool-2.4.6,pkg-config-0.29.2,boost_1_55_0 问题1:configure: error: PKG_PROG_PKG_CONFIG macro not fou...
2018-08-10 13:56:16
2080
转载 LIBTOOL is undefined 解决方法
最近老是发生这个问题, 终于知道发生的根本原因, 特定记下来,以便后来方便Libtool library used but `LIBTOOL' is undefinedThe usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'to `configure.ac' and run `aclocal' and `autoconf' ...
2018-08-09 11:08:07
3571
转载 go sql.db.Query阻塞
这个问题定位了好久,终于在网上找到了一篇讲解Query源码的文章,连接在下面,转载一下https://blog.youkuaiyun.com/pangudashu/article/details/54291558
2018-07-14 21:37:58
914
原创 几个概念
1. gas:这个是用来衡量节点在挖矿时的工作量,该值会影响你的工作能否成功执行。2. gaslimit:执行该任务最多消耗的gas数,消耗不完的会退回3. gasprice:单个gas的wei数,默认的price值在终端可以通过web3.eth.gasPrice查看所以在进行交易前,需要正确估算gas数量,以保证能成功执行...
2018-07-04 22:06:32
207
原创 记第一次被黑经历
今天由于我的同步节点在阿里云上,原来是期望通过虚拟机字节访问8545端口,于是放开了该端口的访问权限。很不幸的是,我unlock了一个账号后,该账号里的以太币都被转到了地址0x957cd4ff9b3894fc78b5134a8dc72b032ffbc464上面。网上一查,原来这是黑客专门用的钱包地址所以大家在创建节点的时候务必不要打开rpc端口的访问权限,否则unlock的账号里的钱会被无情的转走...
2018-06-30 16:49:55
432
原创 以太坊区块同步成功标志
大家在通过geth的fast模式做区块同步时,都会经历长时间的等待,即区块一直停留在70个左右同步不完的情况,并且持续的打印Imported new state entries信息,这个的原因已经在 同步始终不完成,且一直打印Imported new state entries这篇文章里有详细描述,如果在日志里不再看到无休止的Imported new state entries,而是Importe...
2018-06-28 09:57:52
7022
原创 同步始终不完成,且一直打印Imported new state entries
这个问题困扰了我很久,一周左右还没有达到我想要的同步完成阶段,并且一直打印日志“Imported new state entries”。下面的一段文字是karalabe的描述,是我看到的比较详细的解释了。内容来自连接:https://github.com/ethereum/go-ethereum/issues/16937Syncing Ethereum is a pain point for ma...
2018-06-27 17:55:43
6480
原创 以太坊geth区块同步
起初我采用虚拟机在公司网络下作为节点同步,不管是钱包还是geth,始终都会有100个左右区块同步不下来,导致eth_getBalance等指令失败。后来切换到了阿里云上的服务器上做同步,一个晚上就基本同步完了,建议尽量采用云主机或者网络环境好的实体机进行同步。下面讲一下同步的准备工作1.go环境搭建2.下载go-ethereum-master代码,尽量下载最新的版本 #git clone h...
2018-06-27 10:50:06
6108
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人