您好,欢迎光临有路网!
FFmpeg 音视频开发基础与实战
QQ咨询:
有路璐璐:

FFmpeg 音视频开发基础与实战

  • 作者:殷汶杰
  • 出版社:电子工业出版社
  • ISBN:9787121425554
  • 出版日期:2022年01月01日
  • 页数:416
  • 定价:¥108.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

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

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外