展开全部

主编推荐语

音视频技术从基础到实战,掌握Android多媒体开发。

内容简介

本书从音视频基础知识,到Android视频框架,再到广大音视频从业者都使用的FFmpeg框架及其源码部分,通过有趣的案例来演示用法并能快速学习。本书也包含直播相关技术,通过做一个直播客户端,来了解直播的相关技术细节。包含采集数据、渲染处理、编码数据、推流、拉流、解码数据、播放。本书最后介绍H.264编解码器。本书旨在对Android 多媒体或音视频开发提炼与总结。从2016年的直播到2017年的短视频,音视频技术越来越重要。通过本书读者可以从浅到深地了解音视频技术。

目录

  • 版权信息
  • 内容简介
  • 前言
  • 本书概要
  • 读者对象
  • 勘误和支持
  • 致谢
  • 读者服务
  • 第1章 音视频基础知识
  • 1.1 视频编码
  • 1.2 音频编码
  • 1.3 多媒体播放组件(Android、iOS)
  • 1.4 常见的多媒体框架及解决方案
  • 1.5 相关知识点
  • 1.5.1 帧率
  • 1.5.2 分辨率
  • 1.5.3 刷新率
  • 1.5.4 编码格式
  • 1.5.5 封装格式
  • 1.5.6 码率
  • 1.5.7 画质与码率
  • 1.5.8 DTS与PTS
  • 1.5.9 YUV与RGB
  • 1.5.10 视频帧及音频帧
  • 1.5.11 量化精度
  • 1.5.12 采样率
  • 1.5.13 声道
  • 第2章 常用的系统播放器MediaPlayer
  • 2.1 状态图及生命周期
  • 2.2 从创建到setDataSource过程
  • 2.2.1 从创建到setDisplay过程
  • 2.2.2 创建过程
  • 2.2.3 setDataSource过程
  • 2.2.4 setDisplay过程
  • 2.3 开始prepare后的流程
  • 2.4 C++中MediaPlayer的C/S架构
  • 第3章 管理调度的服务者MediaPlayerService
  • 3.1 Client/Server通过IPC的通信流程图
  • 3.2 相关联的类图
  • 3.3 产生过程
  • 3.4 添加服务的过程
  • 3.5 通过BinderDriver和MediaPlayer通信的过程
  • 3.6 创建播放器
  • 3.7 建立StageFright层交互
  • 第4章 StagefrightPlayer (AwesomePlayer)
  • 4.1 AwesomePlayer构造过程
  • 4.2 AwesomePlayer使用MediaExtractor进行数据解析的过程
  • 4.3 AwesomePlayer解码过程
  • 4.3.1 AwesomePlayer中的prepare过程
  • 4.3.2 初始化音视频解码器过程
  • 4.3.3 使用OMXCodec的解码过程
  • 4.4 AwesomePlayer的渲染输出过程
  • 4.4.1 用一张图回顾数据处理过程
  • 4.4.2 视频渲染器构建过程
  • 4.4.3 将音频数据放到Buffer的过程
  • 4.4.4 AudioPlayer在AwesomePlayer中的运行过程
  • 4.4.5 音视频同步
  • 4.4.6 音视频输出
  • 4.5 概要总结
  • 第5章 流媒体播放的新生力量NuPlayer
  • 5.1 NuPlayer整体结构
  • 5.2 NuPlayer的构建过程
  • 5.3 NuPlayer的数据解析模块
  • 5.4 NuPlayer的解码模块
  • 5.5 NuPlayer的渲染模块
  • 第6章 OpenMAX(OMX)框架
  • 6.1 Codec部分中的AwesomePlayer到OMX服务
  • 6.1.1 OpenMAX与StageFright框架层级的关系
  • 6.1.2 OMX的初始化流程
  • 6.1.3 OMX中NodeInstance列表的管理
  • 6.1.4 OMX中NodeInstance节点的操作
  • 6.1.5 总结AwesomePlayer到OMX服务过程
  • 6.2 Codec部分中的OMXCodec与OMX事件回调流程
  • 6.2.1 OMXCodec与OMX callback事件的处理时序图
  • 6.2.2 如何从OMX中分发事件到OMXCodec
  • 6.2.3 缓冲区更新过程
  • 6.2.4 消息回调
  • 6.3 MediaCodec相关知识
  • 6.3.1 MediaCodec的基本认识
  • 6.3.2 从创建到Start过程
  • 6.3.3 MediaCodec到OMX框架过程
  • 6.3.4 MediaCodec硬解码
  • 第7章 FFmpeg项目
  • 7.1 FFmpeg简介
  • 7.2 在Windows下编译FFmpeg
  • 7.2.1 MSYS2
  • 7.2.2 Yasm
  • 7.2.3 开始编译FFmpeg-3.1.3
  • 7.2.4 创建shell编译脚本
  • 7.2.5 编译动态库.so
  • 7.2.6 编译静态库.a
  • 7.3 在Linux下编译FFmpeg
  • 7.3.1 在/etc/profile.d下配置环境变量
  • 7.3.2 开始编译FFmpeg-3.1.3
  • 7.3.3 编写shell脚本
  • 7.3.4 编译动态库.so
  • 7.3.5 编译静态库.a
  • 7.4 在Mac OS下编译FFmpeg
  • 7.4.1 下载源码及配置环境变量
  • 7.4.2 开始编译FFmpeg-3.1.3
  • 7.4.3 编写shell脚本
  • 7.4.4 编译动态库.so
  • 7.4.5 编译静态库.a
  • 7.5 FFmpeg常用命令
  • 7.5.1 改变帧率、码率和文件大小
  • 7.5.2 调整视频分辨率
  • 7.5.3 裁剪/填充视频
  • 7.5.4 翻转和旋转视频
  • 7.5.5 模糊和锐化视频
  • 7.5.6 画中画
  • 7.5.7 在视频上添加文字
  • 7.5.8 文件格式转换
  • 7.5.9 时间操作
  • 第8章 FFmpeg源码分析及实战
  • 8.1 FFmpeg常用结构体分析
  • 8.1.1 AVFormatConext
  • 8.1.2 AVInputFormat
  • 8.1.3 AVStream
  • 8.1.4 AVCodecContext
  • 8.1.5 AVPacket
  • 8.1.6 AVCodec
  • 8.1.7 AVFrame
  • 8.1.8 AVIOContext
  • 8.1.9 URLProtocol
  • 8.1.10 URLContext
  • 8.2 FFmpeg关键函数介绍
  • 8.2.1 av_register_all函数
  • 8.2.2 avformat_alloc_context函数
  • 8.2.3 avio_open函数
  • 8.2.4 avformat_open_input函数
  • 8.2.5 avformat_find_stream_info函数
  • 8.2.6 av_read_frame函数
  • 8.2.7 av_write_frame函数
  • 8.2.8 avcodec_decode_video2函数
  • 8.3 FFmpeg案例(代码实现)
  • 8.3.1 利用FFmpeg转换格式
  • 8.3.2 在实时流中抓取图像
  • 8.3.3 在视频中加入水印
  • 8.3.4 FFmpeg音频解码
  • 8.3.5 FFmpeg视频解码
  • 8.4 FFPlay原理
  • 8.4.1 注册所有容器格式和Codec
  • 8.4.2 打开流文件
  • 8.4.3 读取数据
  • 8.4.4 保存数据
  • 8.4.5 音视频同步
  • 8.4.6 音视频输出
  • 第9章 直播技术
  • 9.1 直播原理
  • 9.2 直播架构
  • 9.3 直播过程
  • 9.3.1 采集数据
  • 9.3.2 渲染处理
  • 9.3.3 编码数据
  • 9.3.4 推流
  • 9.3.5 CDN分发
  • 9.3.6 拉流
  • 9.3.7 播放流数据
  • 9.3.8 直播推流完整案例
  • 9.4 流媒体服务器搭建
  • 9.5 FFmpeg推流到流媒体服务器的过程
  • 9.6 直播优化那些事
  • 9.6.1 卡顿优化
  • 9.6.2 延时优化
  • 9.6.3 数据代理优化
  • 9.6.4 首屏秒开优化
  • 9.6.5 弱网优化
  • 9.6.6 运营商劫持优化
  • 9.6.7 CDN节点优化
  • 第10章 H.264编码及H.265编码
  • 10.1 H.264编码框架
  • 10.2 H.264编码原理
  • 10.3 H.264码流分析
  • 10.3.1 H.264编码格式
  • 10.3.2 NAL Header
  • 10.3.3 H.264的传输
  • 10.3.4 H.264码流结构
  • 10.3.5 H.264的Level和Profile说明
  • 10.4 H.265编码框架
  • 10.4.1 背景知识
  • 10.4.2 H.265码流结构
  • 第11章 视频格式分析
  • 11.1 MP4格式分析
  • 11.1.1 Box结构
  • 11.1.2 MP4总体结构
  • 11.1.3 movie(moov)box
  • 11.1.4 media box
  • 11.1.5 sample table(stbl)box
  • 11.2 FLV格式分析
  • 11.2.1 FLV文件结构
  • 11.2.2 File Header(文件头)
  • 11.2.3 Body
  • 11.2.4 Tag
  • 11.3 F4V格式分析
  • 11.3.1 file type box
  • 11.3.2 movie box
  • 11.3.3 movie header box
  • 11.3.4 track box
  • 11.3.5 media box
  • 11.3.6 media information box
  • 11.3.7 sample table box
  • 11.4 TS格式分析
  • 11.4.1 TS格式介绍
  • 11.4.2 TS流包含的内容
  • 11.4.3 TS包头解析
  • 11.4.4 TS包传输部分
  • 11.4.5 节目专用信息PSI(Program Specific Information)
  • 11.5 AVI格式分析
  • 11.5.1 AVI整体结构
  • 11.5.2 AVI信息块('hdrl' LIST块)
  • 11.5.3 AVI数据块('movi' LIST块)
  • 11.5.4 AVI索引块('idxl’子块)
  • 11.6 ASF格式分析
  • 11.6.1 认识ASF
  • 11.6.2 ASF文件整体结构
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。