什么是数据封装和解封装?
- 数据封装,笼统地讲,就是把业务数据映射到某个封装协议的净荷中,然后填充对应协议的包头,形成封装协议的数据包,并完成速率适配。
- 解封装,就是封装的逆过程,拆解协议包,处理包头中的信息,去除净荷中的业务信息
- 数据封装和解封装是一堆逆过程。
视频数据的封装
- 对于任何一部视频来说,只有图像,没有声音,肯定是不行的。
- 所以,视频编码后,加上音频编码,要一起进行封装。
- 封装: 就是封装格式,简单来说,就是将已经编码压缩好的视频轨和音频轨按照一定的格式放到一个文件中。
- 再通俗点,视频轨相当于饭,音频轨相当于菜,封装各式就是一个饭盒,用来盛放饭菜的容器。
- 封装之后的视频,就可以传输了,你也可以通过视频播放器进行解码观看。
什么是音视频的封装格式
封装格式也称多媒体容器 ,它只是为多媒体编码提供了一个 “外壳” ,也就是将所有的处理好的视频、音频或字幕都包装到一个文件容器内呈现给观众,这个包装的过程就叫封装。
封装格式
- 封装格式业界也有人称音视频容器,比如我们经常看到的视频后缀名: mp4、rmvb、avi.mkv、mov 等就是音视频的容器,它们将音频和视频甚至是字幕一起打包进去,封装成一个文件。
- 视频封装格式如 mp4、mkv,用来存储或传输编码数据,可以理解成一个容器
- 日常生活中,看到的视频文件的后缀名如 .mp4、.avi、.rmvb 都是属于视频文件的封装格式。
- 所谓封装格式,就是以怎样的方式将视频轨、音频轨、字慕轨等信息组合在一起。说得通俗点,视频轨相当于饭,而音频轨相当于菜,封装格式就是一个碗或者一个锅,是用来盛放饭菜的容器。
- 封装就是按照一定规则把音视频、字幕等数据组织起来,包含编码类型等公共信息,播放器可以按照这些信息来匹配解码器、同步音视频。
- 不同的封装格式支持的视音频编码格式是不一样的,比如 MKV 格式支持比较多,RMVB则主要支持 Real 公司的视音频编码格式。
- 封装格式: AVIVOB、WMV、RM、RMVB、MOV、MKV、FLV、MP4、MP3、WebM.DAT、3gpp、asf、mpeg、ogg;
- MPG: MPEG 编码采用的容器,具有流的特性。里面又分为 PS,TS 等,PS 主要用于 DVD存储,TS 主要用于 HDTV。
- VOB: DVD 采用的容器格式,支持多视频多音轨多字幕章节等。
- MP4: MPEG-4 编码采用的容器,基于 QuickTime MOV 开发,具有许多先进特性。
- AVl: 音视频交互存储,最常见的音频视频容器。支持的视频音频编码也是最多的。
- ASF:Windows Media 采用的容器,能够用于流传送,还能包容脚本等。
- 3GP:3GPP 视频采用的格式,主要用于流媒体传送。RM: RealMedia 采用的容器,用于流传送。
- MOV: QuickTime 的容器,恐怕也是现今最强大的容器,甚至支持虚拟现实技术,Java等,它的变种 MP4,3GP 都没有这么厉害。
- MKV: MKV 它能把 Windows Media Video,RealVideo,MPEG-4 等视频音频融为一个文件,而且支持多音轨,支持童节字幕等。
- OGG: g 项目采用的容器,具有流的特性,支持多音轨,章节,字幕等
- OGM: Og 容器的变种,能够支持基于 DirectShow 的视频音频编码,支持章节等特性。
- WAV:一种音频容器,大家常说的 WAV 就是没有压缩的 PCM 编码,其实 WAV 里面还可以包括 MP3等其他 ACM 压缩编码。