文件格式

我们知道操作系统中的文件名都有后缀,即扩展名,例如1.doc,2.jpg,3.avi等。设置扩展名的目的是让系统中的应用程序来识别并关联这些文件,让相应的文件由相应的应用程序打开。常见的文件格式如1.avi,2.mpg,3.mp4这些都叫做视频的文件格式,可由电脑上安装的视频播放器关联和打开(播放)。

封装格式

封装格式(Format),也称多媒体容器(Multimedia Container),是将已编码压缩好的视频轨道、音频轨道和元数据(视频基本信息如标题、字幕等)按照一定的格式规范,打包放到一个文件中,形成特定文件格式的视频文件。

封装格式主要分为两大类:面向存储的和面向流媒体的。

  • 面向存储的,常见的有AVI、ASF(WMA/WMV)、MP4、MKV、RMVB(RM/RA)等;
  • 面向流媒体的,常见的有FLV、TS(需要配合流媒体网络传输协议,如HLS、RTMP等),MP4也支持流媒体方式(配合HTTP等)。

下面以流媒体传输协议的视角重点介绍面向流媒体的封装格式:

  • MP4:经典的视频封装格式,移动端(iOS、Android)、PC Web多终端都能良好支持。但MP4的视频文件头太大,结构复杂;如果视频较长(如数小时),则其文件头会过大,影响视频加载速度,故更适合短视频场景。 MP4由一个个的box(以前叫atom)组成,所有的Metadata(媒体描述元数据),包括定义媒体的排列和时间信息的数据都包含在这样的一些结构box中。Metadata 对媒体数据(比如视频帧)引用说明,而媒体数据在这些引用文件中的排列关系全部在第一个主文件中的metadata描述,这样就会导致视频时长越大文件头就会越大、加载越慢。
  • HLS(HTTP Live Streaming):苹果公司推出的基于HTTP的流媒体网络传输协议,视频的默认封装格式是TS,除了多个TS分片文件,还定义了用来控制播放的m3u8索引文件(文本文件),可以规避普通MP4长时间缓冲头部数据的问题,比较适合点播场景。移动端(iOS、Android)支持较好,但PC端IE存在兼容性问题依赖播放器的二次开发(建议使用阿里云Web播放器)。
  • HLS(包括HLS+fMP4)和DASH是最常用的自适应流媒体传输技术(Adaptive Video Streaming),推荐使用。

视频容器和文件扩展名区别 视频文件扩展名有_数据

 

 

  1. 用户获取上传授权。
  2. VOD下发上传地址和凭证及VideoId。
  3. 用户上传视频并保存视频ID(VideoId)。
  4. 用户服务端获取播放授权。
  5. 用户客户端请求播放地址与凭证,VOD下发播放地址与带时效的播放凭证。
  6. 用户服务端将播放凭证下发给客户端完成视频播放。

 

AccessKey(访问密钥)

AccessKey(简称AK),包括访问身份验证中用到的AccessKey ID和AccessKey Secret。VOD通过使用AccessKey ID和AccessKey Secret对称加密的方法,来验证某个请求的发送者身份。

  • AccessKey ID:用于标识用户。
  • AccessKey Secret:用户用于加密签名字符串,以及VOD用来验证签名字符串的密钥,AccessKey Secret必须保密。
  • AK对:指AccessKey ID和AccessKey Secret。

目前访问VOD使用的AK有如下3种类型:

  • 主账号AK
    主账号AK特指VOD开通者(即阿里云网站注册的账号)的AK,每个阿里云主账号提供的AK对拥有的资源有完全的权限。每个阿里云主账号能够同时拥有不超过5个启用或者禁用 AK对。
    您可以登录AccessKey管理控制台,申请新增或删除AK对。每个AK对都有启用/禁用两种状态,只有启用的AK对才能在身份验证时使用。
     警告 
    由于主账号AK有完全的权限,一旦泄露风险巨大,不建议使用其访问VOD服务。

  • RAM用户AK
    RAM是阿里云提供的资源访问控制服务。RAM用户AK指的是通过RAM被授权的AK。这组AK只能按照RAM定义的规则去访问VOD的资源。通过RAM,您可以集中管理您的用户(比如员工、系统或应用程序),以及控制用户可以访问您名下哪些资源的权限。比如能够限制您的用户只拥有视频播放权限。RAM用户从属于主账号,并且这些账号下不能拥有实际的任何资源,所有资源都属于主账号。
    您可以登录RAM访问控制台创建RAM用户,获取AK,并授予相应权限。
  • STS临时AK
    STS(Security Token Service)是阿里云提供的临时访问凭证服务。STS临时AK指的是通过STS颁发的带时效性AK。这组AK只能按照STS定义的规则去访问VOD的资源,且会定期失效。

视频容器和文件扩展名区别 视频文件扩展名有_流媒体_02