电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
微信扫描二维码,访问我们的微信店铺

FFmpeg 音视频开发基础与实战

77.80
运费: 免运费
FFmpeg 音视频开发基础与实战 商品图0
FFmpeg 音视频开发基础与实战 商品缩略图0

商品详情

书名:FFmpeg 音视频开发基础与实战
定价:108.0
ISBN:9787121425554
作者:无
版次:第1版
出版时间:2022-01

内容提要:
全书内容分为三部分,共15 章。第1~6 章为**部分,主要讲解音视频开发的基础知识,简要介绍音视频技术的发展背景,以及主流的音视频压缩编码算法、音视频容器格式和网络流媒体协议等。第7~9章为第二部分,主要讲解命令行工具ffmpeg、ffprobe 和ffplay 的使用方法,包括如何使用这些工具进行视频播放、格式检测、编转码、格式转换和流媒体推拉流等操作;第10~15 章为第三部分,主要讲解基于FFmpeg SDK 的开发实战,主要介绍如何在工程中调用libavcodec 和libavformat 等库提供的接口实现音视频处理的相关功能。本书适合从事音视频编解码、多媒体应用开发和流媒体技术的初、中级开发者,以及各大院校学生阅读,也适合有一定经验的开发人员参考使用。



作者简介:
殷汶杰,2013年毕业于上海大学信息与通信工程学院,主要研究方向为视频压缩编码、流媒体技术,其间发表了多篇高水平学术论文。具有多家一线互联网上市公司、世界五百强企业与行业独角兽公司的核心开发工作经验,成功申请了多项专利(其中一项国际专利)。发表了数百篇技术博客,并发布了多个线上教学课程,在行业内具有较强的技术影响力。

目录:
**部分 基础知识
第1 章 音视频技术概述 ................................................................................................. 2
1.1 音视频信息与多媒体系统 .................................................................................... 2
1.1.1 信息传输系统的发展 ................................................................................. 2
1.1.2 信息时代的音视频技术 ............................................................................. 4
1.1.3 音视频技术的未来展望 ............................................................................. 5
1.2 典型的音视频与多媒体系统结构 ........................................................................ 6
1.2.1 视频点播 ..................................................................................................... 7
1.2.2 视频直播 ..................................................................................................... 8
1.2.3 安防监控 ..................................................................................................... 9
1.2.4 视频会议 ..................................................................................................... 9

第2 章 图像、像素与颜色空间 ..................................................................................... 11
2.1 图像与像素 .......................................................................................................... 11
2.2 图像的位深与颜色空间 ...................................................................................... 12
2.2.1 图像的位深 ............................................................................................... 12
2.2.2 图像的颜色空间 ....................................................................................... 14
2.3 图像压缩编码 ...................................................................................................... 15
2.3.1 图像压缩算法分类 ................................................................................... 16
2.3.2 图像压缩基本算法 ................................................................................... 16
2.3.3 常见的图像压缩编码格式 ....................................................................... 20

第3 章 视频压缩编码 .................................................................................................. 22
3.1 视频压缩编码的基础知识 .................................................................................. 22
3.1.1 视频信息的数字化表示 ........................................................................... 22
3.1.2 常用的视频格式与分辨率 ....................................................................... 24
3.1.3 对视频数据压缩编码的原因.................................................................... 24
3.2 视频压缩编码标准的发展历程 .......................................................................... 24
3.3 视频压缩编码的基本原理 .................................................................................. 25
3.3.1 视频数据中的冗余信息 ........................................................................... 25
3.3.2 预测编码 ................................................................................................... 26
3.3.3 变换编码 ................................................................................................... 27
3.3.4 熵编码 ....................................................................................................... 28
3.4 视频编码标准H.264 ........................................................................................... 28
3.4.1 H.264 简介 ................................................................................................ 28
3.4.2 H.264 的框架 ............................................................................................ 28
3.4.3 H.264 的基本算法 ..................................................................................... 30
3.5 高效视频编码标准H.265.................................................................................... 33
3.5.1 H.265 简介 ................................................................................................ 33
3.5.2 H.265 的框架 ............................................................................................ 33
3.5.3 H.265 的基本算法 ..................................................................................... 35

第4 章 音频压缩编码 .................................................................................................. 42
4.1 音频压缩编码的基础知识 .................................................................................. 42
4.1.1 声音信息的概念 ....................................................................................... 42
4.1.2 声音信息的基本要素 ............................................................................... 42
4.2 音频信息采样与数字化 ...................................................................................... 43
4.2.1 模拟音频 ................................................................................................... 43
4.2.2 数字音频 ................................................................................................... 44
4.2.3 采样和量化 ............................................................................................... 44
4.3 脉冲编码调制 ...................................................................................................... 46
4.3.1 PCM 量化区间分割 .................................................................................. 46
4.3.2 PCM 量化编码规则 .................................................................................. 49
4.4 MP3 格式与MP3 编码标准 ................................................................................ 51
4.4.1 MP3 格式 ................................................................................................... 52
4.4.2 MP3 编码标准 ........................................................................................... 62
4.5 AAC 格式与AAC 编码标准 ............................................................................... 67
4.5.1 AAC 格式 .................................................................................................. 67
4.5.2 AAC 编码标准 .......................................................................................... 72

第5 章 音视频文件容器和封装格式 ............................................................................. 74
5.1 概述 ...................................................................................................................... 74
5.2 FLV 格式 .............................................................................................................. 75
5.2.1 FLV 文件结构 ........................................................................................... 75
5.2.2 FLV 文件头 ............................................................................................... 76
5.2.3 FLV 标签 ................................................................................................... 77
5.3 MPEG-TS 格式 .................................................................................................... 84
5.3.1 信息包头 ................................................................................................... 84
5.3.2 PES 包结构 ............................................................................................... 85
5.3.3 PSI 结构 ..................................................................................................... 87
5.4 MP4 格式 ............................................................................................................. 88
5.4.1 MP4 格式简介 ........................................................................................... 88
5.4.2 ISO 协议族 ................................................................................................ 89
5.4.3 MP4 封装格式 ........................................................................................... 89
5.4.4 Box 类型 .................................................................................................... 90
5.4.5 MP4 文件结构 ........................................................................................... 92
5.4.6 构建视频流的播放时间轴 ....................................................................... 98

第6 章 音视频流媒体协议 ......................................................................................... 104
6.1 网络协议模型 .................................................................................................... 105
6.1.1 ISO/OSI 模型结构 .................................................................................. 105
6.1.2 TCP/IP 模型结构 .................................................................................... 106
6.2 网络流媒体协议——RTMP .............................................................................. 120
6.2.1 RTMP 的概念 .......................................................................................... 120
6.2.2 RTMP 分块与块流 .................................................................................. 121
6.2.3 RTMP 信息格式 ...................................................................................... 126
6.2.4 RTMP 信息与命令 .................................................................................. 129
6.3 网络流媒体协议——HLS 协议 ........................................................................ 136
6.3.1 HLS 协议的概念 ..................................................................................... 136
6.3.2 HLS 直播流媒体系统结构 ..................................................................... 136
6.3.3 HLS 索引文件格式 ................................................................................. 138

第二部分 命令行工具
第7 章 FFmpeg 的基本操作 ...................................................................................... 144
7.1 FFmpeg 概述 ...................................................................................................... 144
7.1.1 各个编译类型的区别 ............................................................................. 145
7.1.2 编译FFmpeg 源代码 .............................................................................. 148
7.2 ffplay 的基本使用方法 ...................................................................................... 155
7.2.1 显示ffplay 版本 ...................................................................................... 155
7.2.2 显示编译选项 ......................................................................................... 156
7.2.3 设置日志级别 ......................................................................................... 156
7.2.4 全屏播放 ................................................................................................. 158
7.2.5 指定输入视频的宽、高和帧率 .............................................................. 158
7.2.6 禁用音频流、视频流和字幕流 .............................................................. 158
7.2.7 指定播放的起始时间和时长.................................................................. 159
7.2.8 指定播放音量 ......................................................................................... 159
7.2.9 设置播放窗口 ......................................................................................... 159
7.3 ffprobe 的基本使用方法 .................................................................................... 159
7.3.1 显示详细的封装格式信息 ..................................................................... 160
7.3.2 显示每一路媒体流信息 ......................................................................... 161
7.3.3 显示每一个码流包的信息 ..................................................................... 164
7.3.4 显示媒体流和码流包的负载信息 .......................................................... 165
7.3.5 显示每一帧图像的信息 ......................................................................... 167
7.3.6 指定检测信息的输出格式 ..................................................................... 169
7.4 ffmpeg 的基本使用方法 .................................................................................... 175
7.4.1 显示版本和编译配置信息 ..................................................................... 176
7.4.2 显示支持的解复用器格式 ..................................................................... 177
7.4.3 显示支持的复用器格式 ......................................................................... 179
7.4.4 显示支持的所有输入格式和输出格式 .................................................. 181
7.4.5 显示支持的解码器 ................................................................................. 183
7.4.6 显示支持的编码器 ................................................................................. 184
7.4.7 显示支持的媒体协议 ............................................................................. 186
7.4.8 显示支持的硬件加速框架 ..................................................................... 188
7.4.9 ffmpeg 封装格式转换 ............................................................................. 188
7.4.10 视频的解码和编码 ............................................................................... 193
7.4.11 从视频中截取图像 ................................................................................ 206
7.4.12 ffmpeg 视频转码 ................................................................................... 207

第8 章 滤镜图 ........................................................................................................... 209
8.1 ffmpeg 音视频滤镜 ............................................................................................ 209
8.1.1 简单滤镜图 ............................................................................................. 209
8.1.2 复合滤镜图 ............................................................................................. 210
8.1.3 ffmpeg 支持的滤镜列表 ......................................................................... 211
8.2 简单滤镜图的应用 ............................................................................................ 212
8.2.1 常用的视频编辑简单滤镜图.................................................................. 212
8.2.2 常用的音频编辑简单滤镜图.................................................................. 227
8.3 复合滤镜图的应用 ............................................................................................ 230
8.3.1 常用的视频编辑复合滤镜图.................................................................. 230
8.3.2 常用的音频编辑复合滤镜图.................................................................. 234

第9 章 流媒体应用 .................................................................................................... 236
9.1 构建SRS 流媒体服务 ....................................................................................... 236
9.1.1 部署RTMP 流媒体服务 ......................................................................... 238
9.1.2 部署HLS 流媒体服务 ............................................................................ 240
9.1.3 部署HTTP-FLV 流媒体服务 ................................................................. 241
9.2 构建Nginx RTMP 流媒体服务 ......................................................................... 241
9.2.1 Nginx 的编译和部署 .............................................................................. 242
9.2.2 Nginx 的流媒体模块nginx-rtmp-module .............................................. 246

第三部分 开发实战
第10 章 FFmpeg SDK 的使用................................................................................... 254
10.1 使用CMake 构建工程 ..................................................................................... 255
10.1.1 使用CMake 构建Hello World 工程 .................................................... 255
10.1.2 在工程中编译并输出多个文件 ............................................................ 257
10.1.3 在工程中添加头文件和源文件目录 .................................................... 259
10.1.4 在工程中引入动态库 ........................................................................... 262
10.2 FFmpeg SDK 基本使用方法示例:获取目录下的文件信息 ....................... 264
10.2.1 显示指定目录信息 ............................................................................... 264
10.2.2 解析API 和结构体 ............................................................................... 266

第11 章 使用FFmpeg SDK 进行视频编解码 ............................................................ 269
11.1 libavcodec 视频编码 ........................................................................................ 269
11.1.1 主函数与数据I/O 实现 ........................................................................ 269
11.1.2 视频编码器初始化 ................................................................................ 272
11.1.3 编码循环体............................................................................................ 284
11.1.4 关闭编码器............................................................................................ 289
11.1.5 FFmpeg 视频编码延迟分析 ................................................................. 290
11.2 libavcodec 视频解码 ........................................................................................ 294
11.2.1 主函数实现............................................................................................ 294
11.2.2 视频解码器初始化 ................................................................................ 295
11.2.3 解码循环体............................................................................................ 297
11.2.4 关闭解码器............................................................................................ 304

第12 章 使用FFmpeg SDK 进行音频编解码 ............................................................ 306
12.1 libavcodec 音频编码 ........................................................................................ 306
目录 ∣ XIII
12.1.1 主函数实现 ........................................................................................... 306
12.1.2 音频编码器初始化 ............................................................................... 307
12.1.3 编码循环体 ........................................................................................... 310
12.1.4 关闭编码器 ........................................................................................... 313
12.2 libavcodec 音频解码 ........................................................................................ 315
12.2.1 主函数实现 ........................................................................................... 315
12.2.2 音频解码器初始化 ............................................................................... 316
12.2.3 解码循环体 ........................................................................................... 318
12.2.4 关闭解码器 ........................................................................................... 324

第13 章 使用FFmpeg SDK 进行音视频文件的解封装与封装 ................................... 326
13.1 音视频文件的解封装 ...................................................................................... 326
13.1.1 主函数实现 ........................................................................................... 326
13.1.2 解复用器初始化 ................................................................................... 327
13.1.3 循环读取码流包数据 ........................................................................... 335
13.1.4 释放解复用器和解码器 ....................................................................... 338
13.1.5 主函数的整体实现 ............................................................................... 339
13.2 音频流与视频流文件的封装 .......................................................................... 340
13.2.1 主函数实现 ........................................................................................... 340
13.2.2 音视频流复用器的初始化.................................................................... 341
13.2.3 复用音频流和视频流 ........................................................................... 348
13.2.4 释放复用器实例 ................................................................................... 353

第14 章 使用FFmpeg SDK 添加视频滤镜和音频滤镜 .............................................. 355
14.1 视频滤镜 .......................................................................................................... 355
14.1.1 主函数实现 ........................................................................................... 355
14.1.2 视频滤镜初始化 ................................................................................... 356
14.1.3 循环编辑视频帧 ................................................................................... 365
14.1.4 销毁视频滤镜 ....................................................................................... 368
14.2 音频滤镜 .......................................................................................................... 370
14.2.1 主函数框架 ........................................................................................... 370
14.2.2 音频滤镜初始化 ................................................................................... 371
14.2.3 循环编辑音频帧 ................................................................................... 380
14.2.4 销毁音频滤镜 ....................................................................................... 381

第15 章 使用FFmpeg SDK 进行视频图像转换与音频重采样 ................................... 383
15.1 视频图像转换 .................................................................................................. 383
15.1.1 主函数实现 ........................................................................................... 383
15.1.2 视频格式转换初始化 ........................................................................... 384
15.1.3 视频的图像帧循环转换 ....................................................................... 388
15.1.4 视频格式转换结构的销毁和释放 ........................................................ 390
15.2 音频重采样 ...................................................................................................... 391
15.2.1 主函数实现 ........................................................................................... 392
15.2.2 音频重采样初始化 ............................................................................... 392
15.2.3 对音频帧循环重采样 ........................................................................... 397
15.2.4 音频重采样结构的销毁和释放 ............................................................ 400
电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
扫描二维码,访问我们的微信店铺

FFmpeg 音视频开发基础与实战

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏