多媒体容器格式概述①

[时间:2016-06] [状态:Open]

首先说明一点,多媒体的容器格式(container),跟编码格式(codec)是不同的。通常多媒体容器是作为编码格式的载体,将至少一个编码格式的数据按照特定格式组织起来,并提供一些辅助功能。
多媒体的容器格式主要分为两大类:面向存储的和面向流媒体的。

  • 面向存储的常见的有avi、asf(wma/wmv)、mp4、mkv、rmvb(rm/ra)等
  • 面向流媒体的常见的有flv、ts(通常需要配合网络协议,比如HLS、RTMP等)

学习多媒体容器格式的目的

主要是为了回答以下问题:

  1. 该容器中数据是如何组织的?
  2. 该容器包含哪些编码格式的数据?这些数据是如何存储的?
  3. 该容器包含哪些元数据信息?包含哪些节目信息?
  4. 对于支持多节目的容器格式,如何找到对应的音频流、视频流、字幕流?
  5. 如何确定该容器的节目播放时长?
  6. 如何从该容器中提取音频、视频、字幕数据,并交给解码器解码,有时间戳否?
  7. 该容器是否支持seek?有哪些辅助信息?
  8. 是否支持直接流化?
  9. 哪里可以找到该容器格式最标准的文档资料?
  10. 有哪些可用的工具,方便分析容器格式异常或者错误?

接下来详细展开的部分

至于流媒体传输协议部分(RTP/RTCP、RTMP、HLS、HTTP),后续会有专门的文章列表介绍。

推荐参考

  1. wiki-multimedia
  2. ffmpeg-org

一个小练习

posted @ 2016-07-23 13:53  Tocy  阅读(1895)  评论(0编辑  收藏  举报