视频课程 人浏览 历史评分   更新时间: 30天前 随到随学

课程介绍

注意0:欲购买此课程,获取安全购买链接,索要正版授权学习平台账号,务必加咨询QQ:2536379620
注意1:由于编码原因,试听课程视频画面清晰度不如最终购买的视频。最终购买视频的画面清晰度可参见以下两张图。图1   图2
注意2:正版良心视频,购买后有机会和原作者直接短暂技术交流。

课程包含了对流媒体(拉流)的播放,演示了播放rtmp的电视,支持rtsp摄像头和http网络视频的播放,支持访问本地的视频文件,并精确控制播放进度。

适用人群:
本课程是具有很强实战性的应用编程,课程中会从原理讲解到代码实现,但由于项目有一定复杂度,希望学习本课程的同学要掌握c++的基本语法,课程中也用到java的代码但比较少,如果是c++程序员可以把我的java代码直接拿过去用,不一定要有java编程基础。

课程特色
1 课程由浅入深,原理讲解+代码实操演示,并提供全部课程源码
2 讲解如何编译Android平台的ffmpeg库,使其支持neon和硬解码,并测试性能
3 使用opengles的NDK shader高效播放yuv视频,不耗费cpu性能更优
4 代码支持硬解码(省电不耗cpu)和多线程解码(高性能每秒解码240帧1080p)
5 支持网络流媒体(rtmp,rtsp,http)可以直接拉流播放电视并支持rtsp摄像头访问
6 使用opensles NDK 原生接口播放音频,不依赖第三方库
7 课程将设计模式应用到实践-观察者、构建者、门面、代理、适配器、单件、和多线程的生产者消费者模式

课程开发工具:
AndroidStudio3
Android影音(流媒体)播放器开发实战基于NDK、C++和FFmpeg


课程大纲

01.
课程介绍及音视频基础知识(6节)                                 暂无试看

1.课程介绍
19分钟
2.音视频基础知识Mpeg4封装格式音视频编码
11分钟
3.音视频解封装和解码原理分析
19分钟
4.图形像素格式RGB和YUV格式分析
16分钟
5.PCM音频采样率_通道_planar等格式参数分析
9分钟
6.MP4标准和h264格式的NAL的GOP分析
16分钟
02.
AndroidStudio开发工具和开发环境准备(5节)

1.开发所用到的工具和sdk介绍
8分钟
2.AndroidStudio开发工具安装使用讲解
10分钟
3.Android SDK目录内容分析
5分钟
4.Android NDK工具目录功能分析
6分钟
5.安卓模拟器安装和第一个c++安卓程序编译
16分钟
03.
Android NDK交叉编译FFMpeg并添加测试AS项目(10节)

1.安卓NDK相关概念ABI、NEON、JNI和CMAKE分析
13分钟
2.NDK中CPU的应用二进制界面ABI
9分钟
3.ubuntu虚拟机常用工具安装并配置samba共享
20分钟
4.ffmpeg源码下载在android下的编译参数分析
13分钟
5.在ubuntu下交叉编译ffmpeg的android版本库
21分钟
6.ffmpeg编译bash脚本支持硬解码neon多线程
25分钟
7.AndroidStudio配置权限、jni、ABI和CMake
8分钟
8.cmake配置(导入库、头文件、链接)分析
11分钟
9.创建支持ffmpeg的AndroidStudio项目
25分钟
10.JNI和C传递文件路径并设置app的读写权限
18分钟
04.
FFmpeg解封装(C++ NDK) 第一部分(6节)

1.ffmpeg SDK软硬解码流程说明
6分钟
2.ffmpeg音视频解封装用到的函数和结构体详解
11分钟
3.avformat_open_input函数详解并示例打开mp4
18分钟
4.AVFormatContext结构分析和清理代码示例
9分钟
5.avformat_find_stream_info探测上下文格式
10分钟
6.AVStream和AVCodecParameters分析
14分钟
05.
FFmpeg解封装(C++ NDK) 第二部分(6节)

1.通过遍历获取AVStream音视频流信息并打印
17分钟
2.通过av_find_best_stream获取音视频流索引
5分钟
3.av_read_frame读取帧数据函数分析
8分钟
4.AVPacket结构解析空间申请-初始化-复制
11分钟
5.av_seek_frame改变播放进度函数详解
9分钟
6.av_read_frame和av_seek_frame代码分析内存
11分钟
06.
FFmpeg软硬解和多线程解码(C++ NDK)(7节)

1.AVCodecContext解码上下文初始化讲解
20分钟
2.打开音频解码器上下文
6分钟
3.AVFrame格式解析和空间处理函数
10分钟
4.avcodec_send_packetavcodec_receive_frame
8分钟
5.音视频多线程解码代码演示
10分钟
6.音视频解码性能测试neon单线程和八线程解码
14分钟
7.ffmpeg调用MediaCodec实现硬解码代码演示
5分钟
07.
FFMpeg音频重采样和视频格式转换和显示(7节)

1.sws_getContext和sws_scale像素和尺寸转换
13分钟
2.sws_scale像素格式转换代码演示
16分钟
3.音频重采样SwrContext格式和swr_convert
18分钟
4.swr_init重采样上下文初始化和swr_convert
18分钟
5.分析GLSurfaceView和NDK接口直接显示RGB
10分钟
6.NDK用GLSurfaceView双缓冲空间复制完成播放
23分钟
7.安卓视频播放窗口去掉标题栏、全屏、横屏
7分钟
08.
OpenSLES音频播放(5节)

1.OpenSLES播放音频步骤和接口讲解
20分钟
2.创建OpenSLES音频播放测试项目引擎初始化
13分钟
3.完成OpenSLES混音器CreateOutputMix初始化
7分钟
4.配置OpenSL的PCM音频输入格式
5分钟
5.读取pcm音频文件并使用OpenSL播放
24分钟
09.
EGL和OpenGLES Shader显示YUV视频 第一部分(4节)

1.egl和opengl_shader_glsl讲解
14分钟
2.testopengles_shader项目配置和完成java
12分钟
3.使用NDKC++EGL、display、surface、contex
21分钟
4.Opengl ES Shader顶点坐标和材质坐标分析
11分钟
10.
EGL和OpenGLES Shader显示YUV视频 第二部分(7节)

1.顶点着色器代码glsl代码编写
8分钟
2.yuv420p片元着色器glsl编写
15分钟
3.shader初始化完成并编译顶点和片元着色器
12分钟
4.program渲染程序初始化给传顶点和材质数据
17分钟
5.opengl的yuv纹理的创建和初始化
19分钟
6.OpenglES纹理数据修改和显示
10分钟
7.通过OpenglES纹理修改完成yuv文件播放显示
6分钟
11.
视频播放器项目实战一 需求和设计模式(6节)

1.视频播放器项目设计说明和UML类图知识讲解
14分钟
2.模块分解和用到的7个设计模式讲解
14分钟
3.适配器、建造者、代理模式讲解
15分钟
4.门面模式&生产者消费者模式
8分钟
5.Observer观察者模式讲解和应用
6分钟
6.解码显示帧数据处理顺序图和开发计划讲解
8分钟
12.
视频播放器项目实战-音视频解码解封装第一部分(7节)

1.项目创建权限ABI和CMake相关库和头文件配置
10分钟
2.创建安卓流媒体播放器XPlay项目并配置
15分钟
3.FFDemux的Open实现打开媒体文件
17分钟
4.FFdemux的Read读取帧数据接口编写
12分钟
5.XThread线程类IDemux继承后线程读帧数据
14分钟
6.添加XSleep完成XThread线程函数停止和超时
10分钟
7.观察者Observer模式代码实现使用IDemux测试
15分钟
13.
视频播放器项目实战-音视频解码解封装第二部分(7节)

1.IDecode和FFDecode模块代码创建
10分钟
2.FFDecode的Open打开解码器接口Observer创建
11分钟
3.IDemux的GetVPara获取视频XParamter参数
6分钟
4.封装FFDecode解码的Send和Recv接口
15分钟
5.读取媒体帧数据获取类型信息存入XData
9分钟
6.完成音视频解码并重构解码器加入观察者模式
13分钟
7.加入生产者消费者模式控制音视频缓冲
20分钟
14.
视频播放器项目实战 音视频播放第一部分(6节)

1.IVideoView显示模块架构讲解和代码创建
17分钟
2.IEGL类初始化封装java部分添加XPlay窗口类
20分钟
3.XShader基于yuv420p的初始化Init代码测试
14分钟
4.XTexture初始化并完成GLVideoView的调用
15分钟
5.GLVideoView完成使用shader显示视频
28分钟
6.完成音频重采样IResample模块初始化代码
10分钟
15.
视频播放器项目实战 音视频播放第二部分(6节)

1.完成音频重采样IResample模块的处理功能
23分钟
2.IAudioPlay和SLAudioPlay的环境初始化
33分钟
3.IAudioPlay的Update将音频压入缓冲队列测试
10分钟
4.SLAudioPlay音频播放完成并测试对MP4播放
10分钟
5.完成硬解码并完成NV21和NV12格式的shader
36分钟
6.解决安卓8下opengles播放问题和其他bug
5分钟
16.
视频播放器项目实战 完成架构解决同步和seek第一部分(5节)

1.完成facade模式的IPlayer并实现Open接口.
27分钟
2.完成Iplayer开始播放和窗口初始化接口
9分钟
3.完成Builder模式IPlayerBuilder构建IPlayer
27分钟
4.完成IPlayerProxy代理模式进行测试架构搭建
13分钟
5.统一换算pts为毫秒IPlayer完成音视频同步
26分钟
17.
视频播放器项目实战 完成架构解决同步和seek第二部分(7节)

1.IDemux&FFdemux线程安全和Close清理函数
7分钟
2.FFdecode和FFResample线程安全和Close清理
11分钟
3.SLAudioPlay的线程安全处理和Close清理函数
12分钟
4.XEGL的线程安全处理和Close清理函数编写
7分钟
5.XShader线程安全处理和Close清理函数编写
9分钟
6.XTexture和GLVideoView的线程安全和清理
8分钟
7.IPlayer完成Close清理完成多次打开视频文件
18分钟
18.
视频播放器项目实战 完成架构解决同步和seek第三部分(10节)

1.添加打开视频按钮和进度滑动条并响应打开
9分钟
2.视频打开路径和香港卫视rtmp打开路径界面
6分钟
3.完成通过界面多次打开视频文件并修正bug
13分钟
4.835cpu手机中测试并修正音频播放Close的bug
10分钟
5.播放进度的显示并修正了硬解码参数传递错误
17分钟
6.滑动条拖动Seek视频开发策略详细分析
8分钟
7.完成了IDemux的Seek和界面SeekBar的事件
15分钟
8.添加了视频播放的暂停和恢复
17分钟
9.修改了视频播放到结尾再次打开会锁死的bug
9分钟
10.手动解码帧数据完成IPlayerSeek项目完成
16分钟
相关推荐
客服 关于