Video标签播放视频?谷歌浏览器?safari?? 谷歌浏览器播放不了mp4格式的视频的原因
webm格式和mp4格式,判断了浏览器能否支持的视频类型后,给了一个if判断,如果是支持mp4格式,就返回视频后缀mp4,如果是webm,就返回后缀webm。结果,在谷歌浏览器中播放不了,为什么我指定源为webm格式的视频时,谷歌浏览器毫无错误的播放了,但是,如果是使用if判断,发现选择的是mp4,而不是webm,咋办?
先来看看这两段代码,差别只是顺序上的。
/*************************************获取视频格式***************************/
function getFormatExtension(){
if( video.canPlayType("video/webm") !=""){ //针对谷歌浏览器
return ".webm";
}else if( video.canPlayType("video/mp4") !="" ){ //针对safari浏览器
return ".mp4";
}
}
/*************************************获取视频格式***************************/
function getFormatExtension(){
if( video.canPlayType("video/mp4") !=""){ //针对谷歌浏览器
return ".mp4";
}else if( video.canPlayType("video/webm") !="" ){ //针对safari浏览器
return ".webm";
}
}
结果:在谷歌浏览器中不能正常播放。
下面我们来看一张各个浏览器对video元素支持的三种视频格式的情况表:

我们可以看到,
1、chrome既支持mp4格式也支持webm格式。但是火狐和谷歌浏览器都会优先选择mp4格式(实践证明的)。
2.此时当这里的mp4格式的视频播放不了时,就出现了我遇到的情况,例如:在获取中会显示视频被破坏。所以还是建议把浏览器选择webm格式的代码写在前面,mp4的写在后面,为了让它先选择webm格式的视频,或者用程序中的判断也可以。
现在来说说为什么谷歌播放不了mp4格式的视频的原因??
这是谷歌搜索后学到的内容,又有进步了,哈哈。
原因:
Chrome浏览器支持HTML5,它只是支持原生播放部分的MP4格式。MP4视频格式,在我写这篇笔记时,我也以为mp4格式就是后缀为.mp4,其实不是,MP4本身不是一种简单的视频格式,它是一个包装视频和音频格式的壳,里面的视频音频的编码格式使用什么编码方式是可变的。MP4视频有两种编码方式,Divx和H264,but,Chrome支持H264。于是我上面的例子中,浏览器看到有MP4后缀的文件,使用原生HTML5视频播放,后来却发现视频格式无法解码,于是,Chrome无法播放视频。FF估计也是类似的原因。
有时间可以看看这个 http://my.oschina.net/maomi/blog/144086
Video标签播放视频?谷歌浏览器?safari?? 谷歌浏览器播放不了mp4格式的视频的原因的更多相关文章
- 解决h5的video标签,android、ipad客户端播放正常,iphone客户端无法播放
在做html5时插入一个视频播放标签video后,测试时android.ipad客户端播放正常,唯独iphone自带浏览器无法播放. 解决办法: 判断用户所使用客户端访问h5页面时是iphone时,点 ...
- mp4格式的视频,编码方式mpeg4,转化为h264
知识点:在使用vcastr3.swf播放器播放flv视频,(同时在html5页面,使用<video>标签时),发现某些MP4格式的代码不能播放 原因:vcastr3.swf和video,不 ...
- 将腾讯视频客户端缓冲的文件转换为一个MP4格式文件
打开腾讯视频windows客户端,播放要下载的视频,逐步快进使其缓冲完毕: 按照下图所示,复制缓存路径: 在cmd.exe的界面中输入“cd C:\854456b6d5a187ff3c0f553918 ...
- ueditor不能上传mp4格式的视频--解决方案
1.ueditor.all.js 去掉所有的 type="application/x-shockwave-flash" 2.ueditor.all.min.js 去掉所有的 typ ...
- 使用Flash Media Server(FMS)录制mp4格式的视频
最近在做一个有关视频直播和点播的项目,客户的一个需求就是可以控制对直播流的录制,直播的实现采用的是Adobe的Flash Media Server,具体方式就是:视频采集端采集视频并编码->rt ...
- 【实战问题】【3】iPhone无法播放video标签中的视频
问题:视频都是MP4格式,视频可以在手机上正常播放.video标签中的视频在安卓点击可以播放,但在iPhone无法播放 解决方案: 1,视频编码格式问题,具体iPhone手机支持的是哪些格式可见官方的 ...
- 浏览器支持播放的视频播放格式要求(H5的video标签)
今天给一个客户上传视频后发现,即使是MP4格式的视频浏览器也打不开,找了好久的问题,最红发现客户视频的编码方式不是h5支持的,折腾了好久,最终确认了浏览器对于MP4编码方式的如下: 浏览器对mp4的编 ...
- iOS视频边下载边播放
随着视频行业的发展,很多用户对于观看体验也有了更高的要求,以前的习惯是下载好了在观看,而现在是希望1分钟都不要等,ZUI好一边看着一边下载,等把这个视频看完也下载完了,也就是我们常说的“视频边下载边播 ...
- HTML 5 video 标签跨浏览器兼容
<video width="320" height="240" controls> <source src="movie.mp4 ...
随机推荐
- 取值对比ture of false加引号与不加引号的问题-----Bug笔记-160219
一.默认情况,当属性值为布尔值类型的时候对比判断不用加引号<input type="radio" name="city" value="BeiJ ...
- H5非主体结构元素
1.header元素:页面中一个内容区块或整个页面的标题: 具有引导和导航作用的结构元素,通常用来放置整个页面或页面内的一个内容区块的标题,也可以包含数据表格.搜索表单或相关的logo图片. 一个网页 ...
- 桂电在线-php-提取菜单到配置文件2
继续昨晚没完成的主菜单模板: <!-- 菜单块 --> <div class="on-light" id="menus"> <?p ...
- Ext.String 方法
1.Ext.String.htmlEncode(value); 编码字符串,对其中特殊字符进行转义 xt.String.htmlEncode("hello'world"); //& ...
- [CSS]float&clear浮动
CSS float 属性 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止. 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样. 可取的值 ...
- 一次 php nusoap 调试过程
今天跟同事调用一个数据api ,用soap方式调用.本以为很简单的事情,却弄到了晚上. 因为有过调试经验,直接按照以往的过程直接部署,结果是错误. 1. 以为是调用方式错了,问了一下对接的同事,没问题 ...
- 基于Lua的清除类游戏算法
最近在开发游戏,用Lua语言.习惯了其它的语言,然后对Lua的一些语法很不习惯. 比如table的元素个数的取值,比switch语句等等. 不过没有办法,还是要运用Lua来写游戏的.看来学C++还真的 ...
- 写个简单的ANT脚本来编译项目
<?xml version="1.0" encoding="GBK"?> <project name="j2ee project&q ...
- 【poj1087/uva753】A Plug for UNIX(最大流)
A Plug for UNIX Description You are in charge of setting up the press room for the inaugural meeti ...
- [topcoder]CoinReversing
http://community.topcoder.com/stat?c=problem_statement&pm=11473&rd=14543 简单的概率题.那道题想了想就出来了.每 ...