- 博客(24)
- 收藏
- 关注
原创 FFMPEG推流器讲解
FFMPEG中有六个比较重要的结构体,分别是结构体,这几个结构体是贯穿着整个FFMPEG核心功能。这个结构体是统领全局的基本结构体,这个结构体最主要作用的是处理封装、解封装等核心功能。输入数据的封装格式,仅作用于解封装用avformat_open_input输出数据的封装格式,仅作用于解封装用avformat_write_headerI/O的上下文,在解封装中由用户在avformat_open_input之前来设置,若封装的时候用户在avformat_write_header之前设置。
2024-08-15 18:12:07
1588
原创 RV1126音频开发
音频原始数据PCM,PCM全称是脉冲编码调制数据。PCM数据是未经过压缩的音频数据,它是由模拟信号经过采样、编码等步骤转换成标准的数字信号,下面是PCM生成的总流程。从下面这个流程图,我们可以看出来,音频模拟信号转换成数字信号需要经过三大步骤会变成PCM音频数字信号。
2024-08-14 23:55:51
1114
1
原创 音视频开发
但是要注意的是,在设置QP值的时候会容易造成码率的波动,有时候画面质量提升了会导致码率大幅度提升,所以在提升画面质量的时候也需要考虑码率的情况。OSD(on-screen-display)中文名称是屏幕菜单调节显示方式,它的作用是对屏幕显示器做各种工作指标,包括:色彩、几何图形等进行调整,从而使得整个显示器得到最佳的状,最常见的OSD调试就是在屏幕上添加水印、LOGO。设置最大量化器,最大QP值,限制最差的画面(重点在运动的时候),maxQp越小,运动时候码率就越大,质量相对越好。越精细,否则越粗糙;
2024-08-14 21:07:47
1117
原创 音视频开发继续学习
RGA区域属性结构体图像格式类型RGA的X轴坐标RGA的Y轴坐标RGA的宽度RGA的高度虚宽,一般和宽度一样虚高,一般和高度一样。
2024-08-14 17:35:14
1353
原创 FreeRtos系统
Freertos是一个可剪裁,可剥夺型的多任务内核,而且没有任务数限制。Freertos提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。Freertos是用C和汇编来写的,其中绝大部分都是用C语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的,Freertos结构简洁,可读性很强!最主要的是非常适合初次接触嵌入式实时操作系统开发者。
2024-08-11 17:52:38
779
原创 32开发板实现硬件I2C及OLED显示
总线通过上拉电阻接到电源。当IIC设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻态,由上拉电阻把总线拉成高电平。多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定哪个设备占用总线。具有三种传输模式:标准模式传输速率为100kbit/s,快速模式为400kbit/s,高速模式下可达3.4M/s,但目前大多IIC设备尚不支持高速模式。一般情况下使用的都是400kbit/s。
2024-08-05 15:00:14
816
原创 32开发板的基础学习
输出模式推挽输出让输出控制变成了VDD/VSS输出,使得输出电流增大提高了输出引脚的驱动能力,提高了电路的负载能力和开关的动作速度开漏输出推挽输出模式可以直接输出高电平,开漏输出需要外接上拉电阻才能输出高电平开漏输出的特性利用外部电路驱动能力实现电平转换方便实现逻辑与功能复用推挽开漏输出GPIO除了作为通用输入输出引脚使用以外,还可以作为片上外设(专用引脚,即一个引脚可以有多种用途,但是同一时刻一个引脚只能使用复用功能中的一个。
2024-08-02 00:47:37
907
原创 Linux网络编程
冷战的产物1957年十月和十一月,前苏联先后欧两颗“Spuinik”卫星上天1958年美国总统艾森豪威尔向美国国会提出建立DARPA,即国防部高级研究计划署,简称ARPA.1968年6月DARPA提出资源共享计算机网络,目的在于让DARPA的所有电脑互连起来,这个网络就叫做ARPAnet,即阿帕网,是Internet的最早雏形。早期的ARPAnet使用网络控制协议,不能互联不同类型的计算机和不同类型的操作系统,没有纠错功能。1973年有。
2024-07-21 23:01:23
492
原创 Linux线程的学习
多进程: 始终共享的资源 代码、文件描述符、内存映射区。加读锁成功,又来了三个线程,做读操作,可以加锁成功。加写锁成功,又来了三个线程,做读操作,三个线程阻塞。多线程:始终共享的资源:堆、全局变量,节省资源。在访问其他锁的时候,需要先将自己的锁解开。当条件满足,通知阻塞的线程开始工作。唤醒至少一个阻塞在条件变量上的线程。创建会话的进程成为新进程组的组长。一共五个线程,栈区被平均分成五块。唤醒全部阻塞在条件变量上的线程。父亲死,儿子执行创建会话操作(加锁失败,不阻塞,直接发牛。对于内核来货,线程就是进程。
2024-07-20 16:15:12
996
原创 Linux管道的继续学习及队列和内存
有名管道在磁盘上有这样一个文件ls -l ->p也是一个伪文件,在磁盘大小永久为0数据存在内核中有一个对应的缓冲区半双工通信方式没有血缘关系的进程间通信命令:mkfifo管道名函数:mkfifoopen/closeread/write不能执行lseek操作写文件读文件先运行读文件,再运行写文件消息队列,是消息的链表,存放在内核中,一个消息队列由一个标识符(队列ID)来标识。
2024-07-17 21:30:09
245
原创 Linux进程的学习
程序:二进制文件,占用的磁盘空间进程: 启动的程序所有的数据都在内存中需要占用更多的系统资源cpu,物理内存并发并行并行和并发的区别并发,指的是多个事情,在同一时间段内同时发生了。并行,指的是多个事情,在同一时间点上同时发生了。并发的多个任务之间是互相抢占资源的。并行的多个任务之间是不互相抢占资源的、只有在多CPU或者一个CPU多核的情况中,才会发生并行。否则,看似同时发生的事情,其实都是并发执行的每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,
2024-07-16 17:34:56
250
原创 Linux文件继续
打开一个文件,返回一个文件的指针注:mode有以下值:r:只读方式打开,文件必须存在r+:可读写,文件必须存在rb+:打开二进制文件,可以读写rt+:打开文本文件,可读写w:只写,文件存在则文件长度清0,文件不存在则建立该文件w+:可读写,文件存在则文件长度清0,文件不存在则建立该文件a:附加方式打开只写,不存在建立该文件,存在写入的数据加到文件尾,EOF符保留a+:附加方式打开可读写,不存在建立该文件,存在写入的数据加到文件尾,EOF符不保留wb。
2024-07-14 17:28:48
1065
原创 Linux的学习
1.cd+文件夹,访问摸个文件夹 (/根目录)2.ls 显示当前所在目录的文件3.touch+文件名 创建文件4.rm+文件名 删除文件5.mkdir+目录名 创建目录6.rm -rf + 目录名 删除目录7.TAB键 补全8.sudo +命令 ,用管理员权限执行命令9.pwd 显示当前目录的绝对路径。
2024-07-13 21:39:46
721
原创 巩固加新学
预处理命令,源文件的前面加上#undef 名字作用域就取消了宏定义表示数据类型宏定义和typedef的区别宏定义只是简单的字符串替换,是在预处理完成的,而typedef是在编译时处理的带参数的宏定义条件编译。
2024-07-11 20:26:19
483
原创 第一天学习c语言
原来用的软件是vs,这个老师用的是codeblocks第一个学习的是输出hello world简简单单,但是我把他改成hello之后,还是输出的hello world ,结果发现是没有进行编译,编译之后完美解决。紧接着学习了bool类型,总结就是一句话,只要不是0就都是真,别忘了引用头文件stdbool.h在计算机中如何存储都是补码正数的原反补码都是一样的,负数如-1原码1000 0001反码1111 1110补码1111 11111。
2024-07-07 23:37:50
712
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人