本书赞誉

金山云高级副总裁、合伙人梁守星

随着计算机网络和多媒体技术的飞速发展,视频作为富媒体的主要元素,成为了信息传递的主要方式,深刻地影响着我们的生活。在互联网流量中,尤其是移动互联网中,视频流媒体的占比已经超过70%。但由于视频相关技术(如编解码、流媒体传输等)入门门槛较高,导致从事视频行业的高端人才数量无法满足行业的发展需要。

刘歧曾经和我一起工作过,也是生活中的朋友,他对技术的执著是我非常赏识和佩服的,同时他为FFmpeg社区在国内的发展做出了很大贡献。

本书由浅入深地介绍了FFmpeg的使用方法,帮助读者更好地理解和掌握音视频相关的实际应用;相信本书将对音视频行业发展起到推动作用,让更多的人参与到音视频行业的创新发展中。如作者在书中所说,“FF”代表的是“Fast Forward”,我也希望读者通过对本书的学习,成长速度可以fast, faster, fastest。

云帆加速联合创始人CTO扶凯

我与武爱敏、刘歧和赵文杰都来自蓝汛,生活中是挚友,多年来我也一直在从事视频编解码相关的工作,经常与他们有联系和交流学习的机会。回想起2008年,彼时我在蓝汛负责过一段时间的视频编解码工作,后来在土豆也负责CDN和视频编解码相关业务,这些技术大多都是基于FFmpeg。然而,当年一直苦于市面上没有好的中文指导资料,相关技术知识只能从国外的书刊中寻找。

因此我非常期待有一些中文的刊物,能对FFmpeg相关的技术进行深入和系统的介绍。如果当年有这本书的话,我相信能省下我或其他人非常多的时间。目前,中国在音视频方面的流量每年都有60%以上的增速,所以无论对于从业者技能提升还是相关领域技术学习,这本书都非常值得读者期待。

可喜的是,近年来中国的音视频技术在国际上是占有一席之地的。比如,目前一些国外CDN公司都不支持目前国内主流的直播流技术(如rtmp和httpflv流技术),刚好这几位是SRS的作者或推动者——他们推动了整个中国的直播和编解码技术的发展,改变了整个行业。我在研究音视频分布式的大规模分布式转码技术时,与刘歧曾进行过深入的交流,对于他们的技术和实力是有目共睹的。值得一提的是,目前包括我们公司在内的中国众多点播直播领域企业,都在使用或者学习FFmpeg基于开源所提供的技术,以便为市场提供良好的服务。

我相信本书能对视频行业产生极为正面的影响,并且也一定能带动当下中国点播直播技术、H.265编码技术和VR等技术获得更大的发展。他们编写这本FFmpeg的书,是对知识的尊重,是对价值的渴望。我希望从这本书开始,中国在视频领域的技术能逐步赶超国际水平,做一些创新甚至颠覆的事情。我强烈推荐这本书给大家,我能学习到很多,也希望你们受益。

熊猫TV CTO黄欢

FFmpeg是一个功能完备,稳定性强的音视频处理开源项目。但由于其庞大的工程量,复杂的系统构架,以及繁多的参数设置。让一些刚刚接触音视频开发的开发人员不知从何下手。本书由参数入手,细致地讲解了参数背后的原理。让开发人员可以由浅入深的了解音视频开发知识。从FFmpeg安装、转格式、转码起步,深入地分析了FFmpeg所支持的常用格式的结构,对于FLV、MP4等常用文件格式,细致到每一位进行了详细的说明。编解码方面,本书也细致地讲解了各种编码标准,软硬编解码的使用和转编码中容易遇到的问题和误区。传输方面,不仅对于目前常用的直播点播进行了具体的分析,还对多路处理等问题进行了深入剖析。在图像以及音频处理方面,更是细致地解释了常用的处理操作。总体而言,本书为音视频开发入门铺垫了道路,也为深入理解音视频开发填平了坑点。

高升控股副总经理鄢涛

随着近几年直播、短视频等行业的兴起,流媒体技术越来越多地受到大家的重视。开源的FFmpeg系统,更是流媒体行业内大家学习和实践的最好工具。

刘歧从事流媒体行业多年,一路跳坑踩雷走过来,积累了丰富的行业和实战经验。本书从入门到实例,详细地介绍了在实践中的技术点,是初学者的带路导师,也是流媒体开发者不错的工具字典。期望通过本书,能让更多人更容易地参与到流媒体行业中来。

dotEngine创始人刘连响

FFmpeg被称作音视频应用程序的瑞士军刀,包含音视频采集、编码转化、音视频格式转化、视频滤镜、音频滤镜等功能,还可以进行视频裁剪、缩放、色域转换等一系列后期处理。可以说,无论你想要本地播片,还是转换视频格式,亦或是利用网络看视频,FFmpeg都可以胜任。三大视频播放流派MPC、MPlayer和VLC都和FFmpeg脱不开关系,而Chrome这样的能播放视频的浏览器,底层也是用了FFmpeg来处理音视频。

FFmpeg功能强大的同时也带来了复杂性,命令行参数众多,加上没有系统的教程,我也一直对学习FFmpeg的使用心怀抗拒,在经历了几次到处求命令行之后,最后终于花了一天的时间把FFmpeg官方的文档都看了一遍,在经历了一些练习后,基本能解决工作中遇到的FFmpeg的大部分问题。一些解决不了的问题会请教大师兄,这时候大师兄往往二话不说扔出一个命令行来,留下我辈后来者深深佩服。有些技术只会用一时,有些技术确可以用几十年,FFmpeg是可以用几十年的技术,花上几天学一个可以用几十年的技术是何等高的学习“性价比”。

这本书浅显易懂并能学以致用,只需要对音视频的编码和容器有基本了解就可以快速上手。首先总体讲了FFmpeg的包含的模块,编译安装,接下来对常用的命令行参数进行了讲解,最后部分针对API做了讲解,对于那些有命令行无法完成的任务和一定C语言开发能力的开发者来说,这部分是一个非常好的API开发入门。相信你跟着本书的示例代码练习下来之后会有跟我一样的感叹:原来用FFmpeg做出一个画中画效果和一个多宫格的播放效果这么简单。

大师兄常说的一句话是:独学而无友,则孤陋而寡闻。作为一本系统介绍FFmpeg知识的书,相信本书会是你的良师益友。