【音视频】音视频录制、播放原理

一、音视频录制原理

通常,音视频录制的步骤如下图所示:

  • 我们分别从音频和视频开始采样,通过麦克风和摄像头来接受我们的音频信息和图像信息,这通常是同时进行的,不过,通常视频的采集会比音频的采集慢,因此我们需要对采样后的数据进行同步,也就是对相应的音频帧和视频帧进行同步。通常我们会引入一个时钟作为同步标志,可以是视频作为主时钟,也可以是音频,或者是使用系统时钟作为同步等等,不过在实际中,使用音频作为主时钟比较常见,因为人对音频的感受更为明显。

  • 采集到音频帧和视频帧之后,通常会根据需要对它们做一层处理,比如对音频进行降噪增益调整 等操作,而对于视频帧,可以进行例如饱和度调整、锐化等操作。

  • 处理好的音频帧和视频帧会放入分别放入一个队列中,这个队列用于存储临时的帧,以便后续的编码操作。同时队列也有着缓冲区的作用,可以避免采样和编码速度不匹配等情况。

  • 队列中的帧会被取出,用于相应的音频、视频编码,这一步是为了使用特定的格式,如音频的MP3AAC ,视频的H264H265。经过压缩后的音视频体积将大大减小,方便后续的传输和存储。

  • 编码后的音视频将放入音频包和视频包队列,等待进一步处理。

  • 接着,从包队列中取出音视频数据,通过复用器 对音视频进行封装,也就是使用各种容器包装音视频,如MP4TSAVI

  • 最后,这些特定格式的容器就可以作为文件保存了,也就是我们平常创建的视频文件。

复用器是一个音视频封装的工具,可以将经过编码后的音视频数据包,使用特定的容器格式,如MP4、AVI等,合成一个完整的音视频文件

二、音视频播放原理

音视频播放的步骤通常与录制相反,二者可以看做是各自的逆操作,通常,步骤如下图所示:

  • 首先我们从系统中读取媒体文件,如(MP4AVI等),文件中通常包含着编码好的音频流和视频流,有时还有字幕流等,那么我们就需要将文件中的这些对应流进行分离,才能进行下一步处理。
  • 我们利用解复用器就可以将媒体文件中的音频和视频数据还原出来,这一步称为音视频解封装
  • 解封装出来的音视频数据将被存放在音频包、视频包队列中,等待后续的解码操作。
  • 从对应的队列中取出数据包,就需要对相应的数据包进行解码,如音频的AACMP3 、视频的H264、H264等,通常,解码的难度通常比编码的难度小。解码后的数据包变成了录制时的帧数据,存储在帧队列中,等待后续的渲染操作。
  • 从视频帧和音频队列取出帧之后,如果无需进行特殊处理,我们可以对其进行同步,而同步策略通常以音频作为主时钟。有时,我们还可以将同步策略放在处理帧之后。
  • 最终,处理好的音频和视频帧结果处理和调整,将同步渲染到外部设备中,如扬声器和显示器等,此时的视频才真正被播放出来,经过我们的眼睛和耳朵接收到。

解复用器与录制时的复用器相反,它主要是把封装在一起的音频和视频数据包分离出来,变成独立的音频数据和视频数据

相关推荐
Peter-Code9 分钟前
视频人脸马赛克逐帧处理技术方案解析
音视频
TechVoyager_82461 小时前
从TMDS输入到音视频分离:IT66021FN接收芯片技术详解
音视频·色彩空间转换·it66021·hdmi1.4b·tmds·音视频分离·hdcp1.4
不cong明的亚子11 小时前
web live多屏互动平台
javascript·经验分享·音视频
ACP广源盛1392462567312 小时前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
广州硅基技术官方19 小时前
AIGK外贸工厂社媒引流实战教程:海外自媒体短视频AI矩阵获客玩法解析
人工智能·音视频·媒体
奈斯先生Vector1 天前
AIGC 视频生成换个拍法:用 Kling Video 把一张人物图变成可剪辑的短故事
开发语言·人工智能·windows·python·aigc·音视频
AI的探索之旅1 天前
97 个 OpenCV 实例(二十一):音频进阶,音视频同抽与麦克风采集
人工智能·opencv·音视频
独码侠1 天前
FunASR语音识别生产部署实战:511MB音频47秒转写,离线落地 8 步、7 坑一次说清
人工智能·音视频·语音识别·funasr·说话人分离·会议纪要·内网离线部署
xiaolu123882 天前
网课视频怎么录课?3种录制方法分享,附参数配置介绍
音视频
ai产品老杨2 天前
H264 H265视频分析问题清单:环境、参数、验证和排错
音视频