音视频学习--个人杂谈
共 4083字,需浏览 9分钟
·
2022-02-09 17:35
身边的小伙伴有问自己有什么推荐的音视频开发相关的书籍,自己也看过一些,简单列举一下。由于音视频相关的内容相对比较复杂,涉及的面比较全,所以需要学习、阅读的书籍也很多,事先声明(求生欲很强)都是个人主观感受,没有排名先后顺序。
书籍是我们入门的敲门砖、技术提升的阶梯、晋升专家的助手,每个人理解和吸收的多少并不一样,因此对于每个人的作用也是不一样的,各位看官量力而行,勿喷轻喷。
满满干货容我慢慢呈上:
小白入门篇:
建立起来图片和音频的概念,对于图像、音频、视频有足够的认识,以及部分常用工具、框架入门:
国外计算机科学教材系列:
《JPEG2000图像压缩基础、标准和实践(附光盘)》:该书分为四个部分可以满足不同层级的童鞋们的需要。第1部分提供图像压缩基础的全面而新背景知识,便于对于图像有一定认识;第2部分主要对于JPEG-2000标准的一个详细完整的描述。这部分比较枯燥,但是还要坚持看下去。第3部分致力于实现和开发JPEG2000标准,包括对面向应用的软件和硬件的指导方针、建议和分析。第4部分讲述相关的JPEG和JPEG-LS标准,并补充一些第一部分介绍过但JPEG2000标准中未包含的应用示例。
《数字信号处理》(普埃克):该书是上学时教材之一,当时学习的一塌糊涂,后来用到时候又重新恶补了一下。该书相对比较全面、而且系统地介绍了数字信号处理的基础知识。该书前10章讲述了确定性数字信号处理的知识,包括离散时间信号及系统的介绍、z变换、傅里叶变换、频率分析以及滤波器设计等。之后四章则介绍了随机数字信号处理的知识,主要学习多速率数字信号处理、线性预测、自适应滤波以及功率谱估计。作为好多大学的相关课程教材,体现了其内容全面丰富、系统性强、概念清晰、叙述深入浅出的特点。而且有一本Matlab辅助教材可以帮助读者深刻理解基本理论和分析方法,书中列举了大量的精选例题。该书作为自己理解数字信号起到了至关重要的作用,墙裂推荐。
国内经典书籍:
《音视频开发进阶指南:基于Android与iOS平台的实践》:展老师的书,该书基础篇介绍实现音频和视频开发设计的基础知识;案例篇:通过案例讲解如何实现视频播放器和一个视频录制的应用。提升篇介绍了应用如何美化、以及要上线设计的部分提升用户体验的内容,并给出了一个实际生产环境中的案例;进阶篇,把前面所有学到的基础内容融会贯通实际应用到直播场景中。并针对性给出如何排错,怎样定位等方法和部分分析工具,分享如何更有效率地快速开发应用程序。该书从介绍基础支持到实际场景应用、以及改查纠错的经验传授,对于想要入门音视频的童鞋有非常好的引导作用,建议仔细阅读。
《Android音视频开发》(何俊林):鱼哥的书,之前一直关注鱼哥公众号【码农突围】,该书发行后第一时间购买,并阅读一遍。该书主要介绍Android音视频开发相关技术,自己学习音视频的路线也是类似的。该书一共11章,分别介绍了音视频基础知识、MediaPlayer、MediaPlayerService、StagefrightPlayer、NuPlayer、OpenMAX框架、FFmpeg源码分析及实战、目前最火的直播技术、H.264编码及H.265编码、视频格式分析内容,比较适合具有Android开发基础并且对音视频技术方向感兴趣的读者阅读。
《FFmpeg从入门到精通》(刘歧 / 赵文杰):刘歧大佬的书,FFmpeg 官方源代码维护者。该书主要完成对于FFMPEG基本的介绍,想要快速入门ffmpeg,可以作为比较好的中文文档或者手册。
高手进阶篇:
这个阶段适合对于音视频有足够认识,想要进一步提升相关技术、研究原理的童鞋们:
《新一代视频压缩编码标准H.264(毕厚杰)》:自己阅读第一个音视频读物,毕老师的书是个人入门编解码相关知识的敲门砖,也给自己之后的路做了铺垫。编码器原理、解码器原理以及码流的句法和语义等原理相关内容,以及根据音视频编码技术和应用发展的特点展开的应用等相关部分讲得非常清楚明了,结合代码查阅,可以作为编码进阶必读的材料。
《新一代高效视频编码H.265/HEVC:原理、标准与实现》(万帅、杨付正):万老师的书比较系统全面地介绍了新一代视频编码标准H.265/HEVC及其相关原理,深入讲解了相关编码原理和实现方法,对于HEVC编解码中的细节部分展开讲解,同时介绍了H.265/HEVC的网络适配层、并行处理技术、率失真优化和编码速率控制,适合对于HEVC感兴趣的童鞋。
《H.265_HEVC视频编码新标准及其扩展》:18年购买过,并学习部分章节。该书惯例也是开篇简单介绍有关视频编解码的基础知识、编解码框架等知识;其次介绍该书的核心内容:HEVC;之后该书分章节依次介绍了HEVC的主要关键技术,如四杈树结构、多方向帧内预测、并行处理等,并针对最新的HEVC扩展部分也作了一些描述。该书还特别介绍了HEVC和H264之间的区别和优劣点,值得了解一下。
《WebRTC权威指南》:本书深入浅出的地介绍了WebRTC开源框架,讲述了例如本地多媒体数据、通信信令数据等基本概念,并通过多个独立可运行的demo来介绍所有相关连接。此外,该书还详细描述了浏览器媒体协商过程,花费一个章节讲述webRTC的协议内容,讲授如何使用万能的Wireshark来监控WebRTC协议的注意事项以及部分捕捉实例等。该书对于协议和通话建立的过程描述的比较清楚,可以重点阅读一下该部分。
《WebRTC Native 开发实战》(许建林):许老师的书,该书是许老师在WebRTC框架学习和走读的体会和经验、以及实际使用场景中的系统总结。该书内容介绍了WebRTC SDK部分场景的使用规则、梳理了webRTC完整流程,并列举了代码走读流程。另外该书介绍了一些高级的实用功能和场景,比如多人实时通话、屏幕实时共享、HEVC编解码、美颜、伴奏、本地录制等功能和场景。该书作为底层WebRTC的开发可以起到一定的帮助作用,有兴趣的可以阅读一下。
《直播系统开发——基于Nginx与Ngirx-rtmp-moule 》:该书是一本深入浅出介绍的直播系统开发的书,属于音视频直播方向的入门书籍。通过该书可以学习到一下内容:如何从零开始搭建直播系统。该书主要划分为三部分:第一部分简单介绍Nginx,what、why和how to do wiht Nginx。第二部分主要介绍基于Nginx的Nginx-rtmp-module、Nginx-FFmpeg组件,并以实例方式介绍如何搭建直播应用。第三部分(第5~7章)主要描述了不同的终端是怎样使用Nginx系统的,以及如何使用其他相关技术或者框架搭建直播SDK。 对于直播系统的学习有一定的帮助和入门指导作用。
《计算机图形学编程》:该书首先从图形编程的基础和准备工作开始,作为自己OpenGL相关知识补充的阅读材料。该书依次介绍了OpenGL 图像管线、图形编程数学基础、管理3D 图形数据、纹理贴图、3D 模型、光照、阴影、天空和背景、增强表面细节、参数曲面、曲面细分、几何着色器,以及其他相关的图形编程技术。对于图形相关知识的补充是不错的材料。
技术补充篇:
技术篇主要是音视频周边相关技术的补充,包括信号方向、网络方向、官方文档等等。
主要是自己是计算机专业毕业,对于信号处理有莫名的心虚,所以会虚心学习这块儿内容。
《信号与系统》:Alan V. Oppenheim等著。奥本海姆大神的著作,美国麻省理工学院(MIT)的经典教材之一,讨论了信号与系统分析的基本理论、基本分析方法及其应用。全书共分11章,主要讲述了线性系统的基本理论、信号与系统的基本概念、线性时不变系统、连续与离散信号的傅里叶表示、傅里叶变换以及时域和频域系统的分析方法等内容。本书作者使用了大量在滤波、采样、通信和反馈系统中的实例,并行讨论了连续系统、离散系统、时域系统和频域系统的分析方法,使读者能透彻地理解各种信号系统的分析方法并比较其异同。如果要理解信息传输的基本原理,该书可以提供足够的理论依据,可以作为技术专家的手册。PS:该书对于数学功底有一定要求,毕竟信息传输涉及到各种变换都是数学理论支撑的。如果英语比较好的,可以阅读英文原版。
《多媒体信号编码与传输》《Multimedia Signal Coding and Transmission》(Jens-RainerOhm(延斯-赖纳·奥姆)著):目前在读的,让自己对于相关知识更加全面,理解更加系统、透彻。该书系统介绍多媒体信号与信息处理理论、研发和应用; 内容包括多媒体的基本概念和基础知识、人类的视觉/听觉特性及信号质量的评价标准、多媒体数据的编码技术、多媒体数据的传输和储存技术等。如果英语比较好的,可以阅读英文原版。个人墙裂推荐的一本书。
《图解TCP/IP》《图解HTTP》等图解系列:对于直播、网络传输等应用的补充,否则开发、维护、定位分析问题都有一定的障碍,可以作为手册放手边,用到时查阅。
之后就是各种官方手册和spec的阅读了,包括RFC等等,这个用到那个,查阅即可,包括但不限于以下内容:
https://www.videolan.org/vlc/download-sources.html
https://www.adobe.com/devnet/rtmp.html
官方spec中推荐多多阅读RFC,好多协议可以结合代码阅读进阶。
最后:
这些只是个人见解,不一定适合所有人,需要的童鞋可以自行搜索购买或者PDF文档,此处不附购买链接,避免广告嫌疑。
但是可以作为一个参考,如果还有其他书籍推荐的可以评论区留言,相互讨论,相互学习。毕竟码农世界就是学习、学习、再学习。
点赞、评论、私信、关注、转发,随时可以探讨,持续输出。