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 ...
随机推荐
- 【elasticsearch】(2)centos7 超简单安装elasticsearch 的监控、测试的集群工具elasticsearch head
elasticsearch-head是elasticsearch(下面称ES)比较普遍使用的可监控.测试等功能的集群管理工具,是由H5编写的单独的网页程序.使用方法网上很多,这里教大家一个超简单安装h ...
- [Machine Learning] Probabilistic Graphical Models:一、Introduction and Overview(1、Overview and Motivation)
一.PGM用来做什么 1. 医学诊断:从各种病症分析病人得了什么病,该用什么手段治疗 2. 图像分割:从一张百万像素级的图片中分析每个像素点对应的是什么东西 两个共同点:(1)有非常多不同的输入变 ...
- O(1)检测2的幂次
class Solution { public: /* * @param n: An integer * @return: True or false */ bool checkPowerOf2(in ...
- 关于linux开机自启
/etc/rc.d/rc.local 是在系统最后启动,必须和其他rc.0 - rcN文件具有755权限
- Newtonsoft.Json工具类
这个类用于序列化和反序列化类. 效果是当前最好的.微软都推荐使用.在建立MVC的里面已经引用了这个dll. 上面一篇文章要用到 SerializeHelper工具类 public class Seri ...
- Noah的学习笔记之Python篇:装饰器
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- 也说说EM
也说说EM [本文链接:http://www.cnblogs.com/breezedeus/archive/2012/08/12/2634466.html,转载请注明出处] 前几天看Andrew Ng ...
- NBU是最牛逼的备份软件
NBU是最牛逼的备份软件 TSM是IBM的备份 好好看看几个厂商 VERITAS 公司下的NBU入门级备份有BEHP的备份软件有DPIBM的是TSMCommvault也非常牛逼这都是做到了小机AI ...
- RemixOS Player 让用户在 Windows 上运行 Android App
http://www.oschina.net/news/77154/remixos-player-windows-andriod-app
- SQL server 触发器、视图
一.触发器 1.触发器为特殊类型的存储过程,可在执行语言事件时自动生效.SQL Server 包括三种常规类型的触发器:DML 触发器.DDL 触发器和登录触发器. 主要讲述DML触发器,DML触发器 ...