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)

数据来源:http://caniuse.com/#cats=HTML5

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

数据来源:http://caniuse.com/#feat=video

参考资料:
H.264赢下视频格式大战已十拿八稳,五分之四的视频采用该格式
http://www.36kr.com/p/70116.html

HTML5视频方案:支持iPad Safari、Firefox、Chrome、IE9876
http://www.cnblogs.com/sink_cup/archive/2011/04/21/html5_video_ipad_firefox_chrome_ie9876_flash.html

各大浏览器 Safari、Chrome、Firefox ,IE,Opera对HTML5的video的支持
http://www.deepleo.com/archives/636
最新版本的 Safari、Chrome、Firefox 以及 Opera 支持某些 HTML5 特性。Internet Explorer 9 将支持某些 HTML5 特性。

手机浏览器HTML5支持情况调查
http://www.williamlong.info/archives/3075.html

如何检查用户浏览器是否支持HTML5 video :
http://www.deepleo.com/archives/636

TUP系列活动第八期:HTML5技术应用分享
http://tech.sina.com.cn/it/2011-03-22/19465317662.shtml

分析优酷HTML5地址
http://blog.xiaohai.co/archives/youku-html5/

http://m.youku.com/
http://labs.3g.youku.com/ipad/ 优酷开放HTML5
优酷移动端网站的页面设计更适合手机浏览器观看,简洁大气、节目信息全面。由于Html5技术的大力应用,节省本地资源之余,也不用加载Flash插件,点击视频就能迅速观看。
且完美的实现了即时更新,用户再也不需要管理应用程序,重新下载,有任何功能应用的更新,只需打开浏览器,登录后便能轻松实现。
同时,利用全面支持Html5的优酷移动端网站,也具有自动续播功能,即用户可以访问以远程方式存储在“云”中的各种内容,不受位置和设备的限制,随时随地享受自己钟爱的视频节目。

时间: 2024-11-05 21:53:04

html5视频播放解决方案的相关文章

jqm视频播放器,html5视频播放器,html5音乐播放器,html5播放器,video开发demo,html5视频播放示例,html5手机视频播放器

最近在论坛中看到了很多实用html5开发视频播放,音乐播放的功能,大部分都在寻找答案.因此我就在这里做一个demo,供大家相互学习.html5开发越来越流行了,而对于视频这一块也是必不可少的一部分.如何让你的网站占据优势,就要看你的功能和用户体验了.html5对video还是做了很多优惠的东西,我们使用起来很得心应手. 在过去 flash 是网页上最好的解决视频的方法,截至到目前还算是主流,像那些优酷之类的视频网站.虾米那样的在线音乐网站,仍然使用 flash 来提供播放服务.但是这种状况将会随

HTML5视频播放器accessible html5 video player

accessible html5 video player 是一款开源的轻量级播放器,采用HTML5视频播放技术,支持字幕显示.视频自由跳播.重播等功能.该html5视频插件由paypal Accessibility 团队开发,兼容所有Firefox.chrome.以及ie10以上版本等浏览器.ie9仅支持内部视频调用. 简洁清新的视频播放界面可以让你在很短的时间内喜欢上它,至少我是真的被它的界面吸引到了,有一点遗憾的是无法全屏,如果有知道的朋友可以向大家分享! accessible html5

打造自己的html5视频播放器

前段时间重新学习了一下html5的video部分,以前只是停留在标签的使用上,这一次决定深入了解相关的API,并运用这些API打造一个简单的视频播放器.所谓“打造自己的”,就是要自己重写video标签的控制栏部分,实现包括播放.暂停.进度和音量控制.全屏等功能,并自定义控制栏的样式.这是我自己的视频播放器的演示地址(请用chrome打开): http://animademo.sinaapp.com/html5_video/ (^-^:鼠标中键点击链接,在新标签页中打开) 这是该播放器的代码地址,

HTML5 视频播放 &lt;video&gt;

HTML5 中的视频播放 ===================================================================== <video> -------不需要下载任何额外的浏览器视频播放插件 -------完全由浏览器自身实现视频的解码和播放 <video src=" " controls  poster="xx.jpg"></video> ------video标签的属性-------

三星note手机上html5画面模糊解决方案

最近测试发现,html5游戏在三星note手机上初次加载都会模糊,刷新之后就不模糊了,不知道是什么原因,本人对底层的东西也不熟,后来问了个同事,找到个解决方案,现记录一下. <meta name="viewport" content="width=device-width,target-densitydpi=device-dpi,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no&

phonegap安卓视频播放解决方案

使用phonegap开发的时候,视频播放很多人一开始选择用html5的Video标签作为备选方案,实际上这种方案在真实环境下常常是无法满足需求的,因为目前HTML5的Video标签只支持MP4,OGG以及webm格式的视频播放,即使对于以上视频也不见得拥有很好的效果,这取决于安卓浏览器的支持表现,实在搞不懂chrome浏览器这么先进,安卓原生浏览器却效果很差.所以当我们要播放RMVB,h264等格式的视频文件时,这种方案完全行不通.所幸phonegap提供了强大的插件机制,我们可以利用安卓原生的

Html5视频播放video标签使用详解【转】

1,下面是一个播放视频的最简单样例 (controls属性告诉浏览器要有基本播放控件) <video src="hangge.mp4" controls></video> 2,通过width和height设置视频窗口大小 <video src="hangge.mp4" controls width="400" height="300"></video> 3,预加载媒体文件 设置p

HTML5视频播放练习:鼠标经过视频播放,鼠标移除停止播放,再次经过继续播放。

随着HTML5的广泛应用,在一些网站中,经常看到有些预览的短视频预览,鼠标经过就会播放,移除就会停止播放,再次移进去就会继续播放. 自己也研究着做一个比较简单的类似的练习. 视频可以自己到包图网下载,包图网的媒体首页视频预览就是鼠标移进去就播放,离开就停止,再移进去就播放. 不过,他们在视频上,还增加了一直视频的图片,思路是,鼠标经过,图片隐藏,视频播放,鼠标离开,图片显示,视频停止. 其理论都是相同的. 附上练习代码 1 <!DOCTYPE html> 2 <html> 3 &l

基于JSON数据HTML5视频播放器js插件教程

一.安装 可以通过Bower来安装该视频播放器插件. bower install frame-player 在页面中引入frameplayer.css和frameplayer.js文件. <link rel="stylesheet" href="path-to/frameplayer.css"> <script src="path-to/frameplayer.js"></script> 二.Html结构 在页