展开全部

主编推荐语

一本FFmpeg开发的实战教程。

内容简介

全书共分为12章。其中,第1~5章是基础部分,主要讲解FFmpeg的环境搭建、FFmpeg的开发基础、FFmpeg的编解码、FFmpeg处理图像和FFmpeg处理音频;第6~10章是进阶部分,主要讲解FFmpeg加工视频、FFmpeg添加图文、FFmpeg自定义滤镜、FFmpeg混合音视频和FFmpeg播放音视频;第11和12章是平台应用部分,主要讲解FFmpeg的桌面开发和FFmpeg的移动开发。

本书在讲解FFmpeg知识点的同时给出了大量实战范例,方便读者迅速将所学的知识运用到音视频开发中。通过本书的学习,读者能够掌握音视频开发的基本技术,包括音视频查看、音视频转换、音视频播放、音视频剪辑、视频推拉流等。

目录

  • 版权信息
  • 内容简介
  • 前言
  • 第1章 FFmpeg环境搭建
  • 1.1 FFmpeg简介
  • 1.1.1 FFmpeg是什么
  • 1.1.2 FFmpeg的用途
  • 1.1.3 FFmpeg的发展历程
  • 1.2 Linux系统安装FFmpeg
  • 1.2.1 Linux开发机配置要求
  • 1.2.2 安装已编译的FFmpeg及其SO库
  • 1.2.3 自行编译与安装FFmpeg
  • 1.3 在Windows系统下安装FFmpeg
  • 1.3.1 Windows开发机配置要求
  • 1.3.2 安装依赖的Windows软件
  • 1.3.3 安装已编译的FFmpeg及其DLL库
  • 1.4 FFmpeg的开发框架
  • 1.4.1 可执行程序
  • 1.4.2 动态链接库
  • 1.4.3 第一个FFmpeg程序
  • 1.5 小结
  • 第2章 FFmpeg开发基础
  • 2.1 音视频的编码标准
  • 2.1.1 音视频编码的发展历程
  • 2.1.2 音视频文件的封装格式
  • 2.1.3 国家数字音视频标准AVS
  • 2.2 FFmpeg的主要数据结构
  • 2.2.1 FFmpeg的编码与封装
  • 2.2.2 FFmpeg的数据包样式
  • 2.2.3 FFmpeg的过滤器类型
  • 2.3 FFmpeg查看音视频信息
  • 2.3.1 打开与关闭音视频文件
  • 2.3.2 查看音视频的信息
  • 2.3.3 查看编解码器的参数
  • 2.4 FFmpeg常见的处理流程
  • 2.4.1 复制编解码器的参数
  • 2.4.2 创建并写入音视频文件
  • 2.4.3 使用滤镜加工音视频
  • 2.5 小结
  • 第3章 FFmpeg的编解码
  • 3.1 音视频时间
  • 3.1.1 帧率和采样率
  • 3.1.2 时间基准的设定
  • 3.1.3 时间戳的计算
  • 3.2 分离音视频
  • 3.2.1 原样复制视频文件
  • 3.2.2 从视频文件剥离音频流
  • 3.2.3 切割视频文件
  • 3.3 合并音视频
  • 3.3.1 合并视频流和音频流
  • 3.3.2 对视频流重新编码
  • 3.3.3 合并两个视频文件
  • 3.4 视频浏览与格式分析
  • 3.4.1 通用音视频播放器
  • 3.4.2 视频格式分析工具
  • 3.4.3 把原始的H264文件封装为MP4格式
  • 3.5 小结
  • 第4章 FFmpeg处理图像
  • 4.1 YUV图像
  • 4.1.1 为什么要用YUV格式
  • 4.1.2 把视频帧保存为YUV文件
  • 4.1.3 YUV图像浏览工具
  • 4.2 JPEG图像
  • 4.2.1 为什么要用JPEG格式
  • 4.2.2 把视频帧保存为JPEG图片
  • 4.2.3 图像转换器
  • 4.3 其他图像格式
  • 4.3.1 把视频帧保存为PNG图片
  • 4.3.2 把视频帧保存为BMP图片
  • 4.3.3 把视频保存为GIF动画
  • 4.4 实战项目:图片转视频
  • 4.5 小结
  • 第5章 FFmpeg处理音频
  • 5.1 PCM音频
  • 5.1.1 为什么要用PCM格式
  • 5.1.2 把音频流保存为PCM文件
  • 5.1.3 PCM波形查看工具
  • 5.2 MP3音频
  • 5.2.1 为什么要用MP3格式
  • 5.2.2 Linux环境集成mp3lame
  • 5.2.3 把音频流保存为MP3文件
  • 5.3 其他音频格式
  • 5.3.1 把音频流保存为WAV文件
  • 5.3.2 把音频流保存为AAC文件
  • 5.3.3 音频重采样
  • 5.4 实战项目:拼接两段音频
  • 5.5 小结
  • 第6章 FFmpeg加工视频
  • 6.1 滤波加工
  • 6.1.1 简单的视频滤镜
  • 6.1.2 简单的音频滤镜
  • 6.1.3 利用滤镜切割视频
  • 6.1.4 给视频添加方格
  • 6.2 添加特效
  • 6.2.1 转换图像色度坐标
  • 6.2.2 添加色彩转换特效
  • 6.2.3 调整明暗对比效果
  • 6.2.4 添加淡入淡出特效
  • 6.3 变换方位
  • 6.3.1 翻转视频的方向
  • 6.3.2 缩放和旋转视频
  • 6.3.3 裁剪和填充视频
  • 6.4 实战项目:老电影怀旧风
  • 6.5 小结
  • 第7章 FFmpeg添加图文
  • 7.1 添加图标
  • 7.1.1 添加图片标志
  • 7.1.2 清除图标区域
  • 7.1.3 利用调色板生成GIF动画
  • 7.2 添加文本
  • 7.2.1 Linux环境安装FreeType
  • 7.2.2 添加英文文本
  • 7.2.3 添加中文文本
  • 7.3 添加字幕
  • 7.3.1 Linux环境安装libass
  • 7.3.2 Linux安装中文字体
  • 7.3.3 添加中文字幕
  • 7.4 实战项目:卡拉OK音乐短片
  • 7.4.1 视频字幕制作工具
  • 7.4.2 制作卡拉OK字幕
  • 7.5 小结
  • 第8章 FFmpeg自定义滤镜
  • 8.1 Windows环境编译FFmpeg
  • 8.1.1 给FFmpeg集成x264
  • 8.1.2 给FFmpeg集成avs2
  • 8.1.3 给FFmpeg集成mp3lame
  • 8.1.4 给FFmpeg集成FreeType
  • 8.1.5 给FFmpeg集成x265
  • 8.2 优化FFmpeg源码
  • 8.2.1 读写音视频文件的元数据
  • 8.2.2 元数据的中文乱码问题处理
  • 8.2.3 修改FFmpeg源码解决乱码
  • 8.3 自定义视频滤镜
  • 8.3.1 添加模糊和锐化特效
  • 8.3.2 视频滤镜的代码分析
  • 8.3.3 自定义视频翻转滤镜
  • 8.4 实战项目:侧边模糊滤镜
  • 8.4.1 实现两侧模糊逻辑
  • 8.4.2 集成侧边模糊滤镜
  • 8.5 小结
  • 第9章 FFmpeg混合音视频
  • 9.1 多路音频
  • 9.1.1 同时过滤视频和音频
  • 9.1.2 利用多通道实现混音
  • 9.1.3 给视频添加背景音乐
  • 9.2 多路视频
  • 9.2.1 通过叠加视频实现画中画
  • 9.2.2 多路视频实现四宫格效果
  • 9.2.3 透视两路视频的混合画面
  • 9.3 转场动画
  • 9.3.1 给视频添加转场动画
  • 9.3.2 转场动画的代码分析
  • 9.3.3 自定义斜边转场动画
  • 9.4 实战项目:翻书转场动画
  • 9.4.1 贝塞尔曲线实现翻页特效
  • 9.4.2 集成翻书转场动画效果
  • 9.5 小结
  • 第10章 FFmpeg播放音视频
  • 10.1 通过SDL播放音视频
  • 10.1.1 FFmpeg集成SDL
  • 10.1.2 利用SDL播放视频
  • 10.1.3 利用SDL播放音频
  • 10.2 FFmpeg推流和拉流
  • 10.2.1 什么是推拉流
  • 10.2.2 FFmpeg向网络推流
  • 10.2.3 FFmpeg从网络拉流
  • 10.3 SDL处理线程间同步
  • 10.3.1 SDL的线程
  • 10.3.2 SDL的互斥锁
  • 10.3.3 SDL的信号量
  • 10.4 实战项目:同步播放音视频
  • 10.4.1 同步音视频的播放时钟
  • 10.4.2 优化音视频的同步播放
  • 10.5 小结
  • 第11章 FFmpeg的桌面开发
  • 11.1 搭建Qt开发环境
  • 11.1.1 安装桌面开发工具Qt
  • 11.1.2 创建一个基于C++的Qt项目
  • 11.1.3 把Qt项目打包成可执行文件
  • 11.2 桌面程序播放音频
  • 11.2.1 给Qt工程集成FFmpeg
  • 11.2.2 Qt工程使用SDL播放音频
  • 11.2.3 通过QAudioSink播放音频
  • 11.3 桌面程序播放视频
  • 11.3.1 通过QImage播放视频
  • 11.3.2 OpenGL的着色器小程序
  • 11.3.3 使用OpenGL播放视频
  • 11.4 实战项目:桌面影音播放器
  • 11.5 小结
  • 第12章 FFmpeg的移动开发
  • 12.1 搭建Android开发环境
  • 12.1.1 搭建Android的NDK开发环境
  • 12.1.2 交叉编译Android需要的SO库
  • 12.1.3 App工程调用FFmpeg的SO库
  • 12.2 App通过FFmpeg播放音频
  • 12.2.1 交叉编译时集成mp3lame
  • 12.2.2 通过AudioTrack播放音频
  • 12.2.3 使用OpenSL ES播放音频
  • 12.3 App通过FFmpeg播放视频
  • 12.3.1 交叉编译时集成x264和FreeType
  • 12.3.2 通过ANativeWindow播放视频
  • 12.3.3 使用OpenGL ES播放视频
  • 12.4 实战项目:仿剪映的视频剪辑
  • 12.5 小结
  • 附录A 音视频专业术语索引
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。