热搜词
发表于 2017-7-22 12:59:02 | 显示全部楼层 |阅读模式
前两天在遇到了一个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 TypeExtensionMIME Type
Flash.flvvideo/x-flv
MPEG-4.mp4video/mp4
iPhone Index.m3u8application/x-mpegURL
iPhone Segment.tsvideo/MP2T
3GP Mobile.3gpvideo/3gpp
QuickTime.movvideo/quicktime
A/V Interleave.avivideo/x-msvideo
Windows Media.wmvvideo/x-ms-wmv


全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-23 04:13 , Processed in 0.164173 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team