【价值238】2019年新版基于NDK/C++/FFmpeg/Android视频(流媒体)播放器开发实战配套资料齐全 117课

[复制链接]
查看: 54|回复: 5
  • TA的每日心情
    开心
    2019-11-29 11:03
  • 签到天数: 27 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    0

    好友

    45

    主题

    4

    精华

    至尊VIP

    Rank: 10Rank: 10Rank: 10

    积分
    570
    经验
    363
    学豆
    12725

    至尊VIP

    发表于 2019-11-29 17:33:39 | 显示全部楼层 |阅读模式
    QQ截图20191129171337.png

    未标题-1.png
    课程目标
    学会编译安卓平台的ffmpeg库(支持硬解码和neon),学会ffmpeg的解码解封装接口,学会opensles播放音频,学会opengles、egl、shader、glsl播放yuv视频,学会音视频同步策略,学会将设计模式应用到实际项目中。
    适用人群
    C++开发者想要学习android平台开发,项目需要音视频处理,想要学习NDK开发实战
    课程简介
    课程名称:FFmpeg安卓流媒体播放器开发实战
    适用人群:掌握c++基础语法
    学习本课程的学员要求:
         本课程是具有实战性的应用编程,课程中会从原理讲解到代码实现,但由于项目有一定复杂度,希望学习本课程的同学要掌握c++的基本语法,课程中也用到java的代码但比较少,如果是c++程序员可以把我的java代码直接拿过去用,不一定要有java编程基础。
    课程说明
         课程包含了对流媒体(拉流)的播放,演示了播放rtmp,支持rtsp摄像头和http网络视频的播放,支持访问本地的视频文件,并精确显示和控制播放进度。
    课程特色
    1 课程由浅入深,原理讲解+代码实操演示,并提供全部课程源码
    2 讲解如何编译Android平台的ffmpeg库,使其支持neon和硬解码,并测试性能
    3 使用opengles的NDK shader高效播放yuv视频,不耗费cpu性能更优
    4 代码支持硬解码(省电不耗cpu)和多线程解码(高性能每秒解码240帧1080p)
    5 支持网络流媒体(rtmp,rtsp,http)可以直接拉流播放电视并支持rtsp摄像头访问
    6 使用opensles NDK 原生接口播放音频,不依赖第三方库
    7 课程将设计模式应用到实践-观察者、构建者、门面、代理、适配器、单件、和多线程的生产者消费者模式

    课程目录
      第1章:课程介绍及音视频基础知识
        1.课程介绍(由于平台附件大小限制,请购买课程后加群 23304930下载全部源码)  18:06
        2.音视频基础知识Mpeg4封装格式音视频编码格式讲解  10:15
        3.音视频解封装和解码原理分析  18:02
        4.图形像素格式RGB和YUV格式分析  15:36
        5.PCM音频采样率_通道_planar等格式参数分析  8:37
        6.MP4标准和h264格式的NAL的GOP分析(下载课件是ppt)  15:53
      第2章:AndroidStudio开发工具和开发环境准备
        1.开发所用到的工具和sdk介绍  7:29
        2.AndroidStudio开发工具安装使用讲解  9:22
        3.Android SDK目录内容分析  4:59
        4.AndroidNDK工具目录功能分析  5:43
        5.安卓模拟器安装和第一个c++安卓程序编译运行  8:41
      第3章:Android NDK交叉编译FFMpeg并添加测试AS项目
        1.安卓NDK相关概念ABI、NEON、JNI和CMAKE分析  12:32
        2.NDK中CPU的应用二进制界面ABI  9:00
        3.ubuntu虚拟机及常用工具安装并配置samba共享目录  19:10
        4.ffmpeg源码下载在android下的编译参数分析讲解  12:47
        5.在ubuntu下交叉编译ffmpeg的android版本库  20:28
        6.ffmpeg通用编译bash脚本编写、硬解码、neon、多线程解码性能对比  24:19
        7.AndroidStudio项目配置权限、jni库路径、ABI和CMake参数和讲解  7:56
        8.cmake配置(导入库、头文件、链接)分析  10:44
        9.创建支持ffmpeg的AndroidStudio项目并调用其接口在界面显示库配置信息  24:19
        10.JNI和c传递文件路径并设置app的读写权限  17:51
      第4章:FFmpeg解封装(C++ NDK)
        1.ffmpeg SDK软硬解码流程说明  5:08
        2.ffmpeg音视频解封装用到的函数和结构体详解  10:11
        3.avformat_open_input函数详解并示例打开mp4文件  17:54
        4.AVFormatContext结构分析和清理代码示例  8:23
        5.avformat_find_stream_info探测获取封装上下文的格式信息  9:04
        6.AVStream和AVCodecParameters分析  13:16
        7.通过遍历获取AVStream音视频流信息并打印参数  16:08
        8.通过av_find_best_stream获取音视频流索引  4:23
        9.av_read_frame读取帧数据函数分析和产生的空间问题分析  7:07
        10.AVPacket结构解析空间申请-初始化-复制-引用计数函数讲解  10:27
        11.av_seek_frame改变播放进度函数详解  8:37
        12.av_read_frame和av_seek_frame代码示例并分析内存占用和清理情况  10:04
      第5章:FFmpeg软硬解和多线程解码(C++ NDK)
        1.AVCodecContext解码上下文初始化讲解和视频解码器打开的代码演示  19:32
        2.打开音频解码器上下文  5:14
        3.AVFrame格式解析和空间处理函数  9:37
        4.avcodec_send_packet和avcodec_receive_frame函数讲解  7:22
        5.音视频多线程解码代码演示  9:06
        6.音视频解码性能测试neon单线程和八线程解码测试代码  13:56
        7.ffmpeg调用MediaCodec实现硬解码代码演示  4:55
      第6章:FFMpeg音频重采样和视频格式转换和显示
        1.sws_getContext和sws_scale像素格式和尺寸转换函数讲解  12:43
        2.sws_scale像素格式转换代码演示  15:45
        3.音频重采样SwrContext格式和swr_convert相关函数详解  5:17
        4.swr_init音频重采样上下文初始化和swr_convert音频重采样代码示例  17:08
        5.分析GLSurfaceView和NDK接口直接显示RGB视频数据相关函数  9:34
        6.使用NDK通过GLSurfaceView双缓冲空间复制完成视频的播放  22:31
        7.安卓视频播放窗口去掉标题栏、全屏、横屏  6:42
      第7章:OpenSLES音频播放
        1.OpenSLES播放音频步骤和接口讲解  19:34
        2.创建OpenSLES音频播放测试项目并完成引擎初始化  12:16
        3.完成OpenSLES混音器CreateOutputMix初始化  6:11
        4.配置OpenSL的PCM音频输入格式  4:39
        5.读取pcm音频文件并使用OpenSL播放  23:41
      第8章:EGL和OpenGLES Shader显示YUV视频
        1.egl和opengl_shader_glsl讲解  13:55
        2.testopengles_shader项目配置和创建_完成java部分代码  11:48
        3.使用NDKC++完成EGL、display、surface、contex配置和初始化  20:21
        4.Opengl ES Shader顶点坐标和材质坐标分析  10:52
        5.顶点着色器代码glsl代码编写  7:01
        6.yuv420p片元着色器glsl编写  14:22
        7.shader初始化完成并编译顶点和片元着色器代码  11:40
        8.program渲染程序初始化给shader传递顶点和材质顶点数据  16:05
        9.opengl的yuv纹理的创建和初始化  18:06
        10.OpenglES纹理数据修改和显示  9:16
        11.通过OpenglES纹理修改完成yuv文件的播放显示  5:22
      第9章:视频播放器项目实战一 需求和设计模式
        1.视频播放器项目设计说明和UML类图知识讲解  13:28
        2.模块分解和用到的7个设计模式讲解  13:31
        3.适配器、建造者、代理模式讲解  14:16
        4.门面模式&生产者消费者模式  7:12
        5.Observer观察者模式讲解和应用  5:18
        6.解码显示帧数据处理顺序图和开发计划讲解  7:09
      第10章:视频播放器项目实战二 音视频解码解封装
        1.项目创建权限ABI和CMake相关库和头文件配置  9:18
        2.创建安卓流媒体播放器XPlay项目并配置添加了解封装模块代码及其依赖日志类  14:29
        3.FFDemux的Open实现打开媒体文件  16:27
        4.FFdemux的Read读取帧数据接口编写  11:21
        5.完成XThread线程类IDemux继承后在线程中读取帧数据  13:57
        6.添加了XSleep完成XThread线程函数的停止和超时判断  9:53
        7.观察者Observer模式的代码实现并使用IDemux进行测试  14:11
        8.IDecode和FFDecode模块代码创建  9:58
        9.FFDecode的Open打开解码器接口编写和Observer基类添加  10:07
        10.添加IDemux的GetVPara获取视频XParamter参数接口用IDecode的Open测试  5:55
        11.封装FFDecode解码的Send和Recv接口  14:02
        12.读取媒体帧数据获取类型信息(音频、视频)存入XData  8:13
        13.完成音视频解码和并重构解码器加入观察者模式  12:13
        14.加入生产者消费者模式控制音视频缓冲  19:14
      第11章:视频播放器项目实战三 音视频播放
        1.IVideoView显示模块架构讲解和代码创建  16:27
        2.IEGL类初始化封装java部分添加XPlay窗口类  19:29
        3.XShader基于yuv420p的初始化Init代码完成并测试  13:46
        4.XTexture初始化并完成GLVideoView的调用  14:06
        5.GLVideoView完成使用shader显示视频  27:49
        6.完成音频重采样IResample模块初始化代码  9:40
        7.完成音频重采样IResample模块的处理功能  22:23
        8.完成了IAudioPlay和SLAudioPlay的音频播放环境初始化  32:09
        9.IAudioPlay的Update将音频压入缓冲队列并测试  9:44
        10.SLAudioPlay音频播放完成并测试对MP4文件音视频播放  9:54
        11.完成硬解码并完成NV21和NV12格式的shader显示编写  35:39
        12.解决android8.0下opengles不能播放的问题和音频播放的回音问题  4:32
      第12章:频播放器项目实战四 完成架构解决同步和seek
        1.完成facade模式的IPlayer并实现Open接口  26:26
        2.完成Iplayer开始播放和窗口初始化接口  8:30
        3.完成Builder模式的IPlayerBuilder构建IPlayer对象  26:39
        4.完成IPlayerProxy代理模式并进行测试架构搭建完成  12:19
        5.统一换算pts为毫秒使用IPlayer完成音视频同步播放  25:41
        6.IDemux&FFdemux;线程安全和Close清理函数编写  7:00
        7.FFdecode和FFResample线程安全处理和Close清理函数编写  10:44
        8.SLAudioPlay的线程安全处理和Close清理函数编写  11:25
        9.XEGL的线程安全处理和Close清理函数编写  6:47
        10.XShader线程安全处理和Close清理函数编写  8:01
        11.XTexture和GLVideoView的线程安全和清理函数编写  7:57
        12.IPlayer完成Close清理函数编写并完成多次打开视频文件的测试  17:03
        13.添加打开视频按钮和进度滑动条并响应打开事件  8:32
        14.添加视频打开路径和香港卫视rtmp打开路径的界面  5:30
        15.完成通过界面多次打开视频文件,修正了多次打开显示出现的bug  12:23
        16.在835cpu的手机中测试并修正了音频播放Close的bug  9:48
        17.完成了播放进度的显示并修正了硬解码参数传递错误  16:43
        18.滑动条拖动Seek视频开发策略详细分析  7:09
        19.完成了IDemux的Seek和界面SeekBar的事件响应  14:32
        20.添加了视频播放的暂停和恢复  16:29
        21.修改了视频播放到结尾再次打开会锁死的bug  8:30
        22.通过手动解码帧数据完成了IPlayer控制视频播放进度的功能  15:32

    课程大小
    QQ截图20191129170809.png

    下载地址
    回复可查看课程下载链接&提取码(04)20191129编程开发
    游客,如果您要查看本帖隐藏内容请回复

    学豆不足请充值:充值  开通VIP全站课程免学豆下载:开通VIP  QQ:2659147209


    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-30 16:23
  • 签到天数: 55 天

    连续签到: 1 天

    [LV.5]常住居民I

    0

    好友

    3

    主题

    0

    精华

    荣耀VIP

    Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

    积分
    1040
    经验
    896
    学豆
    100

    荣耀VIP

    发表于 2019-11-30 16:24:27 手机频道 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-11-20 12:45
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    0

    好友

    0

    主题

    0

    精华

    年度会员

    Rank: 10Rank: 10Rank: 10

    积分
    135
    经验
    60
    学豆
    5
    发表于 2019-11-30 20:34:56 | 显示全部楼层
    士大夫撒地方撒发撒的发生大发
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    好友

    2

    主题

    0

    精华

    体验会员

    Rank: 3Rank: 3

    积分
    18
    经验
    6
    学豆
    0
    发表于 5 天前 | 显示全部楼层
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    好友

    1

    主题

    0

    精华

    体验会员

    Rank: 3Rank: 3

    积分
    13
    经验
    8
    学豆
    485
    发表于 5 天前 | 显示全部楼层
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    5 天前
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    好友

    0

    主题

    0

    精华

    LV.1 菜小白

    Rank: 1

    积分
    12
    经验
    10
    学豆
    5
    发表于 5 天前 | 显示全部楼层
    无回帖,不论坛,这才是人道。支持
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    快捷回复:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    快速回复 返回顶部 返回列表