
积累跬步
zhuxian2009
音视频,流媒体。量化交易系统,大道至简。
展开
-
python识别对象移动轨迹
pycharm开发环境。无法单独安装cv2,直接安装opencv-python即可。方法一,识别两点的坐标。原创 2023-05-25 21:03:35 · 893 阅读 · 0 评论 -
ubuntu新增一个用户
【代码】ubuntu新增一个用户。原创 2023-03-02 19:14:04 · 167 阅读 · 0 评论 -
基于libuv库的简单UDP聊天客户端+服务端
【代码】基于libuv库的简单UDP聊天客户端+服务端。原创 2023-02-08 17:35:51 · 836 阅读 · 0 评论 -
c++简单的UDP客户端+服务端
【代码】c++简单的UDP客户端+服务端。原创 2023-02-08 11:39:58 · 1513 阅读 · 0 评论 -
tcpdump 使用笔记
打印的信息显示ip地址,而不是域名、计算机名。打印详细信息-vvv。原创 2023-01-09 16:28:52 · 166 阅读 · 0 评论 -
ubuntu网络连接不见了
之前用的好好的,虚拟机异常重启了,网络连接也不见了。原创 2022-12-19 09:16:48 · 369 阅读 · 0 评论 -
libuv编译和基于tcp的简单聊天客户端+服务端
linux环境下,官方建议是。选择安装目录和只编译静态库。我们自己看看可以配置什么。原创 2022-12-15 11:09:55 · 1049 阅读 · 0 评论 -
shell看护程序
【代码】shell看护程序。原创 2022-12-09 18:35:55 · 283 阅读 · 0 评论 -
ubuntu下使用vscode调试C++程序
2.设置launch.json。这样,简简单单,不走弯路。编译参数加-g -O0。原创 2022-12-01 11:07:43 · 1116 阅读 · 0 评论 -
vscode搭建golang开发环境
vscode搭建golang开发环境,我只服官网提供的。跟着操作,没有报错。原创 2022-11-30 10:11:34 · 221 阅读 · 0 评论 -
编译libusrsctp报错
【代码】编译libusrsctp报错。原创 2022-11-19 10:07:32 · 2232 阅读 · 0 评论 -
wirshark解析自定义协议,并且从自定义协议截取部分字段保存文件
2.通过在工具菜单下,加入一个菜单项目,将自定义协议中的payload提取后,保存为原始数据。1.将自定义协议由wirshark解析。原创 2022-10-31 15:33:54 · 719 阅读 · 0 评论 -
RTCP的NTP
NTP timestamp, most significant word:64位,共8字节。后32 位(LSW)是此时间的小数部,因此,它可以表示数据发送出去的绝对时间。前32位(MSW)是从1900 年1 月1 日0 时开始到现在的。原创 2022-10-17 16:24:27 · 505 阅读 · 0 评论 -
在阿里云创建自己的docker镜像
2.在“容器镜像服务”新建一个实例,设置register密码。成功以后,会用基本信息,包括使用的命令。成功后,能在“镜像仓库”看到它。1.在阿里云注册一个账号。原创 2022-10-13 17:26:07 · 733 阅读 · 0 评论 -
ffmpeg把mp4推rtsp报错:AAC with no global headers is currently not supported.
【代码】ffmpeg把mp4推rtsp报错:AAC with no global headers is currently not supported.原创 2022-09-30 14:07:31 · 1720 阅读 · 0 评论 -
弱网测试工具WANEM
因此,WANem允许应用程序开发团队设置一个透明的应用程序网关,该网关可用于模拟WAN特性,如网络延迟、数据包丢失、数据包损坏、断开连接、数据包重新排序、抖动等。因此,WANem提供了广域网特性的仿真,从而允许数据/语音应用程序在以合理的成本投入生产之前,在现实的WAN环境中进行测试。您可以让我们知道您对改进范围的看法,或者如果您希望尽可能地作出贡献,或者当然只是给我们一个鼓励的字条。基于重新掌握的Knoppix光盘,WANem允许在任何开发环境中使用直观的web界面快速轻松地进行设置,以便进行配置。原创 2022-09-21 11:36:08 · 753 阅读 · 0 评论 -
从H265文件读取nalu
【代码】从H265文件读取nalu。原创 2022-08-30 10:49:43 · 635 阅读 · 0 评论 -
windows下生成webrtc工程,报错:You must installWindows 10 SDK version 10.0.19041.0
1原创 2022-08-11 10:09:12 · 991 阅读 · 0 评论 -
ZigZag遍历二维数组的算法
目录例子:分析规律代码实现 一个二维数组,用zigzag算法扫描输出。MxN的二维数组为[[1,2,3,4],[5,6,7,8],[9,10,11,12]],经过zigzag扫描以后,输出一维数组为:1,2,5,9,6,3,4,7,10,11,8,121.当第一行的奇数列时,斜着向上遍历;2.当第一行的偶数列时,斜着向下遍历;3.每一个遍历的数值为,下标之和,完全相等;例如第三次扫描[2][0]=9,[1][1]=6,[0][2]=3,下标之和等于2;其他同理4.如果选择第一行作为遍历参考行,比如for(原创 2022-07-13 23:27:43 · 608 阅读 · 0 评论 -
写一个多线程死锁
写一个多线程,让它死锁原创 2022-07-13 21:45:25 · 122 阅读 · 0 评论 -
用C++11写一个线程池
1.用c++11实现线程池;2.一个task队列,线程安全3.一个线程池4.线程池从task队列取任务CMakeLists.txt完!原创 2022-06-29 00:05:31 · 490 阅读 · 0 评论 -
C++ 存储周期
auto(块作用域内,自动分配和销毁)registerstatic(静态或线程存储期和内部链接)extern(静态或线程存储期和内部链接)thread_local(线程存储期)mutable(不影响存储期或链接。)解释1) 说明符只能搭配在块作用域或函数形参列表中声明的对象。它指示自动存储期,即这种声明的默认情况。此关键词的含义在 C++11 有变更。2) 说明符只能搭配在块作用域或函数形参列表中声明的对象。它指示自动存储期,即这种声明的默认情况。另外,此关键词的存在可以用来提示优化器将此变量的值存储到转载 2022-06-27 11:26:42 · 364 阅读 · 0 评论 -
C++11多线程与信号量
1.c++类,创建3个线程2.以成员函数为线程3.基类创建线程,子类继承创建方法,重写线程函数4.3个线程修改全局变量g_nCount打印结果:可以看出来,打印相当的混乱。原创 2022-06-23 23:30:07 · 1123 阅读 · 0 评论 -
拷贝构造函数与重载赋值运算符
缺省构造函数。缺省拷贝构造函数。缺省析构函数。缺省赋值运算符。缺省取址运算符。缺省取址运算符 const。请问以下两份代码=符号的区别:代码1:和代码2:代码1中,=表示赋值符号,而代码2中,表示赋值构造,等价于Base b2(b1)代码3:输出:所以,=符号,有时不一定就是赋值运算符号,也可以是拷贝构造函数;如果将拷贝构造设置为private,将会禁止拷贝对象,同时禁止=,但是不能阻止赋值;也就是代码1会报错,但是代码2仍然正常运行。.........原创 2022-06-20 00:20:00 · 451 阅读 · 0 评论 -
YUV填充为黑色背景
int8_t *data = new int8_t[src_frame_w*src_frame_h*3/2];memset(data, 0x10, src_frame_w*src_frame_h);memset(data+src_frame_w*src_frame_h, 0x80, src_frame_w*src_frame_h/2);delete[] data;原创 2022-06-04 11:11:02 · 901 阅读 · 0 评论 -
Linux检测程序内存泄漏valgrind
valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --undef-value-errors=no --log-file=log.txt ./可执行文件名 参数1 参数2 ...参数n--tool 使用哪种工具,内存检测所以用memcheckhelp信息:$ valgrind --helpusage: valgrind [options] prog-and-args tool-selection opti.原创 2022-05-18 16:54:29 · 298 阅读 · 0 评论 -
VUE3报错,Error: ENOSPC: System limit for number of file watchers reached
(env) [root@VM-20-16-centos vue_test2]# npm run serve> vue_test2@0.1.0 serve> vue-cli-service serve INFO Starting development server...[10%] building (0/0 modules)node:internal/errors:464 ErrorCaptureStackTrace(err); ^Error: ENOSPC.原创 2022-04-30 23:39:33 · 2369 阅读 · 2 评论 -
RGB转YUV
实现三个功能1.生成一个RGB32的文件(用于验证是否正常)2.RGB32转NV123.RGB32转YUV420// rgb2yuv.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>void FillYUV420BackGround(int8_t *pYUV, int nYUVLen, int nW, int nH, int nR, int nG, int nB){ int8_t *pY =原创 2022-04-15 14:12:05 · 940 阅读 · 0 评论 -
linux下搭建opencv 4.5开发环境及Demo
1.centos2.官网下载源码https://github.com/opencv/opencv/tagshttps://github.com/opencv/opencv/tags3.解压unzip opencv-4.5.5.zipcd opencv-4.5.54.配置mkdir buildcd buildcmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/data1/xxx/workspace/opencv/o原创 2022-04-02 16:49:17 · 4748 阅读 · 0 评论 -
windows下,OpenGL播放NV12
基于上一次的环境,用C++简单地封装了一下OpenGL的播放实现windows下的OpenGL视频播放器开发环境_zhuxian2009的专栏-优快云博客目录一、GLFW二、GLAD三、新建VS工程四、配置VS工程五、一个简单的Demo程序六、编译运行本文记录VS2017开发OpenGL的环境。首先,选择OpengGL的库,glfw+glad一、GLFWGLFW是一个开源的多平台库,用于桌面上的 OpenGL、OpenGL ES 和 Vulkan 开发。它提供了一个简单的 API,用于创建窗口、上下文原创 2022-02-02 19:40:07 · 2933 阅读 · 2 评论 -
windows下的OpenGL视频播放器开发环境
目录一、GLFW二、GLAD三、新建VS工程四、配置VS工程五、一个简单的Demo程序六、编译运行本文记录VS2017开发OpenGL的环境。首先,选择OpengGL的库,glfw+glad一、GLFWGLFW是一个开源的多平台库,用于桌面上的 OpenGL、OpenGL ES 和 Vulkan 开发。它提供了一个简单的 API,用于创建窗口、上下文和表面,接收输入和事件。GLFW 是用 C 语言编写的,支持 Windows、macOS、X11 和 Wayla..原创 2022-02-02 15:12:48 · 3655 阅读 · 0 评论 -
yuv从4k缩小到1080p
将yuv做scale,注意考虑两种比较容易实现的方式,libyuv和ffmpeg的sws;但是yuv在在4k scale到1080p时,小字体会效果比较差,基本都是像蚂蚁啃咬过的,断断续续,看不清;以下对libyuv和ffmepg做scale的每帧耗时和大概效果做了统计:libyuv 4k -> 1080p kFilterLinear 3ms 字迹断裂,不清晰,无法辨识小字体kFilterBox 3-4ms 字迹断裂,不清晰,无法辨识小字体kFil原创 2021-11-19 16:43:29 · 1523 阅读 · 0 评论 -
linux追加samba登陆用户
1.原来的配置[dev]leef@192.168.155.7:~$ cat /etc/samba/smb.conf# See smb.conf.example for a more detailed config file or# read the smb.conf manpage.# Run 'testparm' to verify the config is correct after# you modified it.[global] workgroup = SAMB原创 2021-10-20 17:44:55 · 160 阅读 · 0 评论 -
pcap回放——tcpreplay
一 需求1.用wireshark抓了一段rtp包,需要对它进行回放,反复调试;2.需要将这个rtp的pcap包,可以发送到两个不同的ip地址二 tcpreplay官网:https://tcpreplay.appneta.com/https://tcpreplay.appneta.com/wiki/installation.htmlTcpreplay 是一套免费的开源实用程序,用于编辑和重放以前捕获的网络流量。 最初设计用于将恶意流量模式重播到入侵检测/预防系统,它已经经历了许多演原创 2021-10-19 10:57:36 · 8139 阅读 · 0 评论 -
VM导入windows镜像
1.下载windows提供的系统镜像https://developer.microsoft.com/zh-cn/windows/downloads/virtual-machines/2.解压得到3个文件WinDev2106Eval.mfWinDev2106Eval.ovfWinDev2106Eval-disk1.vmdk3.用vm打开,导入vm-》文件-》打开,选择WinDev2106Eval.ovf这时你只需等待,等待奇迹的发生,心想,这实在太顺利太..原创 2021-09-06 14:55:40 · 4660 阅读 · 0 评论 -
vscode自动修复vue代码(自动格式化代码)
1.安装ESLint插件(重启vs生效)在vscode中安装插件ESLint2.配置.eslintrc.jswindows:ctrl+pmacos:command+p打开.eslintrc.js// https://eslint.org/docs/user-guide/configuringmodule.exports = { root: true, parserOptions: { parser: 'babel-eslint' }, env: {原创 2021-08-25 18:31:51 · 3006 阅读 · 0 评论 -
ubuntu手动安装nodejs
来源:https://github.com/nodejs/help/wiki/InstallationHow to install Node.js via binary archive on Linux?Unzip the binary archive to any directory you wanna install Node, I use/usr/local/lib/nodejs VERSION=v10.15.0 DISTRO=linux-x64 sudo mkdir -p .翻译 2021-08-11 18:25:59 · 381 阅读 · 0 评论 -
linux搭建vue开发环境
1.node $wget https://nodejs.org/download/release/v9.11.2/node-v9.11.2-linux-x64.tar.xz $tar -xvf node-v9.11.2-linux-x64.tar.xz $mv node-v9.11.2-linux-x64 node-v9.11.2解压以后,里面已经有node、npm,做个软连接,可以全局使用$ sudo ln -s /home/myname/workspace/vue/node-v9.1原创 2021-07-13 13:27:41 · 372 阅读 · 0 评论 -
linux添加用户和用户组
useradd -d /home/mynam -m myname此命令创建了一个用户sam,其中-d和-m选项用来为登录名myname产生一个主目录/home/mynam。修改密码passwdmyname分配给组usermod -g workspace myname其中,workspace是组修改shellusermod -s /bin/bash myname...原创 2021-07-08 11:59:43 · 148 阅读 · 0 评论 -
python解析时间
>>> strtime="20210702155822065">>> strtime2="20210702155821729">>> from datetime import datetime#字符串解析成datetime>>> datetime.strptime(strtime,"%Y%m%d%H%M%S%f")datetime.datetime(2021, 7, 2, 15, 58, 22, 65000)>&g.原创 2021-07-02 18:47:52 · 916 阅读 · 0 评论