html5 视频播放解决方案,html5视频播放

2020-01-31 03:12栏目:竞技宝app
TAG:

因为有这个需求,所以就研究了一下,发现还挺不错的。这个主要是用了html5的API,不需要其他的JS插件,不过只有支持html5的浏览器才行,就现在而言应该大部份都支持的。

html 5规范呼之欲出,各浏览器厂商更早已摩拳擦掌,纷纷推出支持html 5规范的浏览器:firefox、opera、chrome等浏览器早已很好地支持各种html 5规范,微软也宣布ie 9将会更好地支持css 3、svg和html 5等新规范,这些迹象表明:html 5时代到来了。

html5 视频播放解决方案,html5视频播放

html5没学习之前总觉的很神秘。近期通过学习和研究html5有点成果,特总结分享给大家。
众所周知应用开发分两种:一是原生的native app 二是web app,也就是通过浏览器访问的应用。
html5在移动互联时代,有他独到的用武之地,虽然他有很多优势但不可能完全彻底取代原生APP,原生APP开发成本虽高,但是其良好的用户体验以及API、已有的开发生态链等,会保持其长期的旺盛两种APP会互补共存。学习html5的成本不算高,H5本质是html但凡做过web开发的程序员,稍加学习就能掌握。

这里主要研究的是通过应用html5来解决视频播放的问题。Adobe公司因为战略错误,忽视了移动互联这块,移动终端对flash支持并不好,特别是苹果终端都不支持flash(苹果电脑和笔记本是支持flash)。pc端多数应用的flash,
流媒体又能有很好的交互体验。为了移动端也能播放显示,我们深入学习研究了html5,利用html5不用插件直接播放视频,还能跨平台来实现播放。

一、html5技术优势
1 关于视频不用插件播放,点击就能看
2 跨平台、好升级、好维护,开发成本相对原生APP低很多
3 对移动的良好支持,支持手势,本地存储和视频续播等,通过H5就可以把自己的网站移动化。
4 更为简洁的代码,更好的交互
5 支持游戏开发

二、html5播放视频
pc端还是用flash播放,但移动端通过html5方式来做。
而html5的video标签只支持mp4、webm、ogg三种格式.目前所有主流浏览器最新版本都支持html5(除了Opera)

H.264已经占领视频市场的80%。如果移动应用视频,建议编译成264格式,有好的高压缩比、高画质。
H.264则是由两个组织联合组建的联合视频组(JVT)共同制定的新数字视频编码标准,它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高级视频编码(Advanced Video Coding,AVC)的第10 部分。因此,不论是MPEG-4 AVC、MPEG-4 Part 10,还是ISO/IEC 14496-10,都是指H.264。

三、html5代码DEMO

<!doctype html>
<html>
    <meta http-equiv=Content-Type content="text/html;charset=utf-8">
    <script src="JavaScript/jquery-1.7.2.min.js"></script>
    <script src="JavaScript/jsPlayer.js"></script>
    <script src="JavaScript/dtooltip-min.js"></script>
    <link href="CSS/play.css?var=1121" rel="stylesheet" type="text/css">

<script type="text/javascript">
function browserRedirect() {
var sUserAgent= navigator.userAgent.toLowerCase();
var bIsIpad= sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp= sUserAgent.match(/midp/i) == "midp";
var bIsUc7= sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc= sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid= sUserAgent.match(/android/i) == "android";
var bIsCE= sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM= sUserAgent.match(/windows mobile/i) == "windows mobile";


if(bIsAndroid){
document.getElementById("a").style.display="block";
document.getElementById("b").style.display="none";
document.getElementById("c").style.display="none";
document.getElementById("d").style.display="none";
}
else if (bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsCE || bIsWM) {
document.getElementById("b").style.display="block";
document.getElementById("d").style.display="none";
document.getElementById("a").style.display="none";
document.getElementById("c").style.display="none";
} else if(bIsIpad) {
document.getElementById("c").style.display="block";
document.getElementById("a").style.display="none";
document.getElementById("b").style.display="none";
document.getElementById("d").style.display="none";

}
else {
document.getElementById("d").style.display="block";
document.getElementById("a").style.display="none";
document.getElementById("b").style.display="none";
document.getElementById("c").style.display="none";

}
}
window.onload=function(){browserRedirect();}

    $(document).ready(
                function(){
                    var ps=new jsPlayer("700","500","myVideo");
                }
        );
</script>


<head>
<title>测试移动终端</title>
</head>
<body>
<div id="a"><p>这是安卓手机</p></div>
<div id="b"><p>这是苹果手机</p></div>
<div id="c"><p>这是ipad</p></div>
<div id="d"><p>这是电脑</p></div>
<div style="width:700px;margin:auto;">
    <!--播放器代码开始-->
    <div class="playContent">
        <div class="playScreen">
            <video id="myVideo">
                <source src="Movie/th264.mp4" type="video/mp4">
            </video>
        </div>
        <div class="proLines">
            <div id="origin" class="arial">00:00:00</div>
            <div class="line">
                <div class="isPlayLine">
                    <div class="currentCircle">

                    </div>
                </div>
            </div>
            <div id="duration" class="arial"></div>
        </div>
        <div class="playBars">
            <div class="prevBar"><img src="Images/prev.jpg" border="0" id="prev"></div>
            <div class="startBar"><img src="Images/stop.jpg" border="0" id="imgStatus"></div>
            <div class="nextBar"><img src="Images/next.jpg" border="0" id="next"></div>
            <div class="voiceContent">
                <div class="voice">
                    <img src="Images/voice.jpg" id="voiceImg" border="0">
                </div>
                <div class="voiceline">
                    <div class="voicekuai"></div>
                </div>
            </div>
        </div>
    </div>
    <!--播放器代码结束-->
</div>

</body>

</html>

四、html5发展情况
Html5浏览器支持情况
绝大多数浏览器支持html5(除了opera mini)

图片 1

数据来源:

mp4视频支持情况
主流都支持mp4(除了opera)

图片 2

数据来源:

视频播放解决方案,html5视频播放 html5没学习之前总觉的很神秘。近期通过学习和研究html5有点成果,特总结分享给大家。 众所周知应...

!DOCTYPEhtmlhtmlmeta"Content-Type"content="text/html;charset=utf-8"/metaname="viewport"content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"headtitle/title/headbodyimg/img/divinputtype="file"/divdiv确定/div/bodyscripttype="text/javascript"src=""/scriptscripttype="text/javascript"$(document).ready(function(){web.main();});varweb={main:function(){web.init();web.getImgUrl();},init:function(){this.file_Id=$("#file");this.img_Id=$("#img");this.expImg_Id=$("#expImg");this.btn_Id=$("#btn");this.c=document.createElement("canvas");this.ctx=this.c.getContext("2d");},getImgUrl:function(){varfileUrl="",imgDataUrl="",reader=newFileReader(),imgW=0,imgH=0,expW=0,expH=0,imgMax=800;web.btn_Id.click(function(){imgW=0;imgH=0;expW=0;expH=0;web.img_Id[0].src="";//转换图片为base64格式fileUrl=web.file_Id[0].files[0];reader.readAsDataURL(fileUrl);reader.onload=function(e){web.img_Id[0].src=this.result;imgW=web.img_Id.width();imgH=web.img_Id.height();//改变图片尺寸,这个根据自己的实际需求来写算法if(imgWimgMaximgW=imgH){expW=imgMax;expH=parseInt((imgMax*imgH)/imgW);}elseif(imgHimgMaximgHimgW){expH=imgMax;expW=parseInt((imgMax*imgW)/imgH);}else{expW=imgW;expH=imgH;}web.c.width=expW;web.c.height=expH;web.ctx.drawImage(web.img_Id[0],0,0,expW,expH);imgDataUrl=web.c.toDataURL();//默认输出PNG格式//imgDataUrl=web.c.toDataURL("image/jpeg",0.8);//设置输出jpg格式,第二个参数为图片质量web.expImg_Id[0].src=imgDataUrl;}})}}/script/html

《疯狂html 5/css 3/javascript讲义》是一本全面介绍html 5、css 3和javascript前端开发技术的图书,系统地介绍了html 5常用的元素和属性、html 5的表单元素和属性、html 5的绘图支持、html 5的多媒体支持、css 3的功能和用法、最前沿的变形与动画功能等。除此之外,本书还系统地介绍了javascript编程知识,包括javascript基本语法、dom编程,以及html 5新增的本地存储、离线应用、javascript多线程、客户端通信支持、websocket编程等。

《疯狂html 5/css 3/javascript讲义》的定位是一本前端开发的“实战性”图书,因此在介绍各知识点时并不是简单地停留在知识点层面阐述,而是结合了大量实例来让读者对照练习、学以致用。本书最后还提供了一个基于html 5技术的小游戏:疯狂俄罗斯方块。该游戏综合运用了html 5的绘图支持、客户端存储等技术,具有较高的参考价值。本书提供了配套的答疑网站,如果读者在阅读本书时遇到了技术问题,可以登录疯狂java联盟(//www.crazyit.org)发帖,笔者将会及时予以解答。

《疯狂html 5/css 3/javascript讲义》对html 5、css 3、javascript的介绍是“从零开始”的,因此阅读本书并不需要额外的基础。对于刚刚从事前端开发的新人,本书具有很好的学习价值;对于有一定工作经验的前端工程师,本书具有很高的参考价值。本书也可作为高校、培训机构的培训教材。 

疯狂html 5/css 3/javascript讲义  目录

第一部分 

第1章 html 5简介        1 

第2章 html 5的常用元素与属性        13 

第3章 html 5表单相关元素和属性        52 

第4章 html 5的绘图支持        80 

版权声明:本文由龙竞技官网发布于竞技宝app,转载请注明出处:html5 视频播放解决方案,html5视频播放