
服务器/脚本/编译
文章平均质量分 51
等风来不如迎风去
AI领域初学者,AI+实时语音,AI+2/3D动画生成;AI+UE表演,AI+游戏NPC;音视频行业深耕多年,熟悉会议、直播、RTC,对在线教育、娱乐秀场等音视频端到端技术及系统架构有深入研究
展开
-
【ubuntu24.04】挂载windows的共享文件夹
【ubuntu24.04】挂载windows的共享文件夹原创 2025-03-31 18:28:44 · 264 阅读 · 0 评论 -
【python】指定一个搜索路径 解决ModuleNotFoundError: No module named
指定一个搜索路径原创 2025-03-27 11:30:15 · 319 阅读 · 0 评论 -
【python】http post 在body中传递json数据 以发送
http post 在body中传递json数据 以发送原创 2025-03-17 20:17:24 · 520 阅读 · 0 评论 -
【python】带有\n的json字符串,如何优雅打印
要优雅地打印这个 JSON 数据中的内容,可以使用 Python 进行格式化处理。推荐的方法如下:原创 2025-03-17 13:00:44 · 224 阅读 · 0 评论 -
【python】如何判断是json数组还是字典
json数组原创 2025-03-12 18:41:19 · 230 阅读 · 0 评论 -
【python】 range list范围
range原创 2025-03-04 13:02:50 · 294 阅读 · 0 评论 -
【python】‘’ 确保 {} 内的内容不会被解释为占位符,而是作为普通文本处理。
‘’ 确保 {} 内的内容不会被解释为占位符,而是作为普通文本处理。原创 2025-03-03 10:53:17 · 248 阅读 · 0 评论 -
【python】extends方法
extends方法原创 2025-03-03 10:46:15 · 378 阅读 · 0 评论 -
【ubuntu24.04】 强制重启导致大模型的磁盘挂载出错
chkdsk D: /f原创 2025-02-13 10:33:50 · 578 阅读 · 0 评论 -
【ubuntu24.04】关闭屏幕锁定和密码验证
自动锁屏原创 2025-02-06 13:01:57 · 310 阅读 · 0 评论 -
【Ubuntu 24.04】How to Install and Use NVM
To avoid having to manually switch versions every time you open a new terminal, you can set a default Node.js version with NVM:原创 2024-11-27 13:07:52 · 752 阅读 · 0 评论 -
【ubuntu】切换shell并显示git分支名字
chsh -s /bin/bash原创 2024-06-30 00:41:15 · 356 阅读 · 0 评论 -
【ubuntu】用户添加root权限
root原创 2024-06-14 11:38:02 · 1203 阅读 · 0 评论 -
【github】Connection reset by 20.205.243.160 port 443
Connection reset by 20.205.243.160 port 443原创 2023-05-06 11:19:25 · 3424 阅读 · 0 评论 -
【git】commit后撤回
git原创 2023-01-29 14:40:00 · 353 阅读 · 0 评论 -
【shell】转载:批量替换 find awk sed xargs
shell原创 2022-07-26 17:44:52 · 516 阅读 · 0 评论 -
fatal: LF would be replaced by CRLF in .clang-format
问题git add .fatal: LF would be replaced by CRLF in .clang-format解决git config --global core.safecrlf false原创 2021-06-18 15:15:49 · 529 阅读 · 0 评论 -
git 学习
git 学习pull (拉取)和fetch(获取)pull 获取远程修改 并与本地合并fetch 获取但不会与本地合并所以,fetch更安全git 使用常见流程step 1 合并之前先确保与远程库同步合并是git sync 操作step2 合并fetchstep3 合并提交fetch & rebase此时会要求你是否mergemerge 完成此时,对方的修改就合并到了本地解决冲突提交时(commit & push)发现仓库与本地有冲原创 2020-10-13 10:46:22 · 488 阅读 · 0 评论 -
【zz】webrtc sfu实现原理
大佬的开源代码编译后实现了sfu 和多人通话的客户端看得出来是最初的版本,但是帮助很大下面这篇文章就是大神对webrtc sfu原理的讲解我编译出来的效果基于webrtc录屏多人会话zz基于webrtc多人音视频的研究(二)原创置顶 敬我岁月无波澜 最后发布于2017-02-28 17:03:09 阅读数 5069 收藏展开基于webrtc多人音视频的研究...原创 2020-03-22 21:43:27 · 1768 阅读 · 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:13 · 2114 阅读 · 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:36 · 1152 阅读 · 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:46 · 10876 阅读 · 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:09 · 982 阅读 · 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:23 · 437 阅读 · 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:50 · 442 阅读 · 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:59 · 457 阅读 · 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:49 · 549 阅读 · 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:24 · 270 阅读 · 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:22 · 282 阅读 · 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:51 · 282 阅读 · 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:17 · 367 阅读 · 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:48 · 411 阅读 · 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:50 · 412 阅读 · 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:54 · 389 阅读 · 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:38 · 401 阅读 · 1 评论 -
licode erizo pipleline 1 : handlercontext
licode erizo pipleline今天周末,忙里偷闲,看看jbl大佬 说 绕来绕去的pipeline开始走读代码看起来部分代码是来自于facebook的网络库iqy有大神做了调研 HomeTechnologyFacebook C++网络库Wangle调研里面有个类图,可以参考,迅速搞清楚HandlerBaseHandlerBase 模板类,传入一个ctx模板类型...原创 2019-11-10 18:10:02 · 427 阅读 · 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:30 · 561 阅读 · 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:29 · 491 阅读 · 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:34 · 330 阅读 · 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 m转载 2018-01-14 00:47:05 · 1775 阅读 · 0 评论