首页
课程
讲师
0.9元体验
hot
0.9元体验音视频开发
0.9元体验大数据开发
0.9元体验Java全栈开发
体系课
Android音视频工程师
Java全栈工程师
大数据开发工程师
AI 算法工程师
我的课程
登录
/
免费注册
¥
4599
限时优惠
原价:
¥
6699
0.9元试学
优惠购买
¥
4599
限时优惠
原价:
¥
6699
0.9元试学
优惠购买
音视频:互联网的刚需和标配
音视频应用呈现井喷状态,高薪人才一将难求
新兴行业
短视频、直播、视频通话、美颜、狼人杀、这些爆红的网络应用背后,都有一些共同的特征,例如音视频与社交功能的融合
传统行业
音视频还可以嵌入在线教育、远程医疗、智能硬件、企业服务软件等更广泛的垂直领域内,音视频技术的进步催生更专业化的服务
作为安卓工程师,你是否有这种困境
低薪事多,一年经验多年用
迷茫无方向
毫无头绪,没有方向,盲目学习,不成体系
迷茫无方向
产品业务简单,工作长期复制粘贴
能力模型有缺陷
无完善的知识体系,面向“Google”编程
选择音视频开发:薪资高、岗位多
从此不再是”CV“工程师
京东
Android NDK开发工程师
薪资范围:25K-50K
任职要求:
三年以上的Android平台应用开发经验,熟悉Android平台及框架原理
精通C,C++,熟悉NDK开发
有完整的APP自动化代码测试设计,编写,部署的经验
对性能优化,内存管理有完整的方法论支撑,并能清晰阐述
熟悉TCP/IP,对网络优化有相关经验
有良好编码风格,追求代码执行效率
小红书
Android研发工程师-音视频方向
薪资范围:25K-50K
任职要求:
优秀的编码与代码控制能力,良好的设计能力和编程习惯
熟练掌握JAVA,Kotlin,熟悉Android SDK,熟悉Android的UI/网络/数据库框架
熟悉Mediacodec,NDK,JNI,C/C++技术者优先
了解FFmpeg,OpenGL者优先
有音视频性能优化和适配经验者优先
NewsDog
Android开发工程师-音视频方向
薪资范围:20K-40K
任职要求:
有3年以上Android开发经验,并且做过核心模块开发
精通Java,掌握c/c++,深刻理解面向对象编程的思想
熟悉图像处理、音视频处理技术
较强的分析问题,解决问题的能力
优秀的沟通能力和团队合作精神
美图秀秀
音视频直播Android高级工程师
薪资范围:25K-45K
任职要求:
3年以上Android开发经验
有多个完整的Android项目经验,至少参与一个完整的商业级App项目
了解Android NDK及JNI技术,熟悉Android SDK、Framework层
熟悉 MediaPlayer、MediaCodec、VideoView、MediaController等多媒体相关类库的使用
熟悉音视频编解码技术,熟悉常用编解码器,熟悉流媒体协议
一线大厂名师带队攻坚
20年行业倾囊相授
Jesson
架构师/北大博士
10+年的开发经验,曾就职于华为、百度、平安集团等知名互联网公司。对Android架构、C/C++/NDK底层开发、分布式架构有深入的研究。目前关注AI安卓平台落地、安卓APM架构设计
Travis
构师/计算机硕士
20+年开发经验,曾任职摩托罗拉,诺基亚,Polycom等知名企业,精通Java/Kotlin/C/C+语言,熟悉多种移动开发平台。具有丰富的Android项目架构经验,近年专注于Android平台的多媒体通讯应用开发
用心打磨课程,保证学习效果
按岗位能力模型设计,以学员就业为导向
内容系统化
从C和C++开始学起,多角度讲解BATJ企业android开发最常用的底层核心技术
实战为王
结合实践,全方位覆盖热点技术来设计和实现一个完整项目,做好技术储备
提高思维能力
技术大咖实力讲解,让你有效提高代码的抽象能力,而不仅仅停留在业务层面
即学即用
结合实际工作教学,把技术点真正与实际工作中应用紧密融合,做到即学即用
课程大纲
岗位需要什么技能,我们就学什么
BAT最常用的C技术
内存管理
数组和指针
指针细节
Signal Handing
函数和预处理器
字符串函数和指向字符串指针
结构图
IO
文件操作
学习收获
通过C语言技能总结,可以让你掌握在Android平台下C语言的技能栈,熟悉企业常用的开发技巧,比如文件读写、字符操作等
BAT最常用的C++技术
C++ 对C语言的扩展
C++类和对象
C++ 继承和派生
C++ 多态和虚函数
C++ 模板
C++ STL
学习收获
让你了解并掌握C++工程规范、熟悉C++和C语法的异同点,通过STL库函数的学习,达到可以看懂开源音视频库和计算机视觉库的源码,明白最新的Android开源框架Native层的代码含义.
JNI基础到实战
JNI 能做什么
JNI 有什么好处
JIN 原理
Compiling, Loading and Linking Native Methods
System.load() 源码分析
动态注册和静态注册的问题
JNI type
JNI 数据结构
JNI 函数
JNI API
学习收获
JNI是JAVA调用C/C++的手段,只有学会JNI才能掌握android平台和Native原生平台的调用语法。通过本小节的学习,可以胜任JNI开发工程师和企业核心底层开发的工作
Linux 内核编程 和CMake
C标准函数和系统函数的区别
线程管理,例如创建线程,等待(join)线程,查询线程状态等
互斥锁(Mutex):创建、摧毁、锁定、解锁、设置属性等操作
条件变量(Condition Variable):创建、摧毁、等待、通知、设置与查询属性等操作
使用了互斥锁的线程间的同步管理
CMake
Makefile
gcc 和 g++
Android.mk
Application.mk
学习收获
对于Android平台中的编译工具链进行讲解,通过Cmake编译工具链可以掌握动态链接库的编译技巧,熟悉异平台构建工具的差异性,方便后期继续下一阶段音视频和图像处理的学习
Android平台音视频API
MediaRecorder
MediaPlayer
麦克风降噪
回声和回声消除
声音采集:声道数、采样位数、采样频率、音频重采样
AudioRecord
AudioTrack
学习收获
熟悉音视频开发中的基本概念和Android平台API.为进一步学习音视频打下前置基础
OpenSL ES
openSL ES 播放/录制/调频音频的套路
openSL ES 开发流程
学习收获
掌握OpenSL 在Android平台上的常用Api。它给开发者提供了标准化、高性能、低响应时间的音频功能实现方法
Camera 2
Camera 2相关API:CameraManager、CameraCharacteristics、CameraDevice、CameraCaptureSession、CameraRequest
自定义 Camera
SurfaceView、TextureView、GlSurfaceView
相机开发流程
相机开发重点难点
学习收获
掌握Android平台Camera开发技巧,掌握Android Camera 2 相关API , 掌握如何利用Android 设备的Camera 采集音视频数据
Open GL
GlSurfaceView.Renderer
GLSL着色器语言
OpenGL 绘制图像到屏幕的一般的流程
FBO(帧缓冲) 离屏渲染
OpenGL 四边形/图形
OpenGL 纹理/纹理渲染
OpenGL 2.0版本 渲染流程
OpenGL PipeLine、Shader、GLSL
OpenGL 顶点坐标系
使用 OpenGL 实现实时滤镜,美颜,瘦脸,水印,动态贴纸等特效
学习收获
掌握OpenGL绘制图片,通过Native原生绘制可以让你掌握YUV数据在Android平台视图渲染方案,通过本小节学习,为FFMPEG库打下android视图渲染基础
FFmpeg 音视频处理
FFmpeg是什么
FFmpeg 工具:FFmpeg、FFserver、FFplay、FFprobe
FFmpeg 常见库:libavutil、libavcodec、libavformat、libavdevice、libavfilter、libswscale、libswresample
FFmpeg 编译脚本
在Linux平台上编译 FFmpeg
解决FFmpeg 集成到Android 平台的一些问题
FFmpeg编解码实战:H264编解码
FFmpeg编解码实战:AAC编解码
FFmpeg编解码 流程
YUV介绍
YUV与RGB转换
YUV采样方式
YUV分类方式
FFmpeg重点函数解析
FFmpeg命令的总结和梳理
使用FFmpeg实现播放器内核
学习收获
对 FFmpeg 库有一个全局的感官认识,掌握音视频编解码的内核调用,熟悉FFMPEG核心技术、掌握音视频渲染、解码、Codec编解码等技术,帮助你更好的成为音视频开发工程师
OpenCV 图像处理
OpenCV 是什么
在Android Studio 中集成OpenCV
OpenCV 通道
OpenCV 训练器
OpenCV 常用的API
OpenCV 对图片的基本操作
图像卷积(滤波)
图像编译检测
霍夫圆、线段检测
自定义线性滤波
轮廓查找
OpenCV 实现工业仪表度数(高精度)
学习收获
通过 OpenCV 库的讲解,帮助学员更加牢靠的掌握NDK整体开发技巧,通过工业级仪表度数识别案列让学员掌握图像处理的核心步骤,通过本章的学习,可以掌握图像识别的基础理论和android平台对图形处理的基本套路,让你可以胜任android图像处理开发
7大实战项目
项目均来源于日常工作
手写播放器内核
通过FFmpeg开源库的学习,掌握播放器开发的核心功能点.通过全套课程的学习,我们将手写一个自己的播放器,完成RTMP等流媒体和本地视频的播放
工业级图像识别
实现物联网环节中工业仪表的读数识别,使用OpenCV开源视觉库完成图像灰度处理、二值化处理、仪表指针识别算法处理等
NDK实现文件拆分加密处理
文件的加密解密可以引申为对数据的加密解密,通过使用C/C++进行加密解密,通过移位算法或者是其他加密算法完成对图像的混淆处理。文件的分割与合并可以对文件数据传输提供更多的可能性,JNI完成文件的切割和合并
手写底层App增量更新技术
通过NDK技术实现安卓APK文件的差异更新,熟悉Bsdiff算法并掌握JNI开发的常用套路和异常处理
哈夫曼解析
针对bat高频面试题,进行图片、音视频编码格式的流程梳理和应答技巧的阐述,进行哈夫曼知识的理解
微信martixAPM源码解析
Matrix是最近Android开源的一套APM框架,其中大量运用了JNI技术和Gradle插件,作为技术补充我们将着重分析IO、内存、FPS等实现的思路和集成到自己的企业APP中的步骤
手写Git解析算法
针对Glide加载gif图片源码分析,让你明白GIF图片的封装格式和解析技巧,并能举一反三,完成数据流到GIF格式的转换