全新正版 假一赔十 可开发票
¥ 62.97 7.1折 ¥ 89 全新
库存5件
作者梅会东
出版社清华大学出版社
ISBN9787302617778
出版时间2023-06
装帧平装
开本其他
定价89元
货号1202897949
上书时间2024-08-16
近年来,随着5G网络技术的迅猛发展,FFmpeg音视频及流媒体直播应用越来越普及,音视频流媒体方面的开发岗位也非常多,然而,市面上还没有一本通俗易懂的系统完整的FFmpeg命令行应用及音视频特效处理方向的入门书。网络上的知识虽然不少,但是太散乱,不适合读者入门。
众所周知,FFmpeg命令行应用起来简单,但很难理解。很多程序员想从事音视频或流媒体开发,但始终糊里糊涂、不得入门。笔者刚毕业时,也是一名纯读者,为了学习这方面知识付出了很多努力,终于有一些收获。借此机会,整理成书,希望对读者有所帮助,少走弯路。
FFmpeg发展迅猛,功能强大,命令行也很简单、很实用,但是有一个现象: 有时即便使用命令行做出了一些特效,但依然不理解原理,不知道具体的参数是什么含义。音视频与流媒体是一门很复杂的技术,涉及的概念、原理、理论非常多,很多初学者不学基础理论,而是直接做项目、看源码,但往往在看到C/C 的代码时一头雾水,不知道代码到底是什么意思。这是因为没有学习音视频和流媒体的基础理论,就比如学习英语,不学习基本单词,而是天天听英语新闻,总也听不懂,所以一定要认真学习基础理论,然后学习播放器、转码器、非编、流媒体直播、视频监控等。
本书主要内容
第1章介绍FFmpeg入门知识。
第2章介绍FFmpeg命令行初体验的几个小案例。
第3章介绍FFmpeg三大常用工具及应用选项的详解。
第4章介绍FFmpeg命令行实现音视频转封装的知识。
第5章介绍FFmpeg命令行实现音视频转码的案例及相关基础理论。
第6章介绍FFmpeg命令行实现图片水印及文字跑马灯等效果。
第7章介绍FFmpeg命令行实现音视频特效及复杂滤镜的应用。
第8章介绍FFmpeg命令行实现流媒体功能及直播应用功能。
第9章介绍FFmpeg命令行实现音视频设备采集的功能。
第10章介绍FFmpeg命令行在Linux系统中的应用及几个典型案例。
第11章介绍版FFmpeg 5.0的应用及案例实战。
第12章介绍各种开发语言调用FFmpeg命令行。
阅读建议
本书是一本适合读者入门的FFmpeg命令行应用及音视频特效处理的读物,既有通俗易懂的基本概念,又有丰富的案例和原理分析,图文并茂,知识体系非常完善。对音视频、流媒体和直播的基本概念和原理进行复习,对重要的概念进行了具体的阐述,然后结合FFmpeg命令行进行案例实战,既能学到实践操作知识,也能理解底层理论,非常适合初学者。
本书总共12章。
第1~3章介绍FFmpeg命令行的基础知识,包括参数选项详细讲解,以及命令行初体验等。
第4~12章介绍FFmpeg命令行实现转封装、转码、图片水印、文字跑马灯、各种音视频特效(倍速、倒放、旋转、模糊、画中画、九宫格、浮雕和字幕效果等)、直播功能、音视频采集功能等,以及各种开发语言调用FFmpeg命令行的知识。
建议读者在学习过程中,循序渐进,不要跳跃。
本书的知识体系是笔者精心准备的,由浅入深,层层深入,对于抽象复杂的概念和原理,笔者尽量通过图文并茂的方式进行讲解,非常适合初学者。从基础的FFmpeg命令行入门案例开始,理论与实践并重,读者一定要动手实践,亲自试验各个命令行,并理解原理和流程。讲解详细的FFmpeg参数选项,然后应用FFmpeg命令行进行各种转码、特效、直播、采集等处理。建议读者一定要将本系列的本《FFmpeg入门详解——音视频原理及应用》和第二本《FFmpeg入门详解——流媒体直播原理及应用》所学的音视频基础知识和流媒体直播基础知识应用到本书中,理论指导实践,加深对每个知识点的理解。不但要学会如何用FFmpeg命令行来完成各种复杂的音视频特效功能,还要能理解底层原理及相关的理论基础。后进行分析总结,争取使所学的理论进行升华,做到融会贯通。
致谢
首先感谢清华大学出版社赵佳霓编辑给笔者提出了许多宝贵的建议,推动了本书的出版。
感谢我的家人和亲朋好友,祝大家快乐健康!特别感谢我的宝贝女儿和妻子,大宝贝女儿开始对知识有点兴趣了,非常欣慰。
感谢我的学员,群里的学员越来越多,并经常提出很多宝贵意见。随着培训时间和经验的增长,对知识点的理解也越来越透彻,希望给大家多带来一些光明,尽量让大家少走弯路。群里的部分老学员通过学到的FFmpeg音视频流媒体知识已经获得了高薪,这一点让我感到非常兴奋。将知识分享出去,是1变N的成效,看着大家成长起来,心里有一股股暖流。学习是一个过程,没有终点,唯有坚持,大家一起加油,为美好的明天而奋斗。
由于时间仓促,书中难免存在不妥之处,请读者见谅,并提宝贵意见。
梅会东2023年3月于北京清华园
资料包
全书概览
本书系统讲解了FFmpeg命令行及音视频特效的基础理论及应用,包括详细的FFmpeg命令行参数选项,包括音视频转封装、转码、水印、字幕等,包括各种音视频特效(倍速、倒放、旋转、模糊、画中画、九宫格、浮雕和字幕效果等),包括流媒体方方面面(RTSP、RTMP、HLS)等直播功能,包括音视频采集,以及各种开发语言(C 、Java、Python)调用FFmepg命令行等。本书为FFmpeg音视频流媒体系列的第三部。 全书共分为12章:系统讲解了FFmpeg命令行的基础知识、转封装与转码、图片水印与文字跑马灯、各种音视频特效、流媒体直播功能、音视频采集功能,以及各种开发语言调用FFmepg命令行等。 书中包含大量的示例,图文并茂,争取让一个音视频流媒体领域的读者真正入门,从此开启流媒体直播编程的大门。本书知识体系比较完整,侧重FFmpeg命令行及音视频特效的原理讲解及应用。建议读者先学习FFmpeg音视频流媒体系列的本《FFmpeg入门详解——音视频原理及应用》和第二本《FFmpeg入门详解——流媒体直播原理及应用》,然后来学习本书。本书的讲解过程由浅入深,让读者在不知不觉中学会了FFmpeg命令行的基础知识,并能动手实现各种转码功能、音视频特效处理、并能实现流媒体直播功能。 本书可作为FFmpeg命令行应用及音视频特效处理方向的入门书籍,也可作为高年级本科生和研究生的学习参考书籍。
梅会东, 一个在音视频领域摸爬滚打二十多年的老程序员、培训师、作者,精通多种IT技术。参与设计和开发了多个音视频项目,包括播放器、视频服务器、全套直播系统等。精通多个音视频开源库项目,包括FFmpeg、Live555、SRS、Darwin、Nginx、WebRTC、ZLMediaKit等。 目前专注于音视频流媒体的教育传播事业,为多家大型国企单位培训音视频专业知识。
第1章FFmpeg入门简介
1.1FFmpeg简介
1.1.1FFmpeg官网介绍
1.1.2FFmpeg耻辱柱
1.1.3Libav政变
1.1.4开源许可协议简介
1.2FFmpeg安装
1.2.1在Windows上安装FFmpeg
1.2.2在Linux上安装FFmpeg
1.2.3在macOS上安装FFmpeg
1.3FFmpeg项目组成
1.3.1工具
1.3.2SDK
1.3.3源码
1.4FFmpeg常用功能
1.5FFmpeg框架与处理流程
1.5.1FFmpeg的处理流程
1.5.2FFmpeg的关键结构体
第2章FFmpeg命令行初体验
2.1FFmpeg命令行简介
2.2音视频格式转换
2.3视频缩略图
2.4图片拼接成视频
2.5ffplay视频播放
2.6ffprobe获取视频信息
2.7Y4M视频文件格式
2.7.1Y4M格式简介
2.7.2Y4M格式规范
2.8PAL与NTSC
2.8.1制式
2.8.2PAL制式
2.8.3NTSC制式
第3章FFmpeg三大常用工具及应用选项详解
3.1ffmpeg工具简介
3.2ffplay工具简介
3.2.1ffplay常用参数
3.2.2ffplay高级参数
3.2.3ffplay的数据可视化分析应用
3.2.4VLC作为RTSP流媒体服务器
3.3ffprobe工具简介
3.3.1show_packets
3.3.2show_format
3.3.3show_frames
3.3.4show_streams
3.3.5print_format
3.3.6select_streams
3.4通用选项
3.5视频选项
3.6音频选项
3.7字幕选项
3.8高级选项
3.9map详解
3.10ffmpeg h详解
3.11FFmpeg其他选项
3.11.1formats: 支持的文件格式
3.11.2muxers: 支持的封装器格式
3.11.3demuxers: 支持的解封装器格式
3.11.4devices: 支持的设备
3.11.5encoders: 支持的编码器格式
3.11.6decoders: 支持的解码器格式
3.11.7protocols: 支持的协议格式
3.11.8hwaccels: 支持的硬件加速格式
3.11.9layouts: 支持的声道模式
3.11.10sample_fmts: 支持的采样格式
3.11.11colors: 支持的颜色名称
3.11.12pix_fmts: 支持的像素格式
第4章FFmpeg命令行实现音视频转封装
4.1视频容器及封装与解封装简介
4.2音视频流的分离与合成
4.2.1从MP4文件中提取音频流和视频流
4.2.2h264_mp4toannexb
4.2.3根据音频流和视频流合成MP4文件
4.2.4将多个MP4文件合并成一个MP4文件
4.3封装格式之间的互转
4.3.1MP4转换为FLV
4.3.2MP4转换为AVI
4.3.3其他格式转换
4.3.4AVI/FLV/TS格式简介
4.4MP4格式的faststart快速播放模式
4.4.1MP4格式简介
4.4.2faststart参数介绍
第5章FFmpeg命令行实现音视频转码
5.1音视频编解码及转码简介
5.1.1视频编解码简介
5.1.2音频编解码简介
5.1.3音视频转码简介
5.2提取音视频的YUV/PCM
5.2.1利用FFmpeg提取视频的YUV像素数据
5.2.2YUV444/YUV422/YUV420
5.2.3利用FFmpeg提取视频的RGB像素数据
5.2.4RGB16/RGB24/RGB32
5.2.5利用FFmpeg提取音频的PCM
5.2.6PCM数据与WAV格式
5.3音频编解码简介及命令行案例
5.3.1PCM编码为AAC
5.3.2AAC转码为MP3
5.3.3AAC转码为AC3
5.4视频编解码简介及命令行案例
5.4.1YUV编码为H.264
5.4.2MP4格式转码为FLV格式
5.4.3MP4格式转码为AVI格式
5.4.4MP4格式转码为TS格式
5.4.5其他格式之间互转
5.5控制音频的声道数、采样率及采样格式
5.5.1单声道与立体声互转
5.5.2采样率转换
5.5.3采样格式转换及音频重采样
5.6控制视频的帧率、码率及分辨率
5.6.1控制视频的帧率
5.6.2控制视频的码率及分辨率
5.6.3控制视频的GOP
5.6.4视频GOP简介
5.7libx264的常用编码选项及应用案例
5.7.1FFmpeg中libx264的选项
5.7.2x264.exe中的选项名与选项值
5.8libx265的常用编码选项及应用案例
5.9FFmpeg的GPU硬件加速原理及应用案例
第6章FFmpeg命令行实现图片水印及文字跑马灯
6.1FFmpeg的滤镜技术
6.2图片水印及位置控制
6.2.1vf的movie滤镜
6.2.2vf的movie中的路径
6.2.3vf的delogo去掉水印
6.3文字水印及位置控制
6.3.1vf的drawtext添加固定文字水印
6.3.2vf的drawtext控制文字颜色及大小
6.3.3查看drawtext的参数
6.3.4drawtext的文字内容来源
6.3.5drawtext的主要参数
6.3.6vf的drawtext添加系统时间水印
6.4文字跑马灯案例实战
6.5FFmpeg的overlay技术简介
6.5.1overlay技术简介
6.5.2filter_complex overlay添加水印
6.6控制文字的大小和颜色并解决中文乱码问题
6.6.1vf的drawtext添加中文水印
6.6.2vf的drawtext解决中文乱码问题
6.6.3vf的drawtext中使用路径
第7章FFmpeg命令行实现音视频特效及复杂滤镜应用
7.1复杂滤镜filter_complex简介
7.1.1简单滤镜和复杂滤镜案例入门
7.1.2滤镜图、滤镜链、滤镜的关系
7.1.3简单滤镜和复杂滤镜的区别
7.1.4流和滤镜的结合使用
7.2视频缩放及scale参数详解
7.2.1使用scale实现缩放
7.2.2使用scale保持宽高比缩放
7.2.3使用FFmpeg的内置变量进行缩放
7.2.4使用min或max函数进行缩放
7.2.5使用force_original_aspect_ratio进行缩放
7.2.6使用pad选项填充黑边
7.2.7使用scale的指定算法进行缩放
7.2.8scale参数说明
7.3音视频倍速
7.3.1视频倍速
7.3.2音频倍速
7.3.3音视频同时倍速
7.3.4使用ffplay倍速播放
7.4视频裁剪及crop参数详解
7.4.1使用crop实现裁剪
7.4.2crop参数说明
7.4.3复杂滤镜nullsrc、crop、overlay结合使用
7.4.4nullsrc参数说明
7.4.5使用nullsrc生成一段空屏视频
7.4.6使用color滤镜生成黑色背景的视频
7.5视频倒放
7.6视频翻转与旋转
7.7视频填充pad滤镜
7.8视频倒影及镜面水面特效
7.9画中画
7.9.1画中画技术简介
7.9.2使用overlay实现画中画
7.9.3使用overlay与scale的结合实现画中画
7.9.4画中画的灵活位置
7.10九宫格
7.10.1九宫格简介
7.10.2使用FFmpeg实现“四宫格”
7.10.3实现“四宫格”的任意顺序
7.10.4使用FFmpeg实现“九宫格”
7.10.5实现的视频“四宫格”
7.11淡入淡出效果
7.11.1fade滤镜的参数说明
7.11.2fade滤镜的用法
7.11.3fade滤镜的案例
7.12黑白效果
7.13模糊处理
7.14视频颤抖
7.15浮雕效果
7.15.1geq滤镜参数简介
7.15.2geq滤镜的官网介绍
7.16静音音频和黑幕视频
7.16.1生成静音音频
7.16.2生成纯色视频
7.17软字幕和硬字幕
7.17.1字幕简介
7.17.2字幕处理
第8章FFmpeg命令行实现流媒体功能及直播应用
8.1RTSP简介及直播流
8.1.1RTSP简介
8.1.2VLC作为RTSP流媒体服务器
8.1.3FFmpeg实现RTSP直播拉流
8.1.4RTSP交互流程分析
8.1.5VLC使用摄像头模拟RTSP直播流
8.2RTP简介及直播流
8.2.1RTP简介
8.2.2VLC作为RTP流媒体服务器
8.2.3FFmpeg实现RTP直播拉流
8.3HTTP简介及直播流
8.3.1HTTP简介
8.3.2HTTP流媒体
8.3.3VLC作为HTTP流媒体服务器
8.3.4FFmpeg实现HTTP直播拉流
8.4UDP简介及直播流
8.4.1UDP简介
8.4.2VLC作为UDP流媒体服务器
8.4.3FFmpeg实现UDP直播拉流
8.5流媒体服务器的搭建
8.6RTMP直播推流与拉流
8.6.1RTMP简介
8.6.2直播推流与拉流
8.6.3使用FFmpeg实现RTMP直播推流
8.6.4使用ffplay播放RTMP直播流
8.7HLS与M3U8直播功能
8.7.1NginxHTTPFLV生成HLS切片
8.7.2M3U8简介
8.7.3使用ffplay播放HLS直播流
第9章FFmpeg命令行实现音视频设备采集
9.1FFmpeg枚举设备
9.2FFmpeg采集本地话筒与摄像头数据
9.3FFmpeg采集网络摄像头获取的数据并录制
9.4FFmpeg采集摄像头与话筒获取的数据并直播
9.5Linux系统中FFmpeg采集摄像头获取的数据
9.5.1VMware中的Ubuntu连接USB摄像头
9.5.2FFmpeg采集USB摄像头获取的数据
9.6FFmpeg录制计算机屏幕
9.6.1Windows系统中FFmpeg录屏
9.6.2Linux系统中FFmpeg录屏
第10章FFmpeg命令行在Linux系统中的应用
10.1使用FFmpeg实现音视频转码
10.2使用ffplay和ffprobe
10.3使用FFmpeg实现文字水印及跑马灯
10.4使用FFmpeg实现音视频特效
10.5使用FFmpeg实现流媒体及直播功能
第11章体验FFmpeg 5.0
11.1安装FFmpeg 5.0
11.1.1FFmpeg 5.0的官网简介
11.1.2FFmpeg 5.0的安装
11.2使用FFmpeg 5.0实现音视频转码
11.3使用FFmpeg 5.0实现文字跑马灯
11.4使用FFmpeg 5.0实现音视频特效
11.5使用FFmpeg 5.0实现流媒体及直播功能
第12章各种开发语言调用FFmpeg命令行
12.1C 调用FFmpeg命令行
12.1.1C 调用FFmpeg命令行的跨平台通用代码
12.1.2Visual Studio调用FFmpeg命令行
12.1.3Qt调用FFmpeg命令行
12.1.4MinGW调用FFmpeg命令行
12.1.5Linux系统下C 调用FFmpeg命令行
12.1.6popen与pclose
12.2Java调用FFmpeg命令行
12.3Python调用FFmpeg命令行
★易教易学 系统阐述FFmpeg命令行的基础语法及各种参数应用,结合前沿的技术,使读者建立起宏观的音视频流媒体知识体系,掌握晦涩难懂的概念和理论,实践并应用FFmpeg命令行实现各种音视频特效,为后续的SDK二次开发及直播美颜应用开发打下坚实的基础。
★前后衔接 强调知识体系和分析方法的前后连贯性,并妥善处理好与前期知识和后续知识的衔接性。
★ 应用方向 引导读者进行各种FFmpeg命令行应用及音视频特效的探索,打开思维,包括图片水印、文字跑马灯、九宫格、镜面特效、摄像头连麦直播、编解码、语音识别等,激发读者的学习兴趣,启迪创新思想。
— 没有更多了 —
以下为对购买帮助不大的评价