<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2201_75395873的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2201_75395873</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2201_75395873]]></copyright><item><title><![CDATA[音视频开发项目-3RKMedia 三大模块初始化]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/164050161</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/164050161</guid><author>2201_75395873</author><pubDate>Tue, 25 Aug 2026 12:21:17 +0800</pubDate><description><![CDATA[这一篇看里的。这个函数是整个硬件侧的"配置中心"，。]]></description><category></category></item><item><title><![CDATA[音视频开发项目-2主函数]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/164049813</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/164049813</guid><author>2201_75395873</author><pubDate>Tue, 25 Aug 2026 11:42:24 +0800</pubDate><description><![CDATA[上一篇定了地图，这篇正式进代码。入口是，整个文件只有 35 行，但我在这 35 行上花的时间比想象中多——因为。]]></description><category></category></item><item><title><![CDATA[音视频开发项目-1开篇]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/164047851</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/164047851</guid><author>2201_75395873</author><pubDate>Tue, 25 Aug 2026 10:57:07 +0800</pubDate><description><![CDATA[这个系列博客就按这个顺序写。]]></description><category></category></item><item><title><![CDATA[RV1126 音视频开发：AENC 音频编码模块详解]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163914772</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163914772</guid><author>2201_75395873</author><pubDate>Fri, 21 Aug 2026 13:55:55 +0800</pubDate><description><![CDATA[AENC 是 RKMPP 中负责音频编码的功能模块。与视频编码（VENC）类似，AENC 通过 MPI（Media Process Interface）对外提供统一的编程接口，屏蔽了底层硬件编解码器的差异。初始化 AI 音频采集通道：设置采样率（48000Hz）、采样格式（S16）、声道数（2）等参数，并通过配置、使能 AI 通道。创建 AENC 编码通道：配置编码类型为 AAC、码率 64kbps、采样率与 AI 通道保持一致，通过创建编码通道。绑定 AI 与 AENC 通道：通过。]]></description><category></category></item><item><title><![CDATA[音视频开发-VCL层和NAL层]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163297457</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163297457</guid><author>2201_75395873</author><pubDate>Fri, 21 Aug 2026 13:55:42 +0800</pubDate><description><![CDATA[在我们做音视频产品的时候，经常会把音视频数据进行网络传输，而此时音视频数据就需要进行编码(所谓编码就是指压缩)。因为在网络传输的时候，网络带宽有限，若此时网络传输的时候还用原始数据进行传输的时候，则会对网络带宽造成极大的负担。比方说一个分辨率为1280 * 720 帧率为30帧的视频，按照YUV420格式的计算，它每秒传输的数据量就是1280* 720* 30 * 3/2 ~= 39.5M，这个数据量是极其惊人的。]]></description><category></category></item><item><title><![CDATA[音视频开发-PCM 原理与 AI 模块实战]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163914227</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163914227</guid><author>2201_75395873</author><pubDate>Thu, 20 Aug 2026 12:13:19 +0800</pubDate><description><![CDATA[根据奈奎斯特采样定理：当采样率大于等于连续信号最高频率的 2 倍时，采样信号就能无差别还原出原始信号。例如采样深度为 16bit，则声音有 2 的 16 次方个振幅等级；本文将从 PCM 原理出发，系统讲解音频数据的生成过程、核心参数与存储格式，并结合 AI 模块（语音识别、AI 降噪等）的实战应用，帮助读者建立从底层数据到上层智能处理的完整认知。采样率指每秒钟采样的个数，即 1 秒内采集声音的频率。：在坐标轴上把每一个离散采样点进行数字化操作，即把每个采样点用竖线表示出来，方便后续数字化存储。]]></description><category></category></item><item><title><![CDATA[音视频开发-QP 原理]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163907494</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163907494</guid><author>2201_75395873</author><pubDate>Thu, 20 Aug 2026 10:23:21 +0800</pubDate><description><![CDATA[先说说我自己的理解吧。QP 全称是 Quantization Parameter，量化参数。一开始看到这个词我是懵的，后来查了不少资料才慢慢明白：它就是视频编码器里控制画质和码率的一个关键旋钮。简单打个比方：编码器把画面压缩的时候，会先把图像变换成频域系数，然后除以一个量化步长再取整。这个步长就是由 QP 决定的。QP 越大，步长越大，丢掉的细节越多，画质越差，但码率越低；QP 越小，步长越小，细节保留越多，画质越好，但码率也越高。说白了，QP 就是画质和码率之间的一个平衡杆，往哪边偏都有代价。]]></description><category></category></item><item><title><![CDATA[音视频开发-高分辨率与低分辨率双路码流]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163435144</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163435144</guid><author>2201_75395873</author><pubDate>Mon, 03 Aug 2026 10:58:42 +0800</pubDate><description><![CDATA[【代码】音视频开发-高分辨率与低分辨率双路码流。]]></description><category></category></item><item><title><![CDATA[音视频开发 - VENC 模块深入解析]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163433920</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163433920</guid><author>2201_75395873</author><pubDate>Mon, 03 Aug 2026 10:43:54 +0800</pubDate><description><![CDATA[在音视频开发中，VENC（Video Encoder，视频编码器）是将摄像头、屏幕录制等产生的原始视频帧（YUV/RGB）压缩为符合标准的视频码流（如 H.264、H.265）的核心模块。它直接影响最终视频的画质、延迟和文件大小，是实时通信、直播推流、安防监控等场景的基础设施。VENC 模块通常位于采集（VI）、预处理（VPSS）之后，负责接收原始帧、根据配置参数编码、输出码流包。]]></description><category></category></item><item><title><![CDATA[音视频开发-码率和码率控制]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163386731</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163386731</guid><author>2201_75395873</author><pubDate>Sat, 01 Aug 2026 10:29:29 +0800</pubDate><description><![CDATA[比如：一段 60 秒、码率 2 Mbps 的视频，大约占用 15 MB 空间（2 Mbps × 60s ÷ 8）。用固定量化参数（如 H.264/AVC 中的 QP）来编码，量化参数决定了压缩强度，从而间接控制码率。：既想要 VBR 的画质优势，又不希望瞬间流量冲垮播放器的场景（比如硬件播放设备对峰值码率有限制）。画质好的场景码率自动低，画质复杂的场景码率自动飙高。整个文件最终的平均码率达到目标值即可，允许局部波动，比纯 CBR 灵活。：直播推流（如 RTMP），带宽稳定的场景。]]></description><category></category></item><item><title><![CDATA[音视频开发-H264 编码与 GOP 帧]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163385775</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163385775</guid><author>2201_75395873</author><pubDate>Sat, 01 Aug 2026 10:18:49 +0800</pubDate><description><![CDATA[H.264（AVC）是一种高效视频编码标准，通过帧内/帧间预测减少冗余。其核心是GOP（图像组）结构，包含I帧（独立编码）、P帧（前向预测）和B帧（双向预测）。I帧确保随机访问，P/B帧提升压缩率。GOP长度直接影响压缩效率和访问性能：长GOP适合存储（高压缩），短GOP适合直播/会议（低延迟）。解码时需处理帧顺序重排。合理配置GOP结构和帧类型对视频应用至关重要，需平衡压缩率、延迟和容错性。]]></description><category></category></item><item><title><![CDATA[音视频开发-rga模块]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163296689</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163296689</guid><author>2201_75395873</author><pubDate>Wed, 29 Jul 2026 10:44:36 +0800</pubDate><description><![CDATA[【代码】音视频开发-rga模块。]]></description><category></category></item><item><title><![CDATA[音视频开发-vi模块demo]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163294839</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163294839</guid><author>2201_75395873</author><pubDate>Wed, 29 Jul 2026 10:33:34 +0800</pubDate><description><![CDATA[00。]]></description><category></category></item><item><title><![CDATA[音视频开发-vi模块]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163244133</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163244133</guid><author>2201_75395873</author><pubDate>Mon, 27 Jul 2026 15:17:40 +0800</pubDate><description><![CDATA[rv1126的VI模块是音视频输入模块，作用是读取sensor的数据。VI模块的底层是对V4L2驱动接口的一系列封装，它本质上还是依赖Linux底层的V4L2驱动架构并向应用层提供对应的设备文件节点，比方说(/dev/video*)。而VI模块可以通过操作类似于/dev/video*这样的设备节点来读取摄像头数据。]]></description><category></category></item><item><title><![CDATA[音视频开发-yuv原理]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/163243887</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/163243887</guid><author>2201_75395873</author><pubDate>Mon, 27 Jul 2026 15:02:36 +0800</pubDate><description><![CDATA[yuv和rgbyuv相较于rgb优势在于音视频传输时更节省网络带宽。]]></description><category></category></item><item><title><![CDATA[FTP云盘项目]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/162266107</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/162266107</guid><author>2201_75395873</author><pubDate>Wed, 24 Jun 2026 12:16:30 +0800</pubDate><description><![CDATA[由于tcp是流式传输，服务器或客户端在读数据时不知会接受多少数据，故会使用while循环一直读，当接收到结束标记时才会终止。所以在服务器或客户端在写完一段数据后需要写入结束标记，帮助接收方完成读操作。客户端与服务器建立起tcp连接，利用socket返回的fd，对其进行读写操作，从而实现云盘功能。ls,cd,get,put大致流程都如下图所示。]]></description><category></category></item><item><title><![CDATA[linux网络编程]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/162225518</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/162225518</guid><author>2201_75395873</author><pubDate>Tue, 23 Jun 2026 11:56:54 +0800</pubDate><description><![CDATA[基本流程如下：服务器：1 .socket创建套接字2.bind绑定主机端口3.listen监听4.accept当有客户端请求连接时接受并创建新的套接字用于服务该客户端5.对accept 返回的fd可以进行读写操作客户端：1.socket创建套接字2.connect像服务器请求连接3.对connect返回的套接字可以进行读写操作tcp并发操作的基本代码如下：500151024客户端500151024。]]></description><category></category></item><item><title><![CDATA[linux线程]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/161949589</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/161949589</guid><author>2201_75395873</author><pubDate>Mon, 15 Jun 2026 10:02:09 +0800</pubDate><description><![CDATA[1.特点2.进程组3.会话获取进程所属的会话ID创建一个会话一般流程fork（）子进程后，父进程退出（父进程是进程组的组长不能创建会话）子进程创建会话。]]></description><category></category></item><item><title><![CDATA[进程间通信]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/161886948</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/161886948</guid><author>2201_75395873</author><pubDate>Fri, 12 Jun 2026 10:17:35 +0800</pubDate><description><![CDATA[进程间通信的方式有：1.无名管道2.有名管道3.消息队列4.共享内存5.信号6.信号量。]]></description><category></category></item><item><title><![CDATA[Linux进程]]></title><link>https://blog.youkuaiyun.com/2201_75395873/article/details/161695356</link><guid>https://blog.youkuaiyun.com/2201_75395873/article/details/161695356</guid><author>2201_75395873</author><pubDate>Thu, 04 Jun 2026 20:26:26 +0800</pubDate><description><![CDATA[1.进程概念进程是一段正在运行的程序，其数据存储在内存中，他需要占用cpu，物理内存等系统资源2.并发与并行并发：在一段时间内，进程交替运行，让进程感受到是独自占用资源并行：在同一个时间点上，进程同时运行3.pcb（进程控制块）本质是结构体，成员有：pid（进程id）：进程标识符进程状态：比如初始态，就绪态，运行态等进程切换时需要保存和恢复一些CPU寄存器描述虚拟地址空间的信息描述控制终端的信息。]]></description><category></category></item></channel></rss>