目录

音视频基础播放与录制原理

音视频基础——播放与录制原理

录制原理

流程图

https://i-blog.csdnimg.cn/blog_migrate/0aff2c8a3fc233835458c940b19836c9.png

时钟同步

麦克风与摄像头是两个独立的输入设备,要保证声音与视频保持同步就必须有一个相同的时钟。

时钟基于两个设备输出的数据都是实时的前提下,在第一个数据帧输出之后,设置一个时间点,然后之后的帧按照硬件的采集频率直接计算出时间戳,这样可以保证时间是严格对齐的,便于后续的使用。

帧队列

经过处理的帧数据,不是直接去封装使用的,要经过一个编码的过程,这个过程会比较耗时,所以需要一个队列来进行缓存。

复用器

https://i-blog.csdnimg.cn/blog_migrate/e3722712b52ea1357bbb5aa1e42a162e.png

上图就是将一个H264 的经过压缩的视频编码与AAC的经过压缩的音频编码进行合并,到一个MKV的封装数据格式。

播放原理

流程图

https://i-blog.csdnimg.cn/blog_migrate/ee8afb06d888e848c9511bade6c15074.png

解复用器

这个模块与复用器想对应,将音视频进行分离

同步控制

音视频同步的目的是为了使播放的声音和显示的画面保持一致。

视频按帧播放,图像显示设备每次显示一帧画面,视频播放速度由帧率确定,帧率指示每秒显示多少帧;

音频按采样点播放,声音播放设备每次播放一个采样点,声音播放速度由采样率确定,采样率指示每秒播放多少个采样点。

如果仅仅是视频按帧率播放,音频按采样率播放,二者没有同步机制,即使最初音视频是基本同步的,随着时间的流逝,音视频会逐渐失去同步,并且不同步的现象会越来越严重。这是因为:

一、播放时间难以精确控制;

二、异常及误差会随时间累积。

所以,必须要采用一定的同步策略,不断对音视频的时间差作校正,使图像显示与声音播放总体保持一致。