自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Astro的成长之路

Anything in life worth doing is worth overdoing. Moderation is for cowards.

  • 博客(19)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 【iOS】iOS编译C++静态库教程

iOS编译C++静态库及调用

2023-11-10 15:38:20 663

原创 【音视频相关】qmin&qmax 视频码率

使用qmin qmax控制视频质量,降低视频码率

2023-06-23 09:30:00 448

原创 【linux】 tcpdump抓包相关,如何进行udp回溯

tcpdump抓包及参数解释

2023-06-21 11:26:08 606

原创 【linux】linux相关操作2(部分库编译\排查CPU及内存占用)

一些项目的库编译方式,怎么排查进程的CPU及内存占用

2022-12-25 00:00:00 201 1

原创 【音视频相关】nvidia-smi 命令扩展及问题分析举例(dmon/pmon/GPU性能相关)

使用nvidia-smi只能看到GPU占用及显存,实际上GPU的性能或者说瓶颈不在以上两部分,所以就探究了一下,怎么看GPU运行时的更多数据,哪些数据对GPU性能有影响。

2022-12-23 09:55:51 1614

原创 【FFmpeg】Filter主要结构体及流程

Filter的主要结构体及滤镜的使用流程

2022-08-12 09:33:31 307

原创 【音视频技术】视频质量评价 MSU VQMT & Netflix vmaf

视频质量评价指标只是衡量画面质量的工具,单项指标的数值或高或低,这都不应是视频工作者的最终目的。微帧一直都以提升画质优化体验为主要目标,倡导应当既看 VMAF,也要结合 PSNR 和 SSIM,进行综合评估,以达到最接近人眼主观的测评效果。...

2022-07-20 14:56:54 1990

原创 【Linux】一篇文章带你入门服务器上linux项目相关操作

linux Centos上的一些基本操作,包括项目的部署流程,怎样部署运行cmake项目,怎样使用curl来进行get\post请求发送,如何上传下载文件及排序。增加一些git相关的操作以及针对项目日志进行的检索操作,同时对shell脚本进行了一个初步的介绍及实际项目应用的例子。...

2022-06-22 15:18:51 175

原创 【C++学习】两种不改变value只改变map中的key的方式

//Plan1: 使用const_cast将map的key去掉const,可能会引发问题 int a = 10; int* b = &a; std::map<int, int*> testList; testList.insert(std::pair<int, int*>(1, std::move(b))); auto it = testList.find(1); int* temp = const_cast<int*>(&it->f.

2022-03-31 17:40:03 2419

原创 【视音频编程学习】B站RTMP推流“video track parse error“问题解决

遇到的问题:使用wireshark对成功及失败的rtmp包进行分析,发现成功的第一个videoData是有数据的,但是失败的第一个videoData是没有数据的。成功:失败:是否是这里有问题?期间学习参考以下博客:手撕rtmp协议细节 ,这个系列讲的很好也很基础rtmp协议是一个应用层协议,基于tcp,所以有三次握手,在tcp建立后在进行rtmp协议层次的握手握手的过程主要完成了两个工作,一是对rtmp的版本进行校验,二是发送了一些随机数据,用于网络状况的检测Rtmp协议握手完成之后,

2022-01-04 10:06:10 2212

原创 【视音频编程学习】FFmpeg十个常用命令 || pcm与wav、amr、aac、mp3互转

1)pcm2wavffmpeg -f s16le -ar 32000 -ac 1 -i test.pcm out.wav2)pcm2amrffmpeg -f s16le -ar 8000 -ac 1 -i test.pcm out.amramr只支持输入输出为8000hz采样率3)pcm2aacffmpeg -f s16le -ar 32000 -ac 1 -i test.pcm out.aac4)pcm2mp3ffmpeg -f s16le -ar 32000 -ac 1 -i test.

2021-11-23 10:36:08 4152 4

原创 【视音频编程学习】开源音频加速方案Sonic、SoundTouch对比及实时处理音频的实验分析

语音变速不变调是指保持音调和语义保持不变,语速变快或变慢。该过程表现为语谱图在时间轴上如手风琴般压缩或者扩展。那也就是说,基频值几乎不变,对应于音调不变;整个时间过程被压缩或者扩展,声门周期的数目减小或者增加,即声道运动速率发生改变,语速也随之变化。在初步调查后,有两种方案可以实现变速不变调的功能:sonic, sountTouch,两个方案都是用来处理pcm音频文件,支持wav格式,适用于解码后的pcm数据处理。方案一:sonic处理后文件大小跟倍速值成反比。sonic处理单位为帧,存在丢失部分

2021-11-12 11:24:01 4777 5

原创 【视音频编程学习】FFmpeg 解码 AAC、PCMa-law、AMRWB、AMRNB

使用ffmpeg的解码器对多种类型的编码进行解码为pcm,分析各种类型写入decoder之前的数据,如何获取该类型的一个帧。AAC:aac文件的每一个帧有一个adts头,需要对其进行解析,获得每个aac frame的大小frameSize,再每一次进行读文件时,读取frameSize大小的数据作为aac的一个帧内容。adtsheader的大小为7个字节。 adts_header_t *adts = (adts_header_t *) aac_frame; if

2021-10-26 15:07:18 2531

原创 【实用】快速上手VSCode:常用快捷键命令行等操作

感觉vsCode好像更好用,准备转战vsCode! 先保留vs2019 再另外克隆一个库来使用vsCode命令行code :没想到在命令行直接使用code就可以打开vsCode,这么神奇,还可以使用指令(该操作在cmd和git bash都可以实现,可以设置打开终端的快捷方式,linux就不用设置了????)code -r -g package.json:128 //直接打开某个文件的某一行, -g打开文件,-r表示行直接打开两个文件并查看两个文件的不同之处code -r -d a.txt

2021-09-30 14:06:27 1285

原创 【C++学习】C++11线程及线程互斥锁

系列文章目录【C++学习】谈谈我对C++代码重构的认识【C++学习】谈谈我对C++中delete的看法文章目录系列文章目录前言一、创建和启动线程:二、线程的结束:三、线程与互斥锁:总结前言C++11在语言的层面上引入了线程,而在之前是通过Pthread库的方式引入线程库,现在通过标准库thread引入了对线程的支持,使得线程的创建和启动更加简单且更安全。引入线程的目的主要是为了实现并发,能够实现在同一进程中多个线程共享相同的地址空间,可以访问进程中的大部分数据,指针和引用可以在线程间进行传递

2021-09-10 17:38:02 313

原创 【C++学习】谈谈我对C++代码重构的认识

C++系列文章【C++学习】C++ 中delete一个指针后指针是什么状态?应该要注意什么?目录C++系列文章前言一、C++相关基础1. 类和对象2. 继承3. 函数重载4. 多态5. 虚函数6. 抽象类二、重构的技巧与方法1. 单元测试2. 函数的重构3. 类的重构4. 数据的重构三、可能的实施:notion:总结前言C++对类的重构,首先要对C++的数据结构,代码结构,封装继承虚函数等的使用要有基础,其次要对已有代码有充分的了解和认知,最后是掌握一定的重构技巧和方法。重构时需要有一定的

2021-08-27 16:18:14 677

原创 【视音频编程学习】:音视频基础知识 & 影响音视频延迟的关键因素

音视频系列文章这里是之前做的一些总结和经验分享:【视音频编程学习】:使用FFmpeg读取PCM文件编码发送目录音视频系列文章前言一、音视频基础知识1.基础知识2.H.264 相关知识3.音视频架构二、影响音视频延迟的关键因素:1.流媒体系统2.采集、前处理、编解码3.传输、抗抖动、渲染总结前言要学习音视频编程,首先要了解许多的音视频知识,音视频领域由于其商业性和封闭性,所以想要系统的学习具有一定的难度,但是在近几年的发展中,有越来越多的音视频相关的知识开放出来,也有越来越多的程序员开始涉足这一

2021-08-20 16:27:11 444

原创 【C++学习】谈谈我对C++中delete的看法

前言delete 用于释放动态申请的内存。传递给delete的指针必须指向动态分配的内存,或者是一个空指针。delete一块并非new的内存,或将相同的指针值释放多次,其行为是未定义的。编译器不能分辨一个指针所指向的对象是静态还是动态分配的。编译器也不能分辨一个指针所指向的内存是否已经释放。延伸delete一个已经delete的指针,为什么有时候会报错有时候不会?一个指针delete后是什么状态?reference1:使用delete删除指针(转) - romanten - 博客园 (c

2021-08-13 15:00:00 670 1

原创 【视音频编程学习】:使用FFmpeg读取PCM文件编码发送

读取PCM文件发送1. 什么是PCM?2. FFmpeg数据结构3. 音频数据编码所必需的参数:4. fread5. 例子1. 什么是PCM?PCM(Pulse Code Modulation,脉冲编码调制)音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准数字音频数据。描述PCM数据的6个参数:Sample Rate : 采样频率。8kHz(电话)、44.1kHz(CD)、48kHz(DVD)。Sample Size : 量化位数。通常该值为16-bit。N

2021-07-14 15:44:29 1157

RFC3550中文版.doc

RFC3550中文版.doc

2022-01-24

RTPsender (发送RTP载荷的aac、h264至本地或者组网239.255.42.42)

里面包含exe文件可以直接使用,有两种模式,一种是发送到组网,一种是发送到本地127.0.0.1,同时压缩包包含两个文件,test.aac, test.h264,可以更换。

2022-01-21

visual studio扩展插件.zip

亲测VS2019可以完美使用

2021-08-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除