这门课解决什么问题

做海思平台开发,最常遇到的卡点不是环境搭不起来,而是官方文档太薄、直接看 sample 源码又像看天书。这门课就是冲着这个痛点来的:它不空谈 API 理论,而是把官方 mpp sample 里的 venc 部分拆开,逐句讲清楚每一行在干什么、为什么这么写。如果你在做安防摄像头、行车记录仪或者边缘计算盒子的音视频采集与编码,经常被视频输入到编码输出这条链路里的各种参数报错绕晕,这门课能帮你把底层逻辑理顺,让你知道每一步数据到底是怎么流动的。

适合什么基础与学习顺序建议

这不适合完全没碰过嵌入式 Linux 的新人。你需要懂基本的 C 语言,最好之前自己尝试过编译海思的 SDK 但没完全看懂 sample 代码。拿到资料后,建议先看图像像素格式和 RGB 与 YUV 这几节,很多人在处理画面颜色偏移或格式转换时出错,根因是对 YUV 的内存排布理解不到位,补完这块再看后续模块会顺畅很多。接着重点看视频缓存池和 MPP 初始化这两块,这是海思平台内存管理的核心,搞不懂缓存池分配,后面处理大码率视频必然踩内存泄漏的坑。最后再跟着视频输入和编码输出的流程分析,把整个链路串起来。

学完能独立做什么与资料配合练习

学完后,你应该能独立基于官方例程做二次开发。比如根据实际摄像头硬件修改视频输入通道的分辨率和帧率配置,调整编码器码率控制参数来满足不同网络环境的传输需求,或者把编码后的 H.264 码流单独抽出来做本地存储。看资料的时候不要光听,一定要在本地把 SDK 包准备好,视频里讲到哪个函数,就切到对应的 sample 源码文件里去看上下文,自己跟着走一遍初始化流程。遇到缓存池参数配置的地方,尝试自己修改数值重新编译跑一下,看看画面会有什么变化,这样把源码分析和实际调试结合起来,才算真正把这套 API 吃透。


本课程目标是学习海思SDK的mpp sample例程,从源码级别对sample中的venc源码逐句分析,学完后对海思平台上视频输入、处理、编码输出等整个流程有了深度的学习。

课程目录

*   01 2.1.官方mppsample的总体分析.mp4 31:24

*   02 2.2.图像像素格式深度理解1.mp4 21:03

*   03 2.3.图像像素格式深度理解2.mp4 23:07

*   04 2.4.RGB和YUV详解1.mp4 28:06

*   05 2.5.RGB和YUV详解2.mp4 29:39

*   06 2.6.海思MPP功能模块和视频缓存池.mp4 35:19

*   07 2.7.视频缓存池.mp4 33:50

*   08 2.8.程序流程分析和MPP初始化详解1.mp4 31:10

*   09 2.9.程序流程分析和MPP初始化详解2.mp4 30:18

*   10 2.10.VI部分详解1.mp4 33:15

*   11 2.11.VI部分详解2.mp4 26:05

*   12 2.12.VI部分详解3.mp4 25:55

*   13 2.13.VPSS部分详解1.mp4 31:56

*   14 2.14.VPSS部分详解2.mp4 20:07

*   15 2.15.VPSS部分详解3.mp4 19:35

*   16 2.16.图像编码压缩基本原理.mp4 22:49

*   17 2.17.MPP手册中图像编码部分解读.mp4 26:41

*   18 2.18.sample中venc模块源码解读.mp4 16:58

*   19 2.19.编码后的流文件输出和课程总结.mp4 34:55