1、音视频基础
1.1 视频
(1)什么是视频,什么是视频码流?
视频是一个图像序列,它是由一帧帧的图像按照时间顺序排列组成的。
视频码流是对视频图像数据进行压缩后生成的数据。



(2)为什么要把视频压缩成码流?
为了便于存储和传输。
以一部高清(720P)电影为例:
- 分辨率 :1280 x 720
- 帧率 :24帧/秒
- 时长 :2小时
一帧图像的数据量:1280 x 720 x 3 ≈ 2.6 MB
整部电影的数据量:2.6MBx24x2x60x60 ≈ 445 GB
注意:此处每个像素用3Bit表示,R、G、B各占1Bit;如果用YUV表示,则每个像素占1.5Bit
(3)视频有哪些属性?

1)帧率(FPS:Frame Per/ Second):每秒钟视频包含的视频画面数量 30,60f/s
帧率表示的是视频的时间采样率;
视频拍摄时,每秒钟采样多少帧画面,播放时就应该每秒钟播放多少帧,否则会出现慢动作或快动作的效果。
各种常见帧率:23.97,24,25,29.97,30,60
2)分辨率(Resolution):图像包含的像素量,用宽度和高度表示 width*height

3)编码格式 :视频压缩可以选用各种编码技术,如H264、MPEG2、MPEG4等等
解码时必须知道视频码流的压缩格式。
常用视频编码格式:

4)时间戳 (PTS:Presentation Time Stamp):视频图像的显示时间
在对的时间把对的帧显示出来,保证视频流畅和音视频同步。

5)其他属性还有隔行/逐行扫描、像素宽高比、像素格式等
1.2 音频
(1)什么是音频,什么是音频码流?
音频就是声音。当我们讨论中间件的时候,音频更多的是指对声音进行采样后得到的PCM数据。
音频码流是对PCM数据进行压缩后生成的数据。





(2)为什么要把音频压缩成码流?
为了便于存储和传输。
以一首未经压缩的歌曲为例:
- 采样率 :44.1KHz (每秒44100个采样点)
- 采样精度:16Bits (2Bytes表示一个样本)
- 声道数 :2 (左右声道)
- 时长 :5分钟 (300秒)
- 整首歌曲的数据量: 44100x2x2x(5*60) ≈
52MB
一般一首5分钟的MP3歌曲文件大小为3~5MB
压缩后的歌曲传输和存储很方便。
(3)音频有哪些属性?

1)采样率 :每秒钟采样声音样本的个数
常见的采样率:22.05KHz / 44.1KHz / 48KHz

2)采样精度:每个音频样本的值用多少bits表示
表示对音频样本的量化精度,量化越精细,声音的保真度越高;
常见的采样精度:8bits / 16bits

3)声道数:声音录制或回放时在不同空间位置采集或回放的音频信号数
常见的声道数:单声道/双声道/5.1声道/7.1声道


4)编码格式:音频压缩可以选用各种编码技术,如MP3、AAC、AC3、DTS等等
常见的音频编码格式:

5)时间戳:每帧音频数据的播放时间

可播放40ms时长的一帧音频数据
1.3 多媒体文件封装
为方便存储、传输、播放和编辑,音视频码流要以一定的格式存放在文件中。
以AVI文件举例:

- 没有一种格式能够在存储、传输、编辑和播放方面都获得理想的效果
- 在不同的应用领域和商业背景下,人们设计了多种媒体封装格式

常见的文件封装格式:

1.4 解封装、解码
(1)多媒体文件解封装: 视频文件= 音频码流 + 视频码流

(2)音视频解码:接收和管理码流,将音视频码流进行解压缩,得到音频帧,视频帧

视频解码器要做哪些事情?
- 接收和管理码流
- 解码图像、重排、处理
- 输出和管理解码图像;
音频解码器要做哪些事情?
- 接收和管理码流
- 解码音频、处理PTS
视频举例:

2、播放器音视频同步
AVSync 是什么? 为何要做AVSync? 如何做AVSync?
-
(1) avSync 指音视频同步
-
(2) 语音与画面不一致—>信息难理解
-
(3) 音视频数据按规格划分并设定唯一标记,pts
- 视频:图片帧,设定vpts
- 音频:音频帧,设定apts

播放时,媒体数据需要按照各自的PTS在合适的时候输出,否则声音和画面不同步。
音视频基础及播放器同步解析
本文介绍了音视频的基础知识,包括视频的帧率、分辨率、编码格式和时间戳,音频的采样率、采样精度、声道数和编码格式。还探讨了多媒体文件封装和解封装过程,以及播放器如何实现音视频同步,确保信息准确理解,避免不同步问题。
996

被折叠的 条评论
为什么被折叠?



