51CTO 夏老师 FFmpeg安卓流媒体播放器开发实战-基于NDK C++和 FFmpeg Android

资源简介

适合人群:

C++开发者想要学习android平台开发,项目需要音视频处理,想要学习NDK开发实战

课程目标:

学习编译安卓平台的ffmpeg库(支持硬解码和neon),学习ffmpeg的解码解封装接口,学习opensles播放音频,学习opengles、egl、shader、glsl播放yuv视频,学习音视频同步策略,学习将设计模式应用到实际项目中。

课程简介:

课程名称: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 课程将设计模式应用到实践-观察者、构建者、门面、代理、适配器、单件、和多线程的生产者消费者模式

《51CTO 夏老师 FFmpeg安卓流媒体播放器开发实战-基于NDK C++和 FFmpeg Android》

资源目录

——/计算机教程/17-51CTO/063-FFmpeg安卓流媒体播放器开发实战-基于NDK C++和 FFmpeg Android/
├──01 课程介绍及音视频基础知识  
|   ├──1 课程介绍.mp4  52.05M
|   ├──2 音视频基础知识Mpeg4封装格式音视频编码格式讲解.mp4  18.21M
|   ├──3 音视频解封装和解码原理分析.mp4  26.14M
|   ├──4 图形像素格式RGB和YUV格式分析.mp4  21.94M
|   ├──5 PCM音频采样率 通道 planar等格式参数分析.mp4  13.89M
|   └──6 MP4标准和h264格式的NAL的GOP分析.mp4  23.64M
├──02 AndroidStudio开发工具和开发环境准备  
|   ├──1 开发所用到的工具和sdk介绍.mp4  10.05M
|   ├──2 AndroidStudio开发工具安装使用讲解.mp4  24.92M
|   ├──3 Android SDK目录内容分析.mp4  11.02M
|   ├──4 AndroidNDK工具目录功能分析.mp4  9.11M
|   └──5 安卓模拟器安装和第一个c++安卓程序编译运行.mp4  48.49M
├──03 Android NDK交叉编译FFMpeg并添加测试AS项目  
|   ├──1 安卓NDK相关概念ABI NEON JNI和CMAKE分析.mp4  18.74M
|   ├──10 JNI和c传递文件路径并设置app的读写权限.mp4  34.82M
|   ├──2 NDK中CPU的应用二进制界面ABI.mp4  14.11M
|   ├──3 ubuntu虚拟机及常用工具安装并配置samba共享目录.mp4  37.44M
|   ├──4 ffmpeg源码下载在android下的编译参数分析讲解.mp4  20.62M
|   ├──5 在ubuntu下交叉编译ffmpeg的android版本库.mp4  47.01M
|   ├──6 ffmpeg通用编译bash脚本编写 硬解码 neon 多线.mp4  55.33M
|   ├──7 AndroidStudio项目配置权限 jni库路径 ABI.mp4  12.66M
|   ├──8 cmake配置(导入库 头文件 链接)分析.mp4  17.59M
|   └──9 创建支持ffmpeg的AndroidStudio项目并调用.mp4  44.82M
├──04 FFmpeg解封装(C++ NDK)  
|   ├──1 ffmpeg SDK软硬解码流程说明.mp4  7.20M
|   ├──10 AVPacket结构解析空间申请 初始化 复制 引用计数函数.mp4  14.90M
|   ├──11 av_seek_frame改变播放进度函数详解.mp4  12.31M
|   ├──12 av_read_frame和av_seek_frame代码.mp4  20.68M
|   ├──2 ffmpeg音视频解封装用到的函数和结构体详解.mp4  13.96M
|   ├──3 avformat_open_input函数详解并示例打开mp.mp4  37.00M
|   ├──4 AVFormatContext结构分析和清理代码示例.mp4  13.87M
|   ├──5 avformat_find_stream_info探测.mp4  18.08M
|   ├──6 AVStream和AVCodecParameters分析.mp4  22.42M
|   ├──7 通过遍历获取AVStream音视频流信息并打印参数.mp4  31.77M
|   ├──8 通过av_find_best_stream获取音视频流索引.mp4  7.86M
|   └──9 av_read_frame读取帧数据函数分析和产生的空间问题.mp4  9.46M
├──05 FFmpeg软硬解和多线程解码(C++ NDK)  
|   ├──1 AVCodecContext解码上下文初始化讲解和视频解码器.mp4  34.00M
|   ├──2 打开音频解码器上下文.mp4  11.79M
|   ├──3 AVFrame格式解析和空间处理函数.mp4  13.84M
|   ├──4 avcodec_send_packet和receive.mp4  10.93M
|   ├──5 音视频多线程解码代码演示.mp4  17.96M
|   ├──6 音视频解码性能测试neon单线程和八线程解码测试代码.mp4  27.32M
|   └──7 ffmpeg调用MediaCodec实现硬解码代码演示.mp4  9.26M
├──06 FFMpeg音频重采样和视频格式转换和显示  
|   ├──1 sws_getContext和sws_scale像素格式.mp4  18.95M
|   ├──2 sws_scale像素格式转换代码演示.mp4  33.30M
|   ├──3 音频重采样SwrContext格式和swr_convert.mp4  7.85M
|   ├──4 swr_init音频重采样上下文初始化和swr_conver.mp4  33.73M
|   ├──5 分析GLSurfaceView和NDK接口直接显示RGB视频.mp4  14.97M
|   ├──6 使用NDK通过GLSurfaceView双缓冲空间复制完成视.mp4  54.51M
|   └──7 安卓视频播放窗口去掉标题栏 全屏 横屏.mp4  21.23M
├──07 OpenSLES音频播放  
|   ├──1 OpenSLES播放音频步骤和接口讲解.mp4  30.37M
|   ├──2 创建OpenSLES音频播放测试项目并完成引擎初始化.mp4  23.14M
|   ├──3 完成OpenSLES混音器CreateOutputMix初始.mp4  11.20M
|   ├──4 配置OpenSL的PCM音频输入格式.mp4  8.39M
|   └──5 读取pcm音频文件并使用OpenSL播放.mp4  46.00M
├──08 EGL和OpenGLES Shader显示YUV视频  
|   ├──1 egl和opengl_shader_glsl讲解.mp4  19.71M
|   ├──10 OpenglES纹理数据修改和显示.mp4  18.25M
|   ├──11 通过OpenglES纹理修改完成yuv文件的播放显示.mp4  11.14M
|   ├──2 testopengles_shader项目配置和创建.mp4  21.83M
|   ├──3 NDKC++完成EGL display surface.mp4  36.51M
|   ├──4 Opengl ES Shader顶点坐标和材质坐标分析.mp4  15.69M
|   ├──5 顶点着色器代码glsl代码编写.mp4  12.33M
|   ├──6 yuv420p片元着色器glsl编写.mp4  24.34M
|   ├──7 shader初始化完成并编译顶点和片元着色器代码.mp4  21.85M
|   ├──8 program渲染程序初始化给shader传递顶点和材质顶点.mp4  30.67M
|   └──9 opengl的yuv纹理的创建和初始化.mp4  32.25M
├──09 视频播放器项目实战-需求和设计模式  
|   ├──1 视频播放器项目设计说明和UML类图知识讲解.mp4  18.98M
|   ├──2 模块分解和用到的7个设计模式讲解.mp4  19.33M
|   ├──3 适配器 建造者 代理模式讲解.mp4  23.72M
|   ├──4 门面模式 生产者消费者模式.mp4  10.98M
|   ├──5 Observer观察者模式讲解和应用.mp4  7.66M
|   └──6 解码显示帧数据处理顺序图和开发计划讲解.mp4  11.65M
├──10 视频播放器项目实战-音视频解码解封装  
|   ├──1 项目创建权限ABI和CMake相关库和头文件配置.mp4  18.08M
|   ├──10 添加IDemux的GetVPara获取视频XParamter.mp4  10.71M
|   ├──11 封装FFDecode解码的Send和Recv接口.mp4  24.75M
|   ├──12 读取媒体帧数据获取类型信息(音频 视频)存入XData.mp4  15.05M
|   ├──13 完成音视频解码和并重构解码器加入观察者模式.mp4  20.57M
|   ├──14 加入生产者消费者模式控制音视频缓冲.mp4  33.18M
|   ├──2 创建安卓流媒体播放器XPlay项目并配置添加了解封装模块代码.mp4  25.87M
|   ├──3 FFDemux的Open实现打开媒体文件.mp4  27.96M
|   ├──4 FFdemux的Read读取帧数据接口编写.mp4  19.53M
|   ├──5 完成XThread线程类IDemux继承后在线程中读取帧数据.mp4  23.92M
|   ├──6 添加了XSleep完成XThread线程函数的停止和超时判断.mp4  16.88M
|   ├──7 观察者Observer模式的代码实现并使用IDemux测试.mp4  24.30M
|   ├──8 IDecode和FFDecode模块代码创建.mp4  17.15M
|   └──9 FFDecode的Open打开解码器接口编写Observer.mp4  17.81M
├──11 视频播放器项目实战-音视频播放  
|   ├──1 IVideoView显示模块架构讲解和代码创建.mp4  40.02M
|   ├──10 SLAudioPlay音频播放完成并测试对MP4文件音视频播.mp4  24.13M
|   ├──11 完成硬解码并完成NV21和NV12格式的shader显示编写.mp4  90.35M
|   ├──12 解决android8.0下opengles不能播放的问题.mp4  12.41M
|   ├──2 IEGL类初始化封装java部分添加XPlay窗口类.mp4  49.96M
|   ├──3 XShader基于yuv420p的初始化Init代码完成并测.mp4  37.07M
|   ├──4 XTexture初始化并完成GLVideoView的调用.mp4  30.44M
|   ├──5 GLVideoView完成使用shader显示视频.mp4  68.41M
|   ├──6 完成音频重采样IResample模块初始化代码.mp4  23.69M
|   ├──7 完成音频重采样IResample模块的处理功能.mp4  55.16M
|   ├──8 完成了IAudioPlay和SLAudioPlay的音频播放.mp4  63.88M
|   └──9 IAudioPlay的Update将音频压入缓冲队列并测试.mp4  24.93M
├──12 视频播放器项目实战-完成架构解决同步和seek  
|   ├──1 完成facade模式的IPlayer并实现Open接口.mp4  63.39M
|   ├──10 XShader线程安全处理和Close清理函数编写.mp4  22.69M
|   ├──11 XTexture和GLVideoView的线程安全和清理函数.mp4  20.64M
|   ├──12 IPlayer完成Close清理函数编写并完成多次打开视频.mp4  42.00M
|   ├──13 添加打开视频按钮和进度滑动条并响应打开事件.mp4  22.79M
|   ├──14 添加视频打开路径和香港卫视rtmp打开路径的界面.mp4  14.65M
|   ├──15 完成通过界面多次打开视频文件 修正了多次打开显示出现的bug.mp4  34.00M
|   ├──16 在835cpu的手机中测试并修正了音频播放Close的bug.mp4  27.18M
|   ├──17 完成了播放进度的显示并修正了硬解码参数传递错误.mp4  40.71M
|   ├──18 滑动条拖动Seek视频开发策略详细分析.mp4  12.94M
|   ├──19 完成了IDemux的Seek和界面SeekBar的事件响应.mp4  38.32M
|   ├──2 完成Iplayer开始播放和窗口初始化接口.mp4  21.66M
|   ├──20 添加了视频播放的暂停和恢复.mp4  41.10M
|   ├──21 修改了视频播放到结尾再次打开会锁死的bug.mp4  23.66M
|   ├──22 通过手动解码帧数据完成了IPlayer控制视频播放进度的功能.mp4  40.77M
|   ├──3 完成Builder模式的IPlayerBuilder构建IP.mp4  66.77M
|   ├──4 完成IPlayerProxy代理模式并进行测试架构搭建完成.mp4  30.76M
|   ├──5 统一换算pts为毫秒使用IPlayer完成音视频同步播放.mp4  60.93M
|   ├──6 IDemux&FFdemux线程安全和Close清理函数编写.mp4  17.59M
|   ├──7 FFdecode和FFResample线程安全处理Close.mp4  29.05M
|   ├──8 SLAudioPlay的线程安全处理和Close清理函数编写.mp4  30.07M
|   └──9 XEGL的线程安全处理和Close清理函数编写.mp4  17.99M
└──FFmpeg安卓流媒体播放器开发实战视频课程-基于NDK、C  和FFmpegAndroid.zip  3.27G

资源下载

抱歉,只有登录并在本文发表评论才能阅读隐藏内容,切记不要恶意刷评论白嫖资源,评论前切记阅读用户规则,一旦进入黑名单,不可能再放出来。同时注意,暂停在线支付,请联系客服QQ267286513。
  1. lzmv587说道:

    :smile: 新年快乐

  2. oldweaksick说道:

    感谢分享

  3. 快乐的小明爱学习说道:

    感谢分享

  4. 布晓新说道:

    感谢分享

  5. 帅帅说道:

    感谢分享

  6. slonecznik说道:

    感谢分享

  7. DDD说道:

    谢谢分享

  8. swd1992说道:

    好课程,学习下

  9. youyichuan说道:

    想要资料

  10. qq1998说道:

    学习学习

  11. 段无鱼说道:

    谢谢分享

  12. JamFF说道:

    学习学习

  13. yangt1314说道:

    感谢分享

  14. 码龙哥1说道:

    感谢分享

  15. qtxz_ayu说道:

    :razz: 谢谢分享!!

  16. bill00说道:

    很好很好

  17. 女神说道:

    学习学习

  18. 冷小菜说道:

    谢谢分享啊

  19. 42606798说道:

    FFmpeg安卓流媒体播放器开发实战,讲解细致全面

发表回复