
服务器/脚本/编译
等风来不如迎风去
音视频行业深耕多年,熟悉会议、直播、RTC,对在线教育、娱乐秀场等音视频端到端技术及系统架构有深入研究
-
原创 git 学习
git 学习pull (拉取)和fetch(获取)pull 获取远程修改 并与本地合并fetch 获取但不会与本地合并所以,fetch更安全git 使用常见流程step 1 合并之前先确保与远程库同步合并是git sync 操作step2 合并fetchstep3 合并提交fetch & rebase此时会要求你是否mergemerge 完成此时,对方的修改就合并到了本地解决冲突提交时(commit & push)发现仓库与本地有冲2020-10-13 10:46:2267
0
-
原创 【zz】webrtc sfu实现原理
大佬的开源代码编译后实现了sfu 和多人通话的客户端看得出来是最初的版本,但是帮助很大下面这篇文章就是大神对webrtc sfu原理的讲解我编译出来的效果基于webrtc录屏多人会话zz基于webrtc多人音视频的研究(二)原创置顶 敬我岁月无波澜 最后发布于2017-02-28 17:03:09 阅读数 5069 收藏展开基于webrtc多人音视频的研究...2020-03-22 21:43:27553
0
-
原创 如何使用ZLToolKit构建高性能的媒体转发服务器 #13
如何使用ZLToolKit构建高性能的媒体转发服务器 #13zltoolkit 这么优秀的项目,作者又这么nice的奈何讲解的文章比较少,这里copy一份,存档。转载如何使用ZLToolKit构建高性能的媒体转发服务器 #13Closed airx opened this issue on 6 Jun 2019 · 5 commentsComments@airxairx...2020-02-27 15:48:13910
0
-
原创 zltoolkit的eventpoller 线程调度
主线程 TID=44068主线程创建 broker ,TID=44068PID=4440 TID=44068 2020-2-26 17:3:37 219ms Final edubase.dll [ActiveSvr] "ActiveSvrBroker created" EMActSvr::ActiveSvrBroker::OnCreate ActiveSv...2020-02-26 17:17:36416
0
-
原创 Error: Permission denied @ apply2files - /usr/local/lib/docker/cli-plugins
brew cleanupError: Permission denied @ apply2files - /usr/local/lib/docker/cli-plugins权限参考 ✘ zhangbin@pb6a80114 ~/myProjects/zty/libvips_android master ● sudo chown -R $(whoami) $(brew ...2020-02-07 21:39:469177
3
-
原创 licode origin clone后推送到我自己仓库
clone后推送到自己仓库By default, when you clone a repositorythat resides at https://github.com/original/orirepo.git,whose current branch is called master,thenthe local config of the resulting clone lis...2019-11-18 22:45:09439
0
-
原创 licode erzioapi 2
吃过午饭,继续跟进 erzioapi继续之前的erzioapi文章1继续 erzioapi的MediaStreamerioapi的 mediastream 为啥会持有一个 erizo::MediaStream 类型的共享指针 std::shared_ptr<erizo::MediaStream> me;me的赋值持有的这个me是 erzio的 eriz...2019-11-18 12:53:23178
0
-
原创 licode erzioapi 1
很想知道 erzio的类是怎么被外部调用的,没找到example ,看下erzioapi???js封装的api根据gyp ,erzioapi是封装erzio 作为addon给nodejs调用根据比较 J:\licode\erizo\src\erizo 和 J:\licode\erizoAPI 的cpp代码封装的api的类 主要有 mediastream one2manyproce...2019-11-18 01:16:50173
0
-
原创 licode media 5 rtp : RtcpForwarder
RtcpProcessor是一种service 是一种serviceclass RtcpProcessor : public Service {service 是一种 servicebase和servicecontext 构成的用来控制pipeline的class Service : public ServiceBase<ServiceContext> {...2019-11-16 09:43:59184
0
-
原创 licode media 4 MediaStream 声明
2 MediaStreamA MediaStream. This class represents a Media Stream that can be established with other peers via a SDP negotiation最基础的是数据,现在是另一个叫做流的基础概念。流状态监听MediaStreamStatsListener /** * S...2019-11-12 23:59:49245
0
-
原创 licode media 3 :mediadefination.h: mediasink/source
MediaSink接收 ssrc, av各有一个拥有FeedbackSource ,提供反馈功能mediasink分发的是音视频数据包和mediaeventMediaSource管理4种sink a v e f std::vector<uint32_t> video_source_ssrc_list_; 视频有多种ssrc源么?code/* * A...2019-11-12 20:28:2460
0
-
原创 licode media 2 FeedBack
media 2 FeedBacksink会分发数据包source包含sink,然后source啥具体的也不干?class FeedbackSink { public: virtual ~FeedbackSink() {} int deliverFeedback(std::shared_ptr<DataPacket> data_packet) { ...2019-11-12 20:21:2281
0
-
原创 licode media 1 DataPackage
media DataPackage- 数据是基础数据有 表现形式和 组织形式其他累是做数据管理的DataPacket多种的构造方法是否属于某一layer?//std fiind 遍历 返回迭代器 bool belongsToSpatialLayer(int spatial_layer_) { std::vector<int>::iter...2019-11-12 20:17:5195
0
-
原创 licode thread 4 :ThreadPool
ThreadPool是封装Worker的每个Worker里面会创建一个线程,并交给group管理,那为啥还要搞个pool?Worker里面的 boost::thread_group group_ 没有其他用途??开始 关闭 重置统计 统计分布b包含一个调度器 std::shared_ptr scheduler_;创建调度器并给每个Worker创建了多个wor...2019-11-12 19:58:17106
0
-
原创 licode erizo thread 4 Worker
WorkerScheduledTaskReference难道这个叫做引用的类,就是为了记录这个task是不是被cancel了?class ScheduledTaskReference { public: ScheduledTaskReference(); bool isCancelled(); void cancel(); private: std::atomic&l...2019-11-12 18:26:48139
0
-
原创 licode erzio thread 3: IOThreadPool
IOThreadPoolIOWorker是单线程的需要这么一个IOThreadPoolio_workers_ 保存n个ioworker对象(每个对象都有一个线程)遍历每个ioworker对象,可以知道谁被调用的次数最少std::shared_ptr<IOWorker> IOThreadPool::getLessUsedIOWorker() { std::shar...2019-11-12 17:59:50149
0
-
原创 licode erizo thread 2 : IOWorker
IOWorkererizo使用IOWorker进行ICE,DTLS的状态交互处理。有同学的分析所有 nrappkit的代码使用了stdstd::unique_ptrstd::thread thread_; 线程virtual void start(std::shared_ptr<std::promise> start_promise);typedef...2019-11-12 17:42:54158
0
-
原创 licode erzio thread 1 :Scheduler
SchedulerScheduler一个调度类,应用于运行后台任务后台任务是周期性或者立即执行的操控的 typedef boost::function<void(void)> Function;指定一个时间执行或者 过多久再执行taskqueue是按照时间做key来的一个multimap std::multimap<std::chrono::system_...2019-11-12 16:42:38159
1
-
原创 licode erizo pipleline 1 : handlercontext
licode erizo pipleline今天周末,忙里偷闲,看看jbl大佬 说 绕来绕去的pipeline开始走读代码看起来部分代码是来自于facebook的网络库iqy有大神做了调研 HomeTechnologyFacebook C++网络库Wangle调研里面有个类图,可以参考,迅速搞清楚HandlerBaseHandlerBase 模板类,传入一个ctx模板类型...2019-11-10 18:10:02174
0
-
原创 licode pre8.4 macos 10.15.1 : 重新安装gulp
重新安装node的gulp二进制文件用vscode打开licode工程,结果gulp找不到了这个会导致controller启动之后,一堆的报错,而且打印一直不停止?gulp是在install mac deps 的时候,作为node-gyp 什么的组件安装的重新安装脚本 installGulp.sh 放在scripts下。#!/usr/bin/env shecho “copy...2019-11-04 17:24:30244
0
-
原创 licode pre8.4 macos catalina [8.1] 修改log4j打印,重启licode
[8.1] 修改log4j打印,重启licodecontroller在运行8080 的进程是35389 zhangbin@zhangbin-mbp ~/tet/100 lsof -i:8080 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEnode 35...2019-11-02 22:46:29218
0
-
原创 licode pre8.4 【3.1】erzio controller的脚本
第三步controller的脚本首先复制这个 cp $PATHNAME/rtp_media_config_default.js $ROOT/rtp_media_config.jsinstall_erizo_controller(){ echo 'Installing erizoController...' cp $PATHNAME/rtp_media_config_defaul...2019-11-02 00:20:34123
0
-
原创 centos 6.3安装编译工具
参考 http://unix.stackexchange.com/questions/16422/cant-install-build-essential-on-centos 安装编译工具。[root@CentOS32 codestore]# gedit testPipe.c[root@CentOS32 codestore]# gcc -o testPip2013-11-27 12:19:021953
0
-
原创 VS2013 UAC模式看不到网络驱动器
VS2013在管理员模式下,看不到网络驱动器。非管理员模式,正常启动是看得到的。原因在于:If you run a process (such as Visual Studio) elevated (as you claim in comments), it’s not running as your current Windows user, but as Administrator.Admini2017-07-26 20:27:171149
0
-
原创 VS2013编译boost
启用vsd2013.5的vs2013开发人员命令提示工具,我的电脑在这个路径下:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts为了解决C:\Program Files (x86)\Microsoft Visual Studio 12.0>cmake ‘cmake’ 不是内部或外部命令,也不是可运2017-07-26 20:26:201029
0
-
原创 AVUpate编译
The C compiler identification is MSVC 18.0.40629.0 The CXX compiler identification is MSVC 18.0.40629.0 Check for working C compiler using: Visual Studio 12 2013 Win64 Check for working C compiler u2017-07-26 20:25:38654
0
-
原创 VS 编译出错
VS编译 1. error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“MTd_StaticDebug”(win32main.obj 中)当前的工程上,右键属性,c/c++中找到代码生成-》运行库:设置为当release时为MT,当debug时为MTD2.error LNK2001: 无法解析的外部符号 “void __cd2017-07-26 11:34:02555
0
-
原创 nginx 出错
【1】 nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)[::]:80 is a ipv6 address.This error can be caused if you have a nginx configuration that is listening on port 80 and also on2017-07-26 11:30:537065
0
-
原创 centos7 nginx 支持php
参考 这里 php的配置文件在这里:[root@c7 capritools-tv]# [root@c7 capritools-tv]# cat /etc/nginx/conf.d/php.conf server { listen 8090; # pass the PHP scripts to FastCGI server listening on 127.0.2017-07-26 20:27:591319
0
-
原创 WP增加备案号超链接
默认的主题支持,但是我的这个optimise主题不支持。参考了网友的方法:1.http://www.miibeian.gov.cn” target=”_blank”>粤ICP备150110812.2017-07-26 20:28:262109
0
-
原创 ubuntu14.04配置ssh登陆
搞了之后死活连不上去。只好继续使用22的端口,禁用root登陆。突然就好了。几个命令:重启 /etc/init.d/ssh restart看是否在 ps -e | grep ssh服务器的配置文件 /etc/init.d/sshd_config至于说:ssh-keygen-t rsa 这个是不是有作用,我还不知道啊。================================= 1.安裝2017-07-26 20:28:58857
0
-
原创 ubuntu配置samba
sudo apt-get install sambaroot@UbnCom:/home/zhangbin/ynclub/myapp# sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak root@UbnCom:/home/zhangbin/ynclub/myapp# sudo mkdir -p /home/share root@UbnCom:/2017-07-26 20:29:20818
0
-
转载 ubuntu14.04 armhf 源
1 国内比较快的源我的orangepi 2 的 lubuntu是适用的deb http://mirrors.ustc.edu.cn/ubuntu-ports/ trusty main multiverse restricted universe deb http://mirrors.ustc.edu.cn/ubuntu-ports/ trusty-backports main m2018-01-14 00:47:051495
0
-
原创 armhf debian 安装go1.8.5
1“` root@bananapi ~/download # ls go1.8.5.linux-armv6l.tar.gz root@bananapi ~/download # go env GOARCH=”arm” GOBIN=”” GOCHAR=”5” GOEXE=”” GOHOSTARCH=”arm” GOHOSTOS=”linux” GOOS=”linux”2018-01-14 14:59:181064
0
-
转载 brew install python3
brew install python3 此时,安装完成后会出现一点问题:liyang@liyang ~ brew install python3 Updating Homebrew… ==> Auto-updated Homebrew! Updated 1 tap (homebrew/php). ==> Updated Formulae homebrew/ph...2018-02-23 21:36:167083
0
-
原创 k8s 使用minikube体验
启动minikube$ minikube config set vm-driver virtualbox$ minikube start```我的单节点竟然不是master ,ROLES 是none ,那是什么?kubectl get nodesNAME STATUS ROLES AGE VERSIONminikube Ready <no...2019-09-11 19:51:45493
0
-
原创 fatal error: EGL/egl.h: No such file or directory
Application.mk to android-9 in the APP_PLATFORMAPP_STL = gnustl_sharedAPP_CPPFLAGS = -fexceptionsAPP_PLATFORM := android-9APP_ABI := armeabi2014-10-22 17:02:574785
0
-
原创 NDK error: 'off_t' does not name a type
yuroot@Ubuntu32:/home/zhangbin/STM/airplay/openml/jni# root@Ubuntu32:/home/zhangbin/STM/airplay/openml/jni# root@Ubuntu32:/home/zhangbin/STM/airplay/openml/jni# ndk-buildAndroid NDK: WARNI2014-10-14 19:48:582838
0
-
原创 hidden symbol `__stack_chk_fail_local' isn't defined
ubuntu14.04 32位:有人说是因为没有加这个选项:2014-11-04 14:19:453638
0
-
翻译 【rfc3605】 Real Time Control Protocol (RTCP) attribute in Session Description Protoco
[Docs] [txt|pdf] [draft-ietf-mmusic...] [Diff1] [Diff2]PROPOSED STANDARDNetwork Working Group C. HuitemaRequest for Comments: 36052013-12-30 10:58:151218
0