提示💡

  • 解协议(http,rtmp)解封装(mp4、flv、ts)解码 (H264、H265、ACC)显卡、声卡(YUV、RGB、PCM)

引言

对于音视频播放器,你肯定不陌生,日常听歌曲或者看视频,基本都使用到了播放器。将一份mp4(也可能是mkv,或者其他容器格式)的文件使用播放器打开,播放器就能输出图片、声音等媒体元素。

对于普通用户而言,播放器是一个黑盒,完全不清楚为什么一个文件输入,就有如此多丰富的信息展示出来。

本章节将带你走入播放器世界,探究播放器的谜底。

注意❗

注:这里的播放器是指能播放以数字信号形式存储的音视频的软件。例如播放器:暴风影音、windows media player、迅雷影音等。

播放器做哪些事情

图解播放器

可以看到播放器的几个基本流程:

1 ,解协议

从原始的流媒体协议数据中只保留下来音视频数据,列入采用RTMP协议传输的数据,经过解协议后输出flv(ts等)格式的数据

2,解封装

解封装音频和视频压缩编码数据,常见的封装格式mp4,mkv,rmvb,flv,avi这些格式,然后将已经压缩编码的视频、音频数据放到一起。例如 FLV 格式的数据经过解封装后输出 H.264 编码的视频码流AAC 编码的音频码流。

3,解码

视频,音频压缩编码数据,还原成非压缩的视频,音频原始数据,音频的压缩编码标准包括 AAC,MP3,AC-3等,视频压缩编码标准包含H.264,MPEG2,VC-1等经过解码得到非压缩的视频颜色数据如 YUV420PRGB 和非压缩的音频数据如 PCM 等。

4,音视频播放

将同步解码出来的音频和视频数据(中间可能经过同步)分别送至系统声卡显卡 播放。

下一章节

以上是对播放器的一个基本介绍,现在你对播放器应该有了一个初步的认知。可以继续学习下个章节:拉流

后面章节,我们将按照上述播放器顺序,对播放器的各个流程详细介绍。