- 博客(110)
- 资源 (3)
- 收藏
- 关注
转载 Tcpdump抓包命令
Z 使tcpdump 放弃自己的超级权限(如果以root用户启动tcpdump, tcpdump将会有超级用户权限), 并把当前tcpdump的用户ID设置为user, 组ID设置为user首要所属组的ID。17、抓取源ip是192.168.1.100且目的端口是22,或源ip是192.168.1.102且目的端口是80的数据包。-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc远程过程调用)和snmp(简单网络管理协议;如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。
2024-01-17 09:37:55
48
转载 SummerTTS - 开源本地编译运行,没有任何依赖,不需要联网,开箱即用的语音合成(TTS)项目
SummerTTS 是一个基于C++的独立编译的中文语音合成项目,可以本地运行不需要网络,而且没有额外的依赖,一键编译完成即可用于中文语音合成。GitHub - huakunyang/SummerTTS: SummerTTS 是一个基于C++的独立编译的中文语音合成项目,可以本地运行不需要网络,而且没有额外的依赖,一键编译完成即可用于中文语音合成。本项目在 Ubuntu 上编译运行通过,其他类Linux平台,如Android,树莓派等,也应该没啥大问题,在Window上没有测试过,可能需要少许改动。
2023-12-21 15:57:29
201
转载 Linux虚拟机挂载共享文件夹(CentOS+VMware)
打开mnt/hgfs文件夹,看到设置的共享文件夹。1.在VMWare中设置共享文件夹设置。3.在Linux虚拟机中查看是否成功。2.在Linux虚拟机中设置挂载。
2023-10-13 13:59:35
373
转载 WebRTC 音频算法
7.当然如果能用特定算法思路数据接口进行优化也是可以的,例如查表之类的。2.尽可能少调用函数,参数最好是指针或引用传递,这样能减少拷贝,所以将乘法降为加法,将除法降为乘法,浮点降为整形(定点化)。WebRTC 着力于音频通信,所以它对性能的要求是极高的。所以 尽可能地要使用上层的资源,能用寄存器就用寄存器,6.能用内存的,就不要用磁盘,我想这个没必要多解释了。而算法的性能的优化,绝大多数情况的思路,都是特例化。1.尽可能多用局部变量,编写最短,最有效的闭合函数。
2023-08-03 10:25:44
175
转载 VMware 虚拟机扩展 CentOS7 系统磁盘空间
VMware 虚拟机扩展 CentOS7 系统磁盘空间_centos_Zerooooooooooooooooo-华为云开发者联盟 (csdn.net)
2023-08-01 11:48:13
126
转载 webRTC-audio-processing 编译
out:创建空目录,在这下面执行 cmake.. 生成 Makefile 之后再执行 make 进行编译,最终得到的测试项目可执行文件 webtrc-audio-process。项目源码:https://e.coding.net/TangYuFan/speech-processing/WebRTC-AudioProcessing-main.git。webrtc-audio-processing:就是第一步编译官方模块的目录。CMakeLists.txt:编写编译配置生成文件。
2023-07-28 10:22:42
200
转载 音频编解码FAAC PCM转AAC
采样率,声道数(双声道还是单声道?),还有你的WAV的单个样本是8位的还是16位的?这里的安装过程是在 Mac 和 Linux 上实现的,Windows可以类似参考。关闭编码器,另外别忘了释放缓冲区,如果使用了文件流,也别忘记了关闭。,该准备的刚才都准备好了,很简单。
2023-07-28 10:15:24
216
转载 FFmpeg的动态链接库介绍
尽管avcodec内置了大部分的音视频编解码库,可是有些码流需要集成第三方的编解码库,比如视频格式h264要求集成第三方的x264,视频格式h265要求集成第三方的x265,音频格式mp3要求集成第三方的mp3lame等等,libavcodec目录下的诸多lib***.c代码就是用来集成第三方编解码库的。avutil是FFmpeg的音视频工具库,它包含了常见的通用工具和各类算法库,其中通用工具包括字典操作、日志记录、缓存交互、线程处理,以及加解密库aes、md5、sha、base64、等;
2023-07-27 10:44:28
406
原创 Git 绑定账号 和clone
下载安装完成Git,在桌面或文件夹下(在你将要保存代码的位置)右击可以看到Git Bash Here,点击可以进入黑窗口。git clone 克隆项目地址 (从gitlab上拉取代码到本地(地址是gitlab上的代码地址))git add. (首次全部提交时add后加点是提交所有的,后期提交部分代码时点后跟修改的类名)(本地查看,通常在C盘-用户-用户名-.ssh下有两个文件,id_rsa.pub文件即是公钥内容)git config --global user.email"你的邮箱"
2023-07-26 15:21:52
398
转载 笔记:YUV444、YUV422、YUV420、YU12、YV12、NV12、NV21的区别
介绍YUV444:指在采样时,Y、U、V采样的比例相同,每个像素占用的分量相同YUV422:指在采样时,Y 和 UV 分量按照 2: 1 的比例采样,每两个 Y 分量公用一组 UV 分量。YUV420:指在采样时,Y 和 UV 分量按照 4: 1 的比例采样,每四个Y共用一组UV分量。YU12:YUV420p格式。在 Android 平台上也叫做 I420,先排列Y,接着排列U和V。YV12:YUV420p格式。先排列Y,接着排列V和U。NV12:YUV420sp格式。
2023-07-14 16:59:31
1603
转载 AVFilter - 流媒体过滤器
文章目录**流媒体过滤器 - AVFilter****函数说明** :**函数名称** : **avfilter_graph_alloc****功能** : 相当于合拢所有过滤器的统一上下文**avfilter_init_str参数选项**:**abuffersink ( 媒体数据最终出口 ) ****aformat ( 将媒体数据进行格式化 )****amix ( 混音处 )**:**abuffer ( 媒体数据入口 )**
2023-07-14 14:58:26
139
原创 PCM音频混合的方法
方法:为避免发生溢出,使用一个可变的衰减因子对语音进行衰减。这个衰减因子也就代表语音的权重,衰减因子随着音频数据的变化而变化,所以称为自适应加权混音。当溢出时,衰减因子较小,使得溢出的数据在衰减后能够处于临界值以内,而在没有溢出时,又让衰减因子慢慢增大,使数据较为平缓的变化。思路:使用更多的位数(32 bit)来表示音频数据的一个样本,混完音后在想办法降低其振幅,使其仍旧分布在16 bit所能表示的范围之内,这种方法叫做归一法;3、PCM脉冲编码的音频信号的混音实现,2、归一化混音(自适应加权混音算法)
2023-07-14 10:24:22
2935
1
转载 C/C++中读取中文路径文件的方法
注意:如果使用locale loc = locale::global(locale(""))设置全局locale后没有用 locale::global(loc)恢复的话,那么在程序后面的cout语句就不能输出中文了,虽然这时候操作中文文件没有问题,但是这也是很容易让 人掉入陷阱的地方,应该值得注意。//还原全局区域设定。21: file.open(_TEXT("c:\\测试\\测试文本.txt"));
2023-03-09 20:38:01
2485
转载 #、##、__VA_ARGS__和##__VA_ARGS__的作用
一、#用来把参数转换成字符串例子一:#define P(A) printf("%s:%d\n",#A,A);int main(int argc, char **argv){int a = 1, b = 2;P(a);P(b);P(a+b);system("pause");}输出为:例子二:#define SQUARE(x) printf("The square ...
2020-09-27 17:18:37
471
转载 关于vsnprintf的一些总结
函数声明:int vsnprintf(char *str, size_t size, const char *format, va_list ap);关于该函数各个参数的具体意义不再赘述,参见百度百科即可,下面仅对该函数使用过程中的一些细节或者注意点进行说明。#include <stdio.h>#include <stdarg.h>#define MAXLEN 10int mon_log(char* format, ...){ char str_tmp
2020-09-27 17:13:23
1357
转载 openCV 中 cv::Rect 矩形类用法
cv::Rect 矩形类用法 //如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能: rect.area(); //返回rect的面积 5000 rect.size(); //返回rect的尺寸 [50 × 100] rect.tl(); //返回rect的左上顶点的坐标 [100, 50] rect.br(); //返回rect的右下顶点的坐标 [150, 150] rect.wi.
2020-06-28 11:38:30
2883
原创 Jpeglib移植到hisi平台
一.下载源码要使用jpeglib库,肯定是要先下载jepglib库的源码喽,下载地址:http://www.ijg.org/files/jpegsrc.v9a.tar.gz 因为我是在准备在linux下使用,所以就下载了jpegsrc.v9a.tar.gz这个文件。二. 编译,安装jpeg库解码源代码,直入源码目录下可以看到一个configure文件,这是jpeglib的配置文件。...
2019-08-09 17:47:03
295
转载 嵌入式 视频编码 hisi
这几天在编写视频录制模块,所以,闲暇之余,又粗粗的整理了一下,主要是API,以备不时之用摄像头获取的模拟信号通过经芯片处理(我们使用的是CX25825),将模拟信号转成数字信号,产生标准的ITU 656 YUV格式的数字信号以帧为单位送到编码卡上的DSP和内存中。分别供视频实时预览、移动侦测处理以及编码等使用。其中编码的作用是将编码卡内存中的YUV数据送到H264编码器中,进过H....
2019-08-09 12:01:36
1181
转载 Hi3518E_V200 SDK编译笔记 第二季
1.官方sampe(1)海思官方提供的sampe位于Z:\Hi3518E_SDK_V1.0.3.0\mpp\sample中sample其实是很多个例程,所以有很多个Main,每一个例程面向一个典型应用。common 是通用性主体函数,里面的东西全是被其他程序调用的。我们只分析视频编码venc(2)基本的架构是:venc中的main调用venc中的功能函数,再调用common中的功能函数,...
2019-07-29 17:59:13
804
转载 海思Hi3518EV200 SDK源码分析笔记
裸机->C高级->uboot和系统移植->linux应用编程和网络编程、驱动===========================================================================================================1./* We just coyp this value of payload ty...
2019-07-29 17:57:44
1160
转载 海思笔记
第一章、海思hi3518e的底层所使用的的cpu是海思HI3518E V2001.1、hi3518e开发板的运行过程通过串口转接线(不接电源线,txd接rxd,rxd接txd,地线接地线)连接上电脑,接网线。通过SecureCRT挂载到ubuntu16.0403中的/aston/rootfs。在SecureCRT的cmdline中./sample_venc进入运行模式。设置w...
2019-07-26 10:34:54
2466
转载 海思MPP业务MMZ内存优化介绍
海思MPP业务MMZ内存优化介绍概述 完全是本着内存吃紧的情况下的一些优化点,都是在文档有介绍的,自己多调试下就出来了,好不好用,还请自己评估,这里只是给出一些点的介绍。本着有坑也不填的原则,这里只做交流使用,后果自负。OS内存和MMZ海思的安防平台芯片的内存主要划分两部分来管理,一部分是系统使用的OS内存,一部分是称为MMZ的内存,具体这两部分如何配置和使用的,文档中...
2019-07-26 10:17:59
1391
转载 STM32启动模式及API
我们玩ARM9,一般都是在内存里调试程序,速度飞快。STM32下也可以这样,虽说现在的flash寿命已经很长了,但flash中调试烧录程序还是一个很慢的过程,有时候程序上一个小小的改动要花上几倍的时间下载代码,这确实是不能忍受的。 我们也可以在开发STM32时,在内存中调试程序。 {STM32这颗Cortex-M3控制器,与其他许多ARM一样,提供了BOOT0和BOOT1两个管脚用于启动...
2019-06-25 18:19:19
560
转载 剑指Offer系列刷题笔记汇总
//转载的 以后有机会看看一、前言本系列文章为《剑指Offer》刷题笔记。刷题平台:牛客网书籍下载:共享资源刷题刷的比较慢,花费了两个多月,终于将所有题目过了一遍,牛客网一共有66道题,这次刷题主要使用C++,接下来会使用Python重新过一遍,并对这些写过的文章进行更新。同时,也会重新开始刷Leetcode。二、总结现对这66道题目进行了粗略的划分,整理如下:链表...
2019-06-05 11:28:43
146
原创 海思编译SDK内核和UBOOT或者MPP报错loadlocale.c:130: _nl_intern_locale_data: Assertion
在~./.bashrc 中添加LC_ACC=C然后source ./.bashrc就可以解决了 网上我还找了一种方法在/etc/default/locale 中更改 这种方法 。 ...
2019-05-24 10:44:55
2434
3
转载 HI3518EV200 SDK安装并编译osdr
转载的加一些 自己在安装过程上面没写到的错误。1、开发环境windows10电脑 + 虚拟机14 Pro + Ubuntu18.0.42、拷贝并解压。将 Hi3518E_SDK_V1.0.3.0.tgz拷贝到 Linux 服务器上。 cd ~/sambashare/ cp /mnt/hgfs/winshare/HI3518EV200/Hi3518E_V200R0...
2019-05-10 18:02:33
1710
转载 Ubuntu中的解压缩文件的方式
.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz解压:tar zxvf FileName.tar.gz压缩...
2019-05-10 14:05:38
7049
2
转载 C语言32个关键字9种控制语句34种运算符整理
32个关键字,如下表所示:关键字 说明 auto 声明自动变量 short 声明短整型变量或函数 int 声明整型变量或函数 long 声明长整型变量或函数 float 声明浮点型变量或函数 double 声明双精度变量或函数 char 声明字符型变量或函数 struct 声明结构体变量或函数 un...
2019-03-26 15:10:47
2129
转载 JSON格式以及cJSON的使用及注意事项
前言在STM32 OTA例程中,设备端(STM32F769探索板)与云端交换数据使用的是JSON格式。在本篇文章中,将对JSON格式以及cJSON的使用及注意事项进行说明。JSON格式JSON(JavaScript Object Notation)是一个轻量级的数据交换格式。既便于开发者读写,也便于机器分析和构建。它独立于开发语言,是一种文本格式,很适用描述在各个系统间交换的数据。...
2019-03-22 18:26:08
3518
原创 通用makefile
INSTALLATION_PATH = /home/LIB_PATH = /home/INCLUDES = -I. -I $(INSTALLATION_PATH)/srcSRCS = main.cOBJS = $(SRCS:.c=.o)CC = gccCFLAGS = -Wall -O -gLIBS = -lpthread -L$(LIB_PATH)/libEXE = main...
2019-03-22 14:54:27
194
转载 整理一个双向链表list.h
一直觉得Linux内核的双向链表是十分巧妙的设计,它的实现方式与数据结构课程上讲的完全不同。内核list实现依赖于GCC的扩展,在其它平台不一定能正常运行。在内核中,一般是结构体中使用链表成员,而不是像数据结构课那样在链表结构体中使用数据域。C++中将lsit作为模板,能应用于各种类型数据上,但Linux内核无法使用,因而使用其它手段实现,方便扩展。事实上,内核大量结构体都使用了list。网上有很...
2019-01-03 17:06:57
201
转载 EAGAIN、EWOULDBLOCK、EINTR与非阻塞 长连接
EAGAIN、EWOULDBLOCK、EINTR与非阻塞 长连接 EWOULDBLOCK用于非阻塞模式,不需要重新读或者写EINTR指操作被中断唤醒,需要重新读/写在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中)。从字面上来看,是提示再试一次。这个错误经常出现在当应用程序进行一些非阻塞(non-blocki...
2019-01-03 15:07:41
2346
转载 IO模式设置网络编程常见问题总结—IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)。。。
非阻塞IO 和阻塞IO: 在网络编程中对于一个网络句柄会遇到阻塞IO 和非阻塞IO 的概念, 这里对于这两种socket 先做一下说明: 基本概念: 阻塞IO:: socket 的阻塞模式意味着必须要做完IO 操作(包括错误)才会 返回。 ...
2018-12-26 10:29:15
257
转载 TCP连接探测中的Keepalive和心跳包. 关键字: tcp keepalive, 心跳, 保活
1. TCP保活的必要性1) 很多防火墙等对于空闲socket自动关闭2) 对于非正常断开, 服务器并不能检测到. 为了回收资源, 必须提供一种检测机制. 2. 导致TCP断连的因素如果网络正常, socket也通过close操作来进行优雅的关闭, 那么一切完美. 可是有很多情况, 比如网线故障, 客户端一侧突然断电或者崩溃等等, 这些情况server并不能正常检测到连接的断开...
2018-12-25 10:21:51
278
转载 linux c函数获取系统IP地址
一,通过分析/etc/hosts文件里映射关系获取ip地址。#include <stdio.h>#include <netdb.h>int main(){ struct hostent *he; char hostname[20] = {0}; gethostname(hostname,sizeof(hostname...
2018-12-21 11:58:46
1413
1
原创 使用CURL库,发送HTTP的POST的文件传输
最近搞一个linux 下用CURL的库传输文件到服务器#include <stdio.h>#include <curl/curl.h>#include <sys/stat.h>#include <fcntl.h>#include <string.h>int main(void){ char * Curl_add...
2018-12-21 11:44:10
6322
转载 创建脱离线程 pthread_attr_setdetachstate
关于脱离线程的说明:使用pthread_create()函数创建线程时,函数第二个参数为NULL,则使用线程属性的默认参数,其中非分离属性需要程序退出之前运行pthread_join把各个线程归并到一起。如果想让线程向创建它的线程返回数据,就必须这样做。但是如果既不需要第二个线程向主线程返回信息,也不需要主线程等待它,可以设置分离属性,创建“脱离线程”。 在任何一个时间点上...
2018-12-17 16:05:09
286
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人