最近工作上的需求需要对移动客户端上发送的视频在网页上播放,and 上传视频并在网页上播放(例如上传教学视频或者动态分享等)(博主碎碎念:移动客户端上传的你不会用手机的播放器看啊,网页上上传你不会上传到youku或者youtube等各大知名网站上上传然后在自己的网站上直接引用链接啊,还不占服务器带宽,经济又实惠有木有!!!)。

多媒体的上传和一般的文件上传也没什么区别,这边就不多加赘述了,不了解的可以到http://www.w3school.com.cn/php/php_file_upload.asp这边了解一下。

视频截图是在服务端做的,还是使用ffmpeg,目前还是很稳定。

开始的时候想仿照下youku这种专业的视频网站,发现他们都是flash实现的,可是博主对flash七窍通了六窍--一窍不通(呵呵呵呵。。),再加上貌似youtube都开始其他尝试了,所以果断就放弃在这方面的探索。

在投入google的怀抱半天后,终于赶脚貌似html5的video标签是个好东西,可惜就是兼容性差了点,不过html5毕竟是趋势,所以果断还是在这方面下功夫了。(博主碎碎念:播放一个视频只要一个标签就全搞定了,不用他以为我傻啊。。呵呵呵呵)

花费了1个小时的搜索,发现在http://www.w3school.com.cn/html/html_video.asp这里提供了一种解决方法:

复制代码代码如下:
<video width="320" height="240" controls="controls">
<source src="/UploadFiles/2021-03-30/movie.mp4"><source src="movie.ogg"><source src="movie.webm"><object data="movie.mp4" width="320" height="240">
<embed src="movie.swf"></object>
</video>

目测这种方式应该可以兼容一大部分情况了。

可是我们无法阻止用户上传的视频格式,也无法左右用户使用的浏览器类型,而且用户只会上传一种视频格式,但是各个浏览支持的视频的格式不一致(万恶的浏览器。。),基于此种想法,要是有一个可以兼容所有浏览器所有视频格式而又外表美观可控性强的插件该多好啊。理想是美好的现实是骨感的。不过通过长时间的google还是发现了一个可以让主流浏览器兼容vedio标签的js插件http://html5media.googlecode.com/svn/trunk/src/html5media.min.js。

在web上播放视频还可以使用两种方式 内联视频(借助img标签,好奇怪只有ie支持这种模式而且一般不开启) 和 使用助手。所以我们可以借助一些助手来实现上面不支持的类型视频文件的播放(例如:quicktime)

综合以上两点的视频播放代码如下:

复制代码代码如下:
function showVideo(o,s,w, h, t){ //t文件格式
var _html = '';
if($.inArray(t, ['ogg', 'mp4', 'webm']) >= 0){ //html5 surport
var _doc=document.getElementsByTagName('head')[0];
var script=document.createElement('script');
script.setAttribute('type','text/javascript');
script.setAttribute('src','http://html5media.googlecode.com/svn/trunk/src/html5media.min.js');
_doc.appendChild(script);
script.onload=script.onreadystatechange=function(){
if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){
_html = '<video src="/UploadFiles/2021-03-30/'+s+'">_html += '</video>';
$(o).css({"width":w+'px', 'height':h+'px', 'cursor':'default'});
$(o).html(_html);
}
script.onload=script.onreadystatechange=null;
}
}else{ //other like 3gp
_html += '<object width="'+w+'" height="'+h+'" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab">';
_html += '<param name="src" value="'+s+'">';
_html += '<param name="controller" value="true">';
_html += '<param name="type" value="video/quicktime">';
_html += '<param name="autoplay" value="false">';
_html += '<param name="target" value="myself">';
_html += '<param name="bgcolor" value="black">';
_html += '<param name="pluginspage" value="http://www.apple.com/quicktime/download/index.html">';
_html += '<embed src="/UploadFiles/2021-03-30/'+s+'">_html += '</object>';
$(o).css({"width":w+'px', 'height':h+'px', 'cursor':'default'});
$(o).html(_html);
}
}
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。