解决html5中video标签无法播放mp4问题的办法


Posted in HTML / CSS onMay 07, 2017

前言

最近发现了一个问题,在手机录制了一个1.mp4文件,主流浏览器都能正常播放。但使用格式工厂将rmvb文件转码为2.mp4却不能播放。通过查找相关的资料终于解决了,下面分享出来供大家参考学习,下面来看看详细的介绍:

问题分析

手机录制的视频属性:

解决html5中video标签无法播放mp4问题的办法
 

格式化工厂转码的视频属性:

解决html5中video标签无法播放mp4问题的办法
 

首先排除代码问题,路径问题,浏览器不支持等问题。转码后的视频编码是mp4v,这是不能播放的原因,转换为AVC(H264)编码即可。

查阅文档,关于video标签所支持的视频格式和编码:

  • MPEG4 = 带有H.264视频编码和AAC音频编码的MPEG4文件
  • WebM = 带有VP8视频编码和Vorbis音频编码的 WebM文件
  • Ogg = 带有Theora视频编码和Vorbis音频编码的Ogg文件
     

通过上面的信息我们发现只有h264编码的MP4视频(MPEG-LA公司)、VP8编码的webm格式的视频(Google公司)和Theora编码的ogg格式的视频(iTouch开发)可以支持html5的<video>标签。

解决方法

video标签允许多个source元素,source元素可以链接不同的视频文件,浏览器将使用第一个可识别的格式,这样可用来解决浏览器兼容问题。

<video controls="controls" width="100%">
  <source src="1.mp4" type="video/mp4">
  <source src="1.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

HTML / CSS 相关文章推荐
详解CSS3 Media Queries中媒体属性的使用
Feb 29 HTML / CSS
CSS3 animation实现简易幻灯片轮播特效
Sep 27 HTML / CSS
用CSS3实现瀑布流布局的示例代码
Nov 10 HTML / CSS
css3实现背景动态渐变效果
Dec 10 HTML / CSS
canvas绘制文本内容自动换行的实现代码
Jan 14 HTML / CSS
html5中svg canvas和图片之间相互转化思路代码
Jan 24 HTML / CSS
html5的自定义data-*属性与jquery的data()方法的使用
Jul 02 HTML / CSS
html5 figure和figcaption的使用方法
Sep 10 HTML / CSS
5分钟实现Canvas鼠标跟随动画背景
Nov 18 HTML / CSS
HTML5实现直播间评论滚动效果的代码
May 27 HTML / CSS
Canvas波浪花环的示例代码
Aug 21 HTML / CSS
html5+实现plus.io进行拍照和图片等获取
Jun 01 HTML / CSS
Web前端页面跳转并取到值
Apr 24 #HTML / CSS
HTML5新特性 多线程(Worker SharedWorker)
Apr 24 #HTML / CSS
Html5新增标签有哪些
Apr 13 #HTML / CSS
完美解决IE8下不兼容rgba()的问题
Mar 31 #HTML / CSS
使用phonegap克隆和删除联系人的实现方法
Mar 31 #HTML / CSS
使用phonegap查找联系人的实现方法
Mar 31 #HTML / CSS
使用phonegap获取设备的一些信息方法
Mar 31 #HTML / CSS
You might like
php google或baidu分页代码
2009/11/26 PHP
php array_walk() 数组函数
2011/07/12 PHP
PHP静态调用非静态方法的应用分析
2013/05/02 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
php for 循环使用的简单实例
2016/06/02 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
jQuery之ajax删除详解
2014/02/27 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
高性能JavaScript 重排与重绘(2)
2015/08/11 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
Angular6 用户自定义标签开发的实现方法
2019/01/08 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
在Python中使用SQLite的简单教程
2015/04/29 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
金智子午JAVA面试题
2015/09/04 面试题
ajax是什么及其工作原理
2012/02/08 面试题
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
小学生作文评语集锦
2014/12/25 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
运动会3000米加油稿
2015/07/21 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
个人业务学习心得体会
2016/01/25 职场文书
医生行业员工的辞职信
2019/06/24 职场文书