自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 音视频概要

while循环中一直使用的是!false,当变成true之后就会直接退出循环,也就是当用户按Ctrl+c之后,就会中止程序。

2024-08-13 22:37:56 1202

原创 基于FreeRTOS的IIC驱动OLED屏幕显示温湿度

OLED实时显示当前的温湿度上面是部分代码显示,底下有完整代码显示。

2024-08-13 16:24:40 352

原创 FreeRtos系统

Freertos是一个可剪裁,可剥夺型的多任务内核,而且没有任务数限制。Freertos提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。Freertos是用C和汇编来写的,其中绝大部分都是用C语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的,Freertos结构简洁,可读性很强!最主要的是非常适合初次接触嵌入式实时操作系统开发者。

2024-08-11 17:52:38 779

原创 实现软件I2C

关于一下定义在前面的硬件I2C中已经有过说明,这里只说明函数的实现代码。

2024-08-05 17:43:18 219

原创 32开发板实现硬件I2C及OLED显示

总线通过上拉电阻接到电源。当IIC设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻态,由上拉电阻把总线拉成高电平。多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定哪个设备占用总线。具有三种传输模式:标准模式传输速率为100kbit/s,快速模式为400kbit/s,高速模式下可达3.4M/s,但目前大多IIC设备尚不支持高速模式。一般情况下使用的都是400kbit/s。

2024-08-05 15:00:14 816

原创 基于32开发板的智能垃圾桶项目

keil5,烧录软件,串口调试助手。

2024-08-04 00:43:18 377

原创 51单片机的继续学习

SCON。

2024-08-03 20:27:25 126

原创 51单片机的基础学习

软件:keil5 烧录程序:STC-ISP。

2024-08-03 00:47:52 158

原创 32开发板的基础学习

输出模式推挽输出让输出控制变成了VDD/VSS输出,使得输出电流增大提高了输出引脚的驱动能力,提高了电路的负载能力和开关的动作速度开漏输出推挽输出模式可以直接输出高电平,开漏输出需要外接上拉电阻才能输出高电平开漏输出的特性利用外部电路驱动能力实现电平转换方便实现逻辑与功能复用推挽开漏输出GPIO除了作为通用输入输出引脚使用以外,还可以作为片上外设(专用引脚,即一个引脚可以有多种用途,但是同一时刻一个引脚只能使用复用功能中的一个。

2024-08-02 00:47:37 907

原创 音视频开发的基础操作

音视频开发的软件基础

2024-07-31 22:14:22 182 1

原创 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中信号的学习

信号通信,其实就是内核向用户空间进程发送信号,只有内核才能发信号,用户空间进程不能发送信号信号的发送代码结果显示。

2024-07-19 19:40:04 130

原创 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语言

内存是一维的,存放按行序优先。

2024-07-08 23:11:52 460

原创 第一天学习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关注的人

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