这门课针对移动端音视频底层开发,核心解决Android平台音视频编解码、JNI桥接及自定义框架搭建问题。资料以C语言与C++语言基础为骨架,延伸至NDK编译、H.264/H.265码流解析与实战项目,适合具备C语言基础、了解Android开发流程、有实际音视频项目经验的开发者。
这门课解决什么问题
移动端音视频应用开发,尤其是直播、视频通话、低延时投屏等场景,需要在Android平台完成音视频编解码、跨语言桥接和自定义协议框架。资料从底层语法出发,逐层搭建能力:先以C语言夯实指针、函数、文件IO等基础,再以C++补齐面向对象与泛型能力,接着进入NDK编译流程与JNI函数调用机制,最后深入H.264/H.265码流解析,并动手实现自定义播放框架与WebRTC核心模块。整条路径从语法到工程,从原理到实战,形成可落地的音视频底层开发体系。
适合什么基础
建议具备C语言基础,至少理解指针、函数、文件IO的基本用法;了解Android开发流程,能阅读NDK相关文档;有音视频项目经验的开发者优先。资料不覆盖音视频理论,但要求能独立完成从编写代码到编译运行的基本流程。
建议学习顺序
建议按以下顺序推进:先以C语言基础模块夯实指针常量、复杂函数、文件IO等能力,这是后续所有模块的语法基础;再以C++语言模块补齐命名空间、类与模板,理解内敛函数、函数重载、虚函数原理,为自定义框架与泛型编程打基础;随后进入NDK与音视频解析模块,理解JNI编译与运行流程、cmake编译流程,掌握H.264与H.265码流解析方法,包括哥伦布编码与树型编码;最后进入实战项目,从零搭建自定义播放框架、实现低延时投屏传输、手写WebRTC核心。整体遵循从语法到工程、从原理到落地的逻辑,避免跳跃导致理解断层。
学完能独立做什么
学完能独立完成音视频编解码调用、JNI函数交互、自定义播放框架搭建、低延时投屏传输、H.264/H.265码流解析等工程任务。具体包括:编写JNI桥接代码实现C/C++与Java层通信;解析视频流片段并提取完整帧;搭建自定义Gif播放框架;实现H.265低延时投屏传输;从零打造H.265版视频通话项目并手写WebRTC核心。这些能力可直接迁移到音视频直播、远程会议、视频通话等场景的底层开发。
资料怎么配合练习
资料以代码实操为主,建议结合课堂示例动手实现音视频帧解析、JNI桥接与WebRTC核心模块。每个模块都有配套代码示例,关键节点建议独立复现核心逻辑,而非仅跟随演示。建议在学习每个语法模块后,立即用同一套题目验证理解,再进入下一模块,形成递进式能力积累。遇到NDK编译或码流解析难点时,可结合课后答疑视频回顾调用机制,加深对底层流程
课程目录
01《高级音视频专题》C语言基础05-指针常量与常量指指针终结内容(1节)
02《高级音视频专题》C语言基础06-复杂函数 与文件IO读写(1节)
03《高级音视频专题》C++语言基础01-命名空间,引用,对象创建(1节)
04《高级音视频专题》C++语言基础02-内敛函数,函数重载(1节)
05《高级音视频专题》C++语言基础03-构造函数与析构函数(1节)
06《高级音视频专题》C++语言基础04-手写C++ArrayList与常函数(1节)
07《高级音视频专题》C++语言基础05-运算符重载(1节)
08《高级音视频专题》C++语言基础06-虚函数原理剖析(1节)
09《高级音视频专题》C++语言基础07-函数模板(1节)
10《高级音视频专题》(1节)
11《高级音视频专题》C++语言基础08-框架(1节)
12《高级音视频专题》C++语言基础08-实战应用之手写Gif播放框架02(1节)
13《高级音视频专题》NDK开发之JNI编译与运行(1节)
14《高级音视频专题》cmake原理详解 androidstudio与cmake编译流程(1节)
15《高级音视频专题》下午答疑-JNI函数调用机制(1节)
16《高级音视频专题》H264视频编码原理02(1节)
17《高级音视频专题》实战任何视频流片段都能解析出完整帧技术(1节)
18《高级音视频专题》直播答疑(1节)
19《高级音视频专题》深度解析H264码流,哥伦布编码解析H264码流中(1节)
20《高级音视频专题》H265编码原理原理与码流分析(VPS,树型编码)(1节)
21《高级音视频专题》周五晚上答疑(Android摄像头nv21数据详解)(1节)
22《高级音视频专题》用H265实现低延时投屏传输(1节)
23《高级音视频专题》从零打造H265版视频通话项目,手写WebRtc核心(1节)
24《高级音视频专题》答疑(摄像头旋转,码率,音视频会议bug解答)(1节)
25《高级音视频专题》音视频剪辑原理,手写两个音频合成(1节)
26《高级音视频专题》两个音频PCM合成实现混音(1节)
27《高级音视频专题》视频剪辑原理,手写一键制作大片(1节)
28《高级音视频专题》直播答疑(wav存储原理,手写两个视频拼接)(1节)
29《高级音视频专题》Camera2与CameraX框架机制详解(1节)
30《高级音视频专题》推流(硬编)01-手写哔哩哔哩硬编码录屏推流(1节)
31《高级音视频专题》直播答疑(硬编)(音频推流)(1节)
32《高级音视频专题》02-视频直播服务器搭建与交叉编译原理(1节)
33《高级音视频专题》直播推流(软编)03-X264集成与Camera推流(1节)
34《高级音视频专题》(软编)04-直播服务器搭建,x264软编原理详解(1节)
35《高级音视频专题》直播推流(软编)05-CameraX详解与摄像头推流(1节)
36《高级音视频专题》直播推流(软编)06-音频编码与推流(1节)
37《高级音视频专题》Opengl程序运行机制(顶点,片元,gpu传值)(1节)
38《高级音视频专题》Opengl基础02-(用Opengl实现摄像头灰色滤镜)(1节)
39《高级音视频专题》02Opengl基础03 opengl抖音录制滤镜视频(1节)
40《高级音视频专题》直播答疑(1节)
41《高级音视频专题》抖音视频滤镜特效02 -贴纸效果与美颜效果(1节)
42《高级音视频专题》抖音视频滤镜特效06 -美颜效果(1节)
43手写腾讯MMKV01 ,手把手带你理解MMKV如何突破IO瓶颈(1节)
44手写腾讯MMKV02,ProtuBuffer协议打造最优存储(1节)
45手写腾讯MMKV03,mmkv 取值与存值(1节)
46OpenCV人脸定位1,人脸定位(1节)
47OpenCV人脸定位2,从零手写人脸定位(1节)
48FFmpeg软解(1节)
49FFmpeg软解之视频软解02(1节)
50【音视频】万能音乐播放器02-音乐架构搭建-David(1节)
51【kotlin专题】04.02-Kotlin开发初体验-Jason(1节)
52【kotlin专题】-04.05-条件语句-Jason(1节)
53【kotlin专题】-04.09-字符串操作-Jason(1节)
54【kotlin专题】-04.09-字符串操作,数字类型-Jason(1节)
55【kotlin专题】-04.09-字符串操作,数字类型,标准库函数-Jason(1节)
56【kotlin专题】-04.09-字符串操作,数字类型,标准库函数(1节)
57【音视频专题】万能音乐播放器-David(1节)
58【音视频专题】万能音乐播放器- 音频播放器-David(1节)
59【音视频专题】万能音乐播放器04 – 音频播放器架构搭建-David(1节)
60【音视频专题】万能音乐播放器04 – 音频播放器架构搭建-最后一节(1节)
61【音视频专题】FFmpeg-05(1节)
62【音视频专题】FFmpeg万能音乐播放器05(1节)
63【音视频专题】FFmpeg万能音乐播放器05- 音频倍速原理(1节)
64【音视频专题】FFmpeg万能音乐播放器05- 音频倍速原理-David(1节)
65【kotlin专题】VIP04-04.12-集合(1节)
66【kotlin专题】VIP05-04.14-定义类,初始化,继承-Jason(1节)
67【kotlin专题】VIP06-04.16-对象,接口,抽象类-Jason(1节)
68【音视频专题】从零实现手写多对多音视频会议(H264)(1节)
69【音视频专题】手写FFmpeg万能播放器实现-音视频同步与渲染(1节)
70【kotlin专题】VIP07-4.19-接口与抽象类与泛型-JASON(1节)
71【kotlin专题】VIP08-4.21-扩展、函数式编程-jason(1节)
72【kotlin专题】Kotlin开发Android 、kotlin协程-Jason(1节)
73【音视频专题】VIP-59-2021.4.24万能播放器之音视频同步原理02(1节)
74【kotlin专题】VIP10-4.28–函数式编程-JASON(1节)
75【kotlin专题】VIP11-4.30-函数式编程-序列-JASON(1节)
76【音视频专题】2021.5.8webrtc通话机制(基于google-webrtc)(1节)
77【音视频专题】2021.5.9-Webrtc音视频会议02- 本地预览与SDP交换(1节)
78【kotlin专题】5.10-用Kotlin开发Android应用、协程(1节)
79【kotlin专题】5.12-协程的取消超时组合挂起函数(1节)
80【kotlin专题】5.14-协程组合挂起函数与上下文(1节)
81【音视频专题】5.16Webrtc音视频会议03- 本地预览与SDP交换(1节)
82【kotlin专题】5.17-协程上下文(1节)
83【kotlin专题】5.21协程上下文与调度器(1节)
84【gradle专题】(1节)
85【gradle专题】2021.5.26– Groovy类与方法(1节)
86【gradle专题】2021.5.28-Groovy动态特性及元编程(1节)
87【gradle专题】2021.5.31- 掌握Gradle基础(1节)
88【gradle专题】2021.6.2-Gradle的核心模型:Project(1节)
89【gradle专题】网络出问题,老师分享一下面试经验(1节)
90【gradle专题】2021.6.5-Gradle依赖管理(1节)
91【gradle专题】2021.6.7-Android Gradle第7节(1节)
92【gradle专题】2021.6.9号-Android Gradle第8节(1节)
93【gradle专题】2021.6.11-Android Gradle第9节(1节)
94【gradle专题】(5节)
95【架构专题】(3节)