《音视频开发进阶指南》—— 读书笔记

前言

之前偶然看到一个PPT,是一些视频特效的讲解。首页如下:


《音视频开发进阶指南》—— 读书笔记_第1张图片

PPT解析了模糊镜像、电击效果、灵魂出窍、动态晕影等视频处理效果,最后推荐作者自己写的书:


《音视频开发进阶指南》—— 读书笔记_第2张图片

在“音视频进阶”、“唱吧核心架构开发”引起的兴趣之下读完这本书,做一个简单的读书笔记。

正文

一、基础概念

  • 1、音频
    声音的物理性质--声音是物体振动产生的波。
    声波的三要素:振幅、波形、频率;(对应响度、音色、音调)
    声音的传播介质--空气、液体和固体。
    人声是声带振动,经过口腔等区域的反射,再经过空气传播。
    回声:反射声和原声相差超过80ms则人耳可听。
    数字音频与模拟音频:PCM脉冲编码调制。(这里有更详细介绍PCM基础)
    常见音频编码:WAV、AAC、MP3。
    音频压缩原理:时域/频域掩蔽。

  • 2、图像
    颜色空间:YUV和RGB。(各有表示方式,可相互转化)
    视频编码:H264。
    视频压缩:运动估计、运动补偿等。
    I帧、P帧、B帧:I帧是帧内编码帧,P帧是帧间预测编码帧,B帧又称双向预测编码帧;同时,H264中还有IDR帧,表示首个I帧。
    PTS、DTS、GOP:PTS是Presentation Time Stamp,DTS是Decoding Time Stamp,GOP是Group Of Picture。


    一张图理解DTS、PTS、GOP

关于视频压缩编码和音频压缩编码的基本原理点击这里

二、iOS平台上的音视频

  • 1、音频
    音频录制、播放使用AudioUnit。Audio Unit除了书上的内容,也可以看看我的文章:
    Audio Unit播放PCM文件
    Audio Unit录音(播放伴奏+耳返)
    Audio Unit播放aac/m4a/mp3等文件
    Audio Unit和ExtendedAudioFile播放音频
    AUGraph结合RemoteI/O Unit与Mixer Unit

  • 2、视频
    视频的渲染使用OpenGL ES。OpenGL ES除了书上的内容,也可以看看我的文章:
    OpenGL ES文集

三、音频的进阶知识

波形图:反映各质点在同一时刻不同位移的曲线,叫做波的图像,也叫做波形图。
频谱图:以横轴纵轴的波纹方式,记录画出信号在各种频率的图形。(有振幅频谱图和相位频谱图)
语谱图:针对语音数据的频谱图,叫语谱图。

傅里叶分析:可分为傅里叶级数(Fourier Serie)和傅里叶变换(Fourier Transformation)。
你能想到的任何波形都是可以如此方法用正弦波叠加起来。
傅里叶级数,在时域是一个周期且连续的函数,而在频域是一个非周期离散的函数。
傅里叶变换,将时域信号变换为频域信号。
傅里叶分析之掐死教程
如何直观形象、生动有趣地给文科学生介绍傅里叶变换?

MIDI格式:MIDI(Musical Instrument Digital Interface)全称是乐器数字接口,也是音乐标准格式。MIDI是音符、控制参数等,在K歌软件中用于打分。

均衡效果器:均衡效果器又称为均衡器(Equalizer),其最大的作用就是决定声音的远近层次。我们时常听到别人说这首歌曲是重金属风格的歌曲,或者说这首歌曲是舞曲风格等,其实就与声音的远近层次有关。不同歌曲风格的区别在于声音在不同频段的提升或衰减。
均衡效果器具有美化声音的作用,即调整音色,每个人由于自身声道、颅腔、口腔的形状不同,导致音色不同。如果这个用户所发出的声音在低频部分比较薄弱,就可以在低频部分予以增强,使得整个声音听起来更加温暖;那个用户所发出的声音在高频部分又过于强烈(薄弱),则可以在高频部分予以减弱(增强),可以使声音听起来不那么刺耳(更加嘹亮)。
当然,专家级别的混音师在为歌手处理后期混音时,会有更复杂的调节方法,比如这个歌手的声音低频部分有瑕疵,可以提高中频部分来掩盖有瑕疵的低频段的声音。
均衡器最早是用来补偿频率缺陷的,因为那时音频设备的信号品质很差,在传输过程中损失非常严重,到最后除非进行信号补偿,否则信号就会变得极差。而现在均衡器更多的应用在掩盖歌手的某一个频段的声音缺陷,或者增强某一个频段的声音优势上。

压缩效果器:改变输入信号和输出信号电平大小比率的效果器。

混响效果器:声波在传播时会被各种障碍物反射,且每次反射都被障碍物吸收部分。于是听到的声音往往混合了原始声音以及多次反射的声音,这种现象叫做混响。

四、音视频实践

  • 1.AAC、H264的编解码;除了书上的内容,也可以看看我的文章:
    使用VideoToolbox硬编码H.264
    使用VideoToolbox硬解码H.264
    使用AudioToolbox编码AAC
    使用AudioToolbox播放AAC

  • 2.播放器;(音频用AudioUnit、视频用FFmepg解码、OpenGL ES渲染)

  • 3。直播;包括录制、渲染、推流、拉流。

五、其他

书中还介绍了很重要的库FFmpeg,还有图像处理的对比度调节、饱和度调节、图像处理进阶、图像的卷积过程、锐化效果器、高斯模糊算法、双边滤波算法、图层混合等等,推荐结合GPUImage一起学习。GPUImage除了书上的内容,也可以看看GPUImage 文集。

总结

内容讲解深入浅出,案例丰富多彩,适合对音视频开发感兴趣的朋友。
同时,内容在深度这块也比较有限,对于音频相关的知识介绍不足。
音频相关的知识寻找不易,如有好的资料万请分享,共同学习进步。

你可能感兴趣的:(《音视频开发进阶指南》—— 读书笔记)