HTML5的标签 video 支持的mp4编码为视频编码 H.264 音频AAC

参考网址

http://www.w3school.com.cn/html5/html_5_video.asp

视频格式

当前,video 元素支持三种视频格式:

格式 IE Firefox Opera Chrome Safari
Ogg No 3.5+ 10.5+ 5.0+ No
MPEG 4 9.0+ No No 5.0+ 3.0+
WebM No 4.0+ 10.6+ 6.0+ No

Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件

MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件

WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件

使用video.js播放mp4

不是h.264编码格式先使用格式工厂转换一下。

HTML头部引用

 <link href="http://vjs.zencdn.net/5.6.0/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/5.6.0/video.js"></script>
<!-- If you'd like to support IE8 -->
<script src="http://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script>

这里是绑定a播放标签. 禁止A标签冒泡 href= 'javascript:void(0) '.

<a href="javascript:void(0)"  id="play1">播放</a>

点击播放显示遮罩层 以下是遮罩层HTML代码  不要忘记引用jquery

遮罩层HTML代码

<div class="theme-popover">
<div class="theme-poptit">
<a href="javascript:;" title="关闭" class="close">×</a>
</div>
<div class="mv"> <video id="my-video" class="video-js" controls preload="auto" width="1296" height="728"
poster="video/cover.png" data-setup="{}"> <source src="video/xiangcloud3.mp4" type="video/mp4" />
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a web browser that
supports HTML5 video
</p>
</video> </div>
</div>
<div class="theme-popover-mask"></div>  

点击HTML 参考

 <a href="javascript:void(0)" id="play">查看视频<i></i></a>

  

JS代码

 <script type="text/javascript">

     $(document).ready(function () {

  $('#play').on("click" , function(){

            $('.theme-popover-mask').show();

            $('.theme-popover').show();
/*autoplay video*/
var my_video=videojs('my-video');
videojs('my-video').ready(function(){
var myvideo= this;
myvideo.play();
}); }); /*close button*/
$('.close').on("click" , function (){
$('.theme-popover-mask').fadeOut(100);
$('.theme-popover').slideUp();
$('#viedo').remove();
/*close video*/
var my_video=videojs('my-video');
videojs('my-video').ready(function(){ var myvideo= this; /* myvideo.ended();*/
myvideo.currentTime(0);
myvideo.pause(); /* myvideo.paused();*/
}); }); }) </script>

 CSS代码

  <style type="text/css">

    /*video*/
.theme-popover{
z-index:9999;
position:fixed;
top:0%;
left:50%;
width:1296px;
height: 728px;
margin:20px 0 0 -648px;
border:solid 2px #666;
display:none;
box-shadow: 0 0 10px #666;
}
.theme-poptit a{
position: absolute;
right: -8px;
top: -10px;
color: rgb(0, 0, 0);
font-size: 20px;
background: rgb(255, 255, 255);
border-radius: 15px;
width: 20px;
height: 20px;
text-align: center;
line-height: 20px;
text-decoration:none;
z-index: 1000;
} .theme-popover-mask{
z-index: 9998;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:#000;
opacity:0.4;
filter:alpha(opacity=40);
display:none;
}
</style>

  

 


以下都为零散记录

点击播放mp4 显示遮罩层
$('#play1').on("click" , function(){ $('.theme-popover-mask').show();
$('.theme-popover').show();
/*下面自动播放mp4文件*/
 var my_video=videojs('my-video');
videojs('my-video').ready(function(){
var myvideo= this;
myvideo.play();
});
});
关闭遮罩层
/*close button*/
$('.close').on("click" , function (){
$('.theme-popover-mask').fadeOut(100);
$('.theme-popover').slideUp();
$('#viedo').remove();
/*这里还需要关闭video.js播放 这里只关闭了遮罩层 停止播放mp4 不刷新的情况下 从刚才播放的时间继续播放 并不是从新开始播放*/ var my_video=videojs('my-video');
videojs('my-video').ready(function(){
    var myvideo= this;
myvideo.pause();
});

});

CSS代码 遮罩
<style type="text/css">

    /*video*/
.theme-popover{
z-index:9999;
position:fixed;
top:0%;
left:50%;
width:1296px;
height: 728px;
margin:20px 0 0 -648px;
border:solid 2px #666;
display:none;
box-shadow: 0 0 10px #666;
}
.theme-poptit a{
position: absolute;
right: -8px;
top: -10px;
color: rgb(0, 0, 0);
font-size: 20px;
background: rgb(255, 255, 255);
border-radius: 15px;
width: 20px;
height: 20px;
text-align: center;
line-height: 20px;
text-decoration:none;
z-index: 1000;
} .theme-popover-mask{
z-index: 9998;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:#000;
opacity:0.4;
filter:alpha(opacity=40);
display:none;
}

  

添加代码

poster为封面图片代码

source为多个链接地址 并且默认开始使用第一个可以用的

 <video id="my-video" class="video-js" controls preload="auto" width="1296" height="728"
poster="video/cover.png" data-setup="{}"> <source src="video/xiangcloud3.mp4" type="video/mp4" />
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a web browser that
supports HTML5 video
</p>
</video>

自动播放视频 JS代码 videojs里的使用的是标签video的ID值,

var my_video=videojs('my-video');
videojs('my-video').ready(function(){
var myvideo= this;
myvideo.play();
});

  

  

  

video.js播放mp4文件的更多相关文章

  1. 视频播放效果--video.js播放mp4文件

    HTML5的标签 video 支持的mp4编码为视频编码 H.264 音频AAC 参考网址 http://www.w3school.com.cn/html5/html_5_video.asp 视频格式 ...

  2. 使用opencv在Qt控件上播放mp4文件

    文章目录 简介 核心代码 运行结果 简介 opencv是一个开源计算机视觉库,功能非常多,这里简单介绍一下OpenCV解码播放Mp4文件,并将图像显示到Qt的QLabel上面. 核心代码 头文件 #i ...

  3. 流媒体测试笔记记录之————解决问题video.js 播放m3u8格式的文件,根据官方的文档添加videojs-contrib-hls也不行的原因解决了

    详细代码Github:https://github.com/Tinywan/PHPSharedLibrary/tree/master/Tpl/Html5/VideoJS 想播放hls协议的就是m3u8 ...

  4. 流媒体技术学习笔记之(四)解决问题video.js 播放m3u8格式的文件,根据官方的文档添加videojs-contrib-hls也不行的原因解决了

    源码地址:https://github.com/Tinywan/PHP_Experience 总结: 说明: 测试环境:本测试全部来自阿里云直播和OSS存储点播以及本地服务器直播和点播 播放器:Vid ...

  5. ios video标签部分mp4文件无法播放的问题

    问题描述: 部分MP4文件在ios的微信浏览器中无法播放,点击播放后缓冲一下之后显示叉,而另外一些mp4文件正常,同时在安卓全部下正常. 分析: h264编码的压缩级别问题导致. 苹果官方文档中对 i ...

  6. HTML5 Video/Audio播放本地文件

    这段时间经常看到开发者在反复询问同一个问题,为什么通过设置src属性,不能播放本地的媒体文件?例如video.src=”D:\test.mp4”. 这是因为浏览器中的JavaScript不能直接直接访 ...

  7. 微信 vue中使用video.js播放m3u8视频,解决安卓自动全屏的问题。

    最近一个项目中需要在微信中播放m3u8格式的视频,刚开始用了 vue-video-player 这个插件,在IOS手机体验良好,本以为完事了, 结果安卓手机一点播放就自动全屏,心态略崩.查了资料说是安 ...

  8. video.js播放rtmp

    项目中要用到rtmp直播和点播.要求:点播能够调整播放进度 开始用腾讯提供的播放器,老卡,画质差,很多时候播不出来,rtmp点播还不能快进. 后来用Wowza自带的flash rtmp播放器,有源码 ...

  9. 【vue】使用 Video.js 播放视频

    目录 安装 引入 使用 参考文档 环境: vue 2.0+ element ui (这里的代码用了elmentui的按钮样式,可以不用elment ui的样式) 安装 在项目中安装 video.js. ...

随机推荐

  1. mongodb之使用explain和hint性能分析和优化

    当你第一眼看到explain和hint的时候,第一个反应就是mysql中所谓的这两个关键词,确实可以看出,这个就是在mysql中借鉴过来的,既然是借鉴 过来的,我想大家都知道这两个关键字的用处,话不多 ...

  2. 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题

    调用同步锁的wait().notify().notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同 ...

  3. web工程常用路径的获取方法

    此文章是基于 搭建SpringMVC+Spring+Hibernate平台 一. 利用 Spring 取得web工程根路径 1. web.xml 中添加如下: <context-param> ...

  4. 5-3 bash脚本编程之二 条件判断

    1. 条件测试的表达式 1. [ expression ]  :注意这个中括号的前后都有一个空格 2. [[ expression ]] 3. test expression 2.条件判断的类型 1. ...

  5. .Net中DLL冲突解决(真假美猴王)

    <西游记>中真假美猴王让人着实难以区分,但是我们熟知了其中的细节也不难把他们剥去表象分别出来.对问题不太关心的可以直接调到文中关于.Net文件版本的介绍 问题 最近在编译AKKA.net ...

  6. [转]Web APi之认证(Authentication)及授权(Authorization)【一】(十二)

    本文转自:http://www.cnblogs.com/CreateMyself/p/4856133.html 前言 无论是ASP.NET MVC还是Web API框架,在从请求到响应这一过程中对于请 ...

  7. ongl(原始类型和包装类型)

    原始类型和包装类型 //首先创建两个实体类 user 和 address user中包含address package cn.jbit.bean; public class User { //用户类 ...

  8. UNITY自带的PACKAGE的UTILITY 里面有一个自带的FPS COUNTER

    UNITY自带的PACKAGE的UTILITY 里面有一个自带的FPS COUNTER 可用,但是脚本是保密的?

  9. [LeetCode] Plus One Linked List 链表加一运算

    Given a non-negative number represented as a singly linked list of digits, plus one to the number. T ...

  10. [LeetCode] House Robber III 打家劫舍之三

    The thief has found himself a new place for his thievery again. There is only one entrance to this a ...