前两天在遇到了一个h5写的mp4视频网页在某些电脑中打开后只下载而不播放的问题(大部分电脑都播放正确,而有些电脑在打开网页时就会变成迅雷下载,下载完成也不会播放)。
html如下:
[html] view plain copy
print?
- <video id="video" class="uk-cover-object uk-position-absolute uk-hidden-touch" width="640" height="360" muted loop autoplay src="~/video/first.mp4" poster="~/images/banner.jpg">
- 您的浏览器不支持当前的视频格式!
- </video>
后来发现是服务器MIME配置有问题, 原来服务器配置的MIME type为:application/octet-stream。改为video/mp4之后就好了。
那么,application/octet-stream和video/mp4有什么区别呢?
1、先看一下mime type的定义,维基百科中的解释很好,特此摘抄过来:
一个MIME类型包括一个类型(type),一个子类型(subtype)。此外可以加上一个或多个可选参数(optional parameter)。其格式为 类型名 / 子类型名 [ ; 可选参数 ] 目前已被注册的类型名有application、audio、example、image、message、model、multipart、text,以及video。chemical是一个非官方的常用类型名。[1]此外,非标准的类型名一般会加上x-前缀,但这种做法已经过时。[2] 子类型名通常是一个媒体形式被冠以的名称,不过子类型名中也会有其它信息,包括厂商信息、产品信息、分类信息(子类型会被归进一个树状的分类结构中)、后缀等等。树结构分类信息以被.相互连接的字符串表示。每一个由.分隔开的部分又可以加上与其以-相连接的附加信息。此外,子类型名中也会有放在最后,与前面的内容以+相连接的后缀。因此,一个媒体类型的格式可以被更加细地表示为: 类型名 / [ 树结构分类信息(中间可能有一个或多个“.”) ] 子类型名(中间可能有一个或多个“-”) [ + 后缀 ] [ ; 可选参数 ] 2、再看看这两种的类型的用途:
application/octet-stream:任意的二进制文件(通常做为通知浏览器下载文件);
video/mp4:MP4视频文件[RFC 4337]
下面附上常见的mimetype配置列表
Video Type | Extension | MIME Type | Flash | .flv | video/x-flv | MPEG-4 | .mp4 | video/mp4 | iPhone Index | .m3u8 | application/x-mpegURL | iPhone Segment | .ts | video/MP2T | 3GP Mobile | .3gp | video/3gpp | QuickTime | .mov | video/quicktime | A/V Interleave | .avi | video/x-msvideo | Windows Media | .wmv | video/x-ms-wmv
|
|