数据结构入门:顺序表/链表/栈/队列/堆(原理+实现)
本文基于C语言讲解顺序表、链表、栈、队列、堆的底层实现原理,结合leetcode例题分析数据结构的实际应用,适合计算机专业初学者学习 ...
一个编译好的Cacti-spine文件,版本1.2.20,用于Linux
官方 只给了源码,我不想每次都编译,应该是可以直接复制到其他的系统上使用 要求 系统架构 / 版本一致:目标系统和编译系统的操作系统版本(如都是 Ubuntu 20.04/ CentOS 7)、CPU 架构(如都是 x86_64)必须完全一致,否则会出现 “无法执行” 或 “缺少库” 的错误。 依赖 ...
基于 cronet 的单链接性能信息收集
背景 公司的一款基于网络云盘的产品,需要统计每个链接到各个服务器节点的性能,以便后台做更优的调度。常用的性能指标有 DNS 解析耗时、连接耗时、ssl 握手耗时、首分片耗时、总的发送接收字节数、总的请求耗时以及基于它们计算的平均速度等。早先的基于 boost 的版本这些都很好统计,后来该产品底层网络 ...
FFmpeg开发笔记(九十)采用FFmpeg套壳的音视频转码百宝箱FFBox
FFmpeg是个经典的音视频处理开源框架,可是FFmpeg仅提供命令行方式,通过FFmpeg剪辑音视频只能在命令行下面操作,从而限制了普通用户掌握FFmpeg。 虽然《FFmpeg开发实战:从零基础到短视频上线》一书不仅给出了基于FFmpeg函数调用的示例代码,也给出了具体的ffmpeg操作命令, ...
FFmpeg开发笔记(八十九)基于FFmpeg的直播视频录制工具StreamCap
随着推拉流技术的发展,现在网络直播应用很普及了,打开许多App都能看到各式各样的直播节目,包括抖音、快手、虎牙、斗鱼、B站、小红书、YY、映客等等。 有关视频推拉流的FFmpeg实现参见《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2 FFmpeg推流和拉流”,使用FFmpeg结合专 ...
用C语言和文本文件实现一个简单的,可保存的通讯录
我们先思考一个通讯录都有那些信息,很明显通讯录记录的是人 人有哪些信息呢 这里我就写5个吧,分别是姓名,年龄,电话,性别,地址 然后我们把他们写成一个结构体,最好定义在头文件里,这样在使用的时候更方便 我们还可以把要使用的一些常用的或者要修改的常量定义成枚举,后续有什么要添加的,直接就能在枚举中添加 ...
C语言中的库函数feof和ferror
我们来详细解释一下 C 语言中的 ferror 和 feof 这两个库函数。 1. ferror 函数 int ferror(FILE *stream); 功能:检查指定文件流(stream)上是否发生了错误。 返回值: 如果文件流上有错误发生,返回一个非零值(true)。 如果没有错误发生,返回 ...
C语言中的数组名的隐式转换
1.数组名的隐式转换规则 在C语言中数组名在绝大多数表达式场景中,会自动转换成指向数组首元素的指针 1.1触发条件 当数组名作为表达式使用时,除两种情况外,都会发生该隐式转换 1.2触发结果 数组名会转化为指向数组首元素的指针,指针的类型由数组元素的类型决定 例外 1.数组名作为sizeof的操作数 ...
C中单向链表之增删改查
C中单向链表之增删改查 // 链表(Linked List)是一种基础但至关重要的数据结构。它通过动态内存分配实现数据的非连续存储,解决了数组的固定长度和插入/删除低效的问题。无论是算法面试还是实际开发,链表都是高频考点和核心技能之一。 #include <iostream> #include <s ...
C语言中的算术类型转换
1.寻常算数转换 在C语言中,当不同类型的操作数参与到算术运算时,编译器会将操作数转换成同一类型,再运算。这一过程被称为寻常算术转换,由于这个过程我们程序员看不见,所以它也是一种隐式类型转换(见整型提升) 1.1寻常算数转换的过程 1.1.1整型提升 若操作数是小整数类型(字节大小小于int),会自 ...
关于一种计算递归次数题的思路
代码如下 要求计算最后输出的count的结果 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int count = 0; int fib(int a) { count++; if (a == 0) return 1; else if (a == ...
使用RNNoise进行音频降噪
操作系统:Debian 12.5_x64 & Windows10_x64 rnnoise版本:0.2 gcc版本:12.2.0 python版本: 3.9.13 RNNoise是一个将传统数字信号处理与深度学习相结合的开源实时音频降噪库,可在消耗极少计算资源的情况下实现毫秒级降噪,今天整理下这方面的 ...
FFmpeg开发笔记(八十四)使用国产的librestreaming实现RTMP直播
《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2.2 FFmpeg向网络推流”介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。可是在此之前,得先有一个推流工具向MediaMTX推送视频流,这样末端的拉流程序才能从MediaMTX源源 ...
FFmpeg开发笔记(八十二)使用国产直播服务器smart_rtmpd执行推流操作
《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2.2 FFmpeg向网络推流”介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能比较简单,也不方便个性化定制,如今出现了国产的直播服务器smart_rtpmd, ...
FFmpeg开发笔记(八十一)FFmpeg代码对RTSP和RTMP的推流区别
《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2.2 FFmpeg向网络推流”介绍了如何使用FFmpeg代码向网络推送视频流,当时的例程采用了RTSP方式推流,在向RTSP地址时推流是正常的,但向RTMP地址推流时出现了问题,下面就介绍了如何使用FFmpeg代码向RTMP地址推送视频流 ...


