容器 Container : 容器的本质就是文件 , 是特定的视频文件 , 如 mp4 , mkv , flv 等格式的音视频文件 ;
容器的作用 : 容器中可以存放 音频 , 视频 , 字幕流 等信息..., 将这些信息整合在一起 , 按照特定规则放置在容器文件中 ,
使用 MediaInfo 打开一个 mp4 格式的视频文件 , 在 " 容器格式和一般信息 " 一栏中 , 可以看到该 mp4 容器文件中包含了...也可以不压缩 , 如视频流以 H.264 格式进行压缩 , 将视频帧编码成 关键帧 , 非关键帧 , 音频流一般是 AAC 编码格式进行压缩 ;
媒体流如果是压缩的 , 在播放时 , 先使用解码器解码..., 然后再播放 ; 生成文件时需要使用编码器 , 编码后存储到文件中 ;
3、数据帧
数据帧 ( Data Frame ) : 媒体流 由 若干 数据帧构成 ; 压缩格式中 , 数据帧是最小的处理单元...将数据帧 编码压缩 成 数据包 ;
播放容器文件时 , 解压数据 , 将数据包 解码展开 成 数据帧 ;
视频编码过程 : YUV 格式的图像 -> H.264 编码器编码 -> H.264 视频帧