音视频的应用越来越广泛,特别是移动端的音视频应用,包括短视频、音视频直播、音视频通话等;移动端的音视频开发需求也会非常大。作为一名移动开发者,学习和了解音视频开发也是非常必要的。

但 Android 音视频开发这块目前没有比较系统的教程和书籍,这里给大家分享两份音视频资料《Android音视频开发进阶指南》《音视频精编源码解析》,相信可以给大家在音视频的学习上提供一些帮助。

音视频开发学习路线图

alt

Android音视频开发进阶指南

《Android音视频开发进阶指南》分为五个大章节:Android音视频硬解码篇、使用OpenGL渲染视频画面篇、Android FFmpeg音视频解码篇、直播系统聊天技术、直播系统聊天技术、阿里IM技术分享。最后两个章节分享了包括阿里电商,微信,百度等技术实践。

一、Android音视频硬解码篇

  • 音视频基础知识
  • 音视频硬解码流程:封装基础解码框架
  • 音视频播放:音视频同步
  • 音视频解封和封装:生成一个MP4

二、使用OpenGL渲染视频画面篇

  • 初步了解OpenGL ES
  • 使用OpenGL渲染视频画面
  • OpenGL渲染多视频,实现画中画
  • 深入了解OpenGL之EGL
  • OpenGL FBO数据缓冲区
  • Android音视频硬编码:生成一个MP4

三、Android FFmpeg音视频解码篇

  • FFmpeg so库编译
  • Android 引入FFmpeg
  • Android FFmpeg视频解码播放
  • Android FFmpeg+OpenSL ES音频解码播放
  • Android FFmpeg+OpenGL ES播放视频
  • FFmpeg简单合成MP4:视屏解封与重新封装
  • Android FFmpeg 视频编码

四、直播系统聊天技术

  • 百万在线的美拍直播弹幕系统的实时推送技术实践之路
  • 阿里电商IM消息平台,在群聊、直播场景下的技术实践
  • 微信直播聊天室单房间1500万在线的消息架构演进之路
  • 百度直播的海量用户实时消息系统架构演进实践
  • 微信小游戏直播在Android端的跨进程渲染推流实践

五、阿里IM技术分享

  • 企业级IM王者——钉钉在后端架构上的过人之处
  • 闲鱼IM基于Flutter的移动端跨端改造实践
  • 闲鱼亿级IM消息系统的架构演进之路
  • 闲鱼亿级IM消息系统的可靠投递优化实践

音视频精编源码解析

《音视频精编源码解析》,内容分为7个章节,涵盖 WebRTC Native 源码导读、X264 源码解读、FFmpeg、ijkplayer 源码分析系列、jsmpeg 源码解析、Live555 源码解析、Opus 源码解析,一共 675 页。

第一章 WebRTC Native 源码导读
  • 第一节-安卓相机采集实现分析
  • 第二节-安卓预览实现分析
  • 第三节-安卓视频硬编码实现分析
  • 第四节-VideoCRE 与内存抖动优化
  • 第五节-安卓 P2P 连接过程和 DataChannel 使用
  • 第六节-视频数据 native 层之旅
  • 第七节-混音
  • 第八节-P2P 连接过程完全解析
  • 第九节-API 概览
  • 第十节-RTP H.264 封包与解包

第二章 X264源码解读
  • 第一节-概述
  • 第二节-x264命令行工具
  • 第三节-编码器主干部分-2
  • 第四节-x264_slice_write()
  • 第五节-滤波(Filter)部分
  • 第六节-宏块分析(Analysis)部分-帧内宏块(Intra)

第三章 FFmpeg
  • 第一节-FFmpeg 编译和集成
  • 第二节-FFmpeg + ANativeWindow 实现视频解码播放
  • 第三节-FFmpeg + OpenSLES 实现音频解码播放
  • 第四节-FFmpeg + OpenGLES 实现音频可视化播放
  • 第五节-FFmpeg + OpenGLES 实现视频解码播放和视频滤镜
  • 第六节-FFmpeg 播放器实现音视频同步的三种方式
  • 第七节-FFmpeg + OpenGLES 实现 3D 全景播放器
  • 第八节-FFmpeg 播放器视频渲染优化
  • 第九节-FFmpeg、x264以及fdk-aac 编译整合
  • 第十节-FFmpeg 视频录制 - 视频添加滤镜和编码
  • 第十一节-FFmpeg + Android AudioRecorder 音频录制编码
  • 第十二节-Android FFmpeg 实现带滤镜的微信小视频录制功能

第四章 ijkplayer 源码分析系列
  • 第一节-整体结构总结
  • 第二节-read_thread流程
  • 第三节-解码流程
  • 第四节-渲染流程

第五章 jsmpeg 源码解析
  • 第一节-基础知识 字符处理 ArrayBuffer TypedArray
  • 第二节-TS码流 PAT PMT
  • 第三节-源码buffer.js对Uint8Array的封装
  • 第四节-源码ts.js TS格式解析流程
  • 第五节-源码mpeg1.js MPEG1码流结构
  • 第六节-概要总结

第六章 Live555源码解析
  • 第一节-GROUPSOCK
  • 第二节-MEDIUM媒体基础类
  • 第三节-MEDIASOURCE、MEDIASINK、MEDIASESSION、MEDIASUBSESSION
  • 第四节-FRAMEDSOURCE、RTPSOURCE、RTPSINK
  • 第五节-GENERICMEDIASERVER、RTSPSERVER、RTSPCLIENT
  • 第六节-testRTSPClient
  • 第七节-ServerMediaSession、ServerMediaSubsession、live555MediaServer

第七章 Opus源码解析
  • 第一节-简介
  • 第二节-编解码器使用
  • 第三节-手撸一个Opus编码程序
  • 第四节-Opus解码程序实现
  • 第五节-OggOpus封装器全解析
  • 第六节-Opus编码基础之认识声音
  • 第七节-Opus编码基础之压缩编码

以上音视频资料内容较多,展示了部分内容截图和目录,需要完整版文档的朋友可以点击这里免费领取!