5.1 音视频帧 与 环境准备
什么是音视频帧呢?首先需要了解,什么是帧。
帧(Frame) 是 对某一时刻(视频) 或 某小段时间(音频)内 的数据代称。而 音视频帧,则是对音频帧 和 视频帧 的统称。通常而言,我们将 一段音频中一个有效数据块(如:WAV 的音频数据子块、FLAC 的音频数据块、MP3 的帧数据)称为 音频帧(Audio Frame),而将 一张图片所代表的某时刻静态图像信息(如:时刻 t 完整图像解压缩后的 YUV 数据)称为 视频帧(Visual/Video Frame)。
当然,音视频的离散采样,决定了其本身皆为 离散数据的时序排列数据集。但从相对角度来看,如果称视频帧为离散的,那么音频帧在这样的尺度下,就是连续的。因此,对音频的分析更多是从 音频整体角度,或 范围内的局部情况 分析。很少单一的局限于某个时间点。而对视频的分析则分为,是对 包含视频整体时空情况 的 动态分析,还是只对 某一固定时刻 的 静态分析。对比之下稍显隔离。不过从某种意义上讲,这也是因为视频数据本身所包含的维度更高,而更容易的被拆解以获取更多信息所致。
所以,在不考虑网络的情况下,我们通常将 视频分析(Video Analysis) 的两种类型,独立称为 视频流分析(Video Stream Analysis) 和 视频帧分析(Video Frame Analysis)。而 音频分析(Audio Analysis) 则不再细分。即 音频流分析(Audio Stream Analysis)同 音频分析(Audio Analysis)技术性一致。
需要注意的是,当引入网络条件时,音视频流分析在网络流传输的语义前提下另有所指。同时,在 流协议背景时,也同样是指协议层面的特征,切勿将三者混淆。
本章节我们讨论的音视频分析,特指对音视频的直观特征分析,即对其基础信息的分析。以此为目标,进行一些简单工程。
常用库准备
在开始搭建分析环境之前,还需要对常用的工具库进行简单的介绍。由于分析所采用的工程手段,多为以 Python 为脚本语言编写的简单处理流,因此,我们需要使用到的基本库,皆为 Python 工具库。
于是为方便后续索引、使用、总结,从库功能性上做简单归类,可以分为:常用数学库、视频分析库 和 音频分析库。