hfutrlj
码龄8年
关注
提问 私信
  • 博客:37,751
    37,751
    总访问量
  • 24
    原创
  • 1,360,888
    排名
  • 3
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2016-10-14
博客简介:

hfutrlj的博客

查看详细资料
个人成就
  • 获得7次点赞
  • 内容获得1次评论
  • 获得90次收藏
创作历程
  • 7篇
    2022年
  • 15篇
    2021年
  • 5篇
    2020年
  • 1篇
    2019年
成就勋章
TA的专栏
  • 音频处理
    4篇
  • C语言
    8篇
  • 通信
    3篇
  • shell
    6篇
  • linux
    7篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

网页版av1码流分析工具

发布资源 2022.06.24 ·
7z

ivf文件,1080p,av1码流

发布资源 2022.06.24 ·
ivf

av1码流,1280*720,测试使用

发布资源 2022.06.24 ·
ivf

用字符串常量对字符串和数组初始化

用字符串常量对字符串和数组初始化char *buf = "abcdefg";char buf[32] = "abcdefg";char buf[] = "abcdefg";错误示例char *buf;buf = "abcdefg";char buf[32] = {0};buf = "abcdefg";字符串指针和数组初始化只能在第一步初始化。字符串结束符'\0',使用printf相关的输出函数,或者字符串操作函数strlen,strcpy等函数必须要有字符串结束符,否则会失效。.
原创
发布博客 2022.04.29 ·
370 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

tcp套接字端口复用SO_REUSEADDR

如果tcp下不使用SO_REUSEADDR1.进程创建监听套接字socket1,并且建立了多个连接时。此时进程创建另一个套接字socket2,试图band同一个端口的时候,会报“Address already in use”的错误。2.杀死上述进程,重新启动,调用band重新绑定,建立套接字监听。这次邦定只有在bind前(两个socket绑定之前都需要指定)指定了SO_REUSEADDR时才能成功。(因为直接杀进程,没有显式关闭套接字来释放端口,会等待一段时间后才可以重新use这个关口,解决办法就
原创
发布博客 2022.02.19 ·
926 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

shell脚本之单引号,双引号,反引号

经典解释1.‘’单引号所见即所得2.“”双引号所见非所得,会先解析变量,再输出3.``反引号,命令替换,通常把命令输出结果保存在变量中4.\反斜杠,转义字符/逃脱字符。echo要想发挥作用,必须使用-e选项,且转义字符要使用双引号...
转载
发布博客 2022.01.18 ·
6360 阅读 ·
0 点赞 ·
0 评论 ·
27 收藏

shell脚本之for in

格式for 变量 in 字符串do $变量doneINSTALL_MOD_ALL="wm mrs mrs-proxy ng-proxy ice"for sub in ${INSTALL_MOD}do if [ -f install-${sub}.sh ] then chmod +x ./install-${sub}.sh ./install-${sub}.sh $2 fidone...
原创
发布博客 2022.01.13 ·
775 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用静态库时error adding symbols: Bad value 问题

我们都知道在生成一个动态库时需要指定-fPIC,这是创建动态库所要求的,共享库被加载是在内存中的位置是不固定的,是一个相对的位置。那么在生成静态库时通常不指定-fPIC, 可是在64bit编译使用静态库就会提示需要-fPIC从新编译该库:/opt/mipsel-openwrt-linux-4.8.3/mipsel-4.8.4/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mipsel-openwrt-
转载
发布博客 2022.01.11 ·
1472 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

gcc编译参数— -fPIC

在生成动态库时,常常习惯性的加上 fPIC 选项,fPIC 有什么作用和意义,加不加有什么区别,这里做下小结。fPIC 的全称是 Position Independent Code, 用于生成位置无关代码。什么是位置无关代码,个人理解是代码无绝对跳转,跳转都为相对跳转。1、不加 fPIC 选项即使不加 fPIC 也可以生成 .so 文件,但是对于源文件有要求,例如因为不加 fPIC 编译的 so 必须要在加载到用户程序的地址空间时重定向所有表目,所以在它里面不能引用其它地方的代码,如下:
转载
发布博客 2022.01.11 ·
463 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

远程登录—ssh相关操作

1.开启ssh服务service ssh start/etc/init.d/ssh start如果开启服务失败,检查远程服务器是否安装openssh-server。2.查看ssh服务是否开启3.查看端口22是否监听4.一般ssh默认禁止root用户直接登录(保证安全性)如果需要root用户登录,配置文件 /etc/ssh/sshd_config 修改PermitRootLogin 为 yes重启ssh服务,既可实现root用户远程PermitRootLog
原创
发布博客 2022.01.10 ·
923 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

socket编程——tcp通信

服务端(gcc)1.绑定ip和端口(band)2.监听(listen)3.连接客户端(accept)4.主线程收发消息#include<stdio.h>#include<stdlib.h>#include<sys/socket.h>int main(){ int listen_sock = socket(AF_INET, SOCK_STREAM, 0); if(listen_sock < 0) {
原创
发布博客 2021.12.28 ·
1427 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

PulseAudio 模块化实现录音和放音

从虚拟设备获取音频数据(playback)1.加载虚拟输出设备pacmd load-module module-pipe-sink file=/tmp/output format=s16le rate=44100 channels=22.设置虚拟输出设备为默认输出设备pacmd list-sinks 查看输出设备名称pacmd set-default-sink fifo_output(虚拟输出设备名称为fifo_output)#include <stdio.h>#includ
原创
发布博客 2021.10.15 ·
1896 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

音频开发之——PulseAudio

pulseaudio為一個audio service,如下图OSS sink表示输出音源部分,从PulseAudio要转到声音设备的介面。OSS source表示输入音源部分,任何需要进入到PulseAudio的声音,都会经由source介面。PulseAudio服务软件架构,将来自各个不同的音源转到正确的窗口,针对不同的应用程式做音量的调整,接受多个音源的输入(source)或是输出(sink)。pactl命令可以修改伺服器的设置以及配置,但pactl命令仅限于局限的范围。若要..
原创
发布博客 2021.10.15 ·
2800 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

linux声音系统(应用程序和声卡的交互)

1.linux声卡驱动Linux声音系统底层驱动主要有OSS和ALSA两套API。音频驱动是底层硬件声卡和上层音频应用的桥梁。其中放音是声卡将上层传输下来的数字数据转化为模拟数据进行放音,录音是声卡将获取到的模拟数据转化为数字数据传输给上层。2.应用程序和声卡驱动的交互方式2.1直接和底层驱动OSS和ALSA两种驱动交互该方式较为直接,可直接调用底层驱动的api实现放音和录音功能。2.2通过声音服务和底层驱动交互 2.2.1 ESD ESD 一直是 Gnome...
原创
发布博客 2021.10.13 ·
786 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

fopen使用

FILE *fp =fopen(log_name, "a");r 打开只读文件,该文件必须存在。r+ 打开可读写的文件,该文件必须存在。w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。a 以附加的方式打开只写文件。若文件不存在,则...
原创
发布博客 2021.09.18 ·
2179 阅读 ·
0 点赞 ·
0 评论 ·
11 收藏

音频文件大小计算

采样频率:单位时间内的采样次数。采样频率越大,采样点之间的间隔就越小,数字化后得到的声音就越逼真,对应的数据量就越大。声卡一般提供11.025kHZ、22.05kHZ和44.1kHZ等不同的采样频率。采样位数:记录每次采样值数值大小的位数。采样位数通常有8bit和16bit两种,采样位数越大,能记录声音的变化度就越细腻,相应的数据量就越大。声道数:处理的声音是单声道还是立体声。单声道只有单数据流,立体声有左右两个声道的数据流。不经过压缩,原始裸数据的计算公式为:数据量(字节/秒) = (
原创
发布博客 2021.09.18 ·
4242 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

变量函数的申明和定义----extern和static

定义和申明全局变量和函数定义在C文件中,变量定义后要初始化。申明在头文件中进行外部声明(extern),定义的C文件中也要包含申明的头文件,以便编译器检查变量的定义与申明的一致性。此时外部文件需要用到该全局变量只需要包含头文件就可以了。模块化要点一个模块包含一个.c文件和一个.h文件,头文件是对该模块接口的申明。 某个模块要提供给其他模块调用的函数和变量,需要在头文件中做extern关键字申明。 模块内的函数和全局变量需要在.c文件头部用static申明。 永远不要在.h文件中定义变量!
原创
发布博客 2021.08.28 ·
774 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

shell中exit的含义

exit 0:正常运行程序并退出程序;exit 1:非正常运行导致退出程序;exit 0 可以告知你的程序的使用者:你的程序是正常结束的。如果 exit 非 0 值,那么你的程序的使用者通常会认为你的程序产生了一个错误。在 shell 中调用完你的程序之后,用 echo $? 命令就可以看到你的程序的 exit 值。在 shell 脚本中,通常会根据上一个命令的 $? 值来进行一些流程控制,0代表程序正确的执行。...
原创
发布博客 2021.08.26 ·
895 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

[]和[[]]

if [ "$ARCHITECTURE" == 'aarch64' ] || [ "$ARCHITECTURE_ICE" == 'aarch64' ]; then"system architecture is $ARCHITECTURE"exit 0fiif [[$ARCHITECTURE== 'x86_64'||$ARCHITECTURE_ICE =='x86_64']]; then"system architecture is $ARCHITECTURE...
原创
发布博客 2021.08.26 ·
131 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

if条件判断

1 if的基本语法if [ command ]; then符合条件的执行语句elif [ command ]; then符合条件的执行语句else符合条件的执行语句fi2 文件/目录判断如下列出了三个常用的文件和文件夹判断[-dDIR ] 如果 FILE 存在且是一个目录则为真。[-eFILE] 如果 FILE 存在则为真。[-fFILE] 如果 FILE 存在且是一个普通文件则为真。3 字符串判断[...
原创
发布博客 2021.08.26 ·
185 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多