里云播放器SDK(ApsaraVideo for Player SDK)是阿里视频云端到云到端服务的重要一环,除了支持点播和直播的基础播放功能外,还深度融合视频云业务,支持视频的加密播放、安全下载、首屏秒开、低延时等业务场景,为用户提供简单、快速、安全、稳定的视频播放服务。本文衔接上文,详细介绍web播放器的功能及实现。
播放器架构
Aliplayer Web播放器分为H5和Flash两个,Flash播放器随着技术的发展会逐渐被边缘化,所以我们以后只做维护,不会更新功能了,重点会放在H5播放器上。H5播放器架构主要分四层,底层H5 Video,播放能力和H5原生Video紧密相关。第二层是基础播放器,它不依赖于具体业务,通过URL的方式来播放。第三层是为各种业务场景准备的不同的播放器,可以很容易的扩展,相互隔离不依赖。最上面一层是适配的播放器,会根据终端类型、浏览器类型、播放格式和用户指定来进行智能适配。
播放器功能
最近,我们在播放器端上也实现了截图、国际化、变速、UI自定义、微信同层播放、自适应播放、加密播放、H5播放flv、自定义插件等功能。后续,我们还会通过插件的形式实现弹幕、广告等功能,并会开源到github上,也会支持用户根据自己业务需求来自定义SDK包。
播放器支持视频格式
适配播放
我们整个视频播放的基本原则是H5优先,能用H5播放的肯定不用Flash去播放。所以在移动端,我们肯定是用H5来播放的,PC端也依照这个原则尽量使用H5。同时,我们会判断浏览器类型支持哪种播放格式,比如m3u8在PC端IE11以上的浏览器才能播放,如果遇到IE11以下的浏览器,我们自动会选择Flash播放。在视频格式方面,假设视频是rtmp和flv,我们会自动选择Flash播放。另外,如果用户自主设置useH5Prism和useFlashPrism属性,那我们也会依照用户的选择。
浏览器支持情况
FLASH支持IE8以上,在浏览器上启动允许FLASH运行即可;H5支持IE9以上,m3u8需要在IE11以上才可以运行;其他浏览器都也都是可以支持的。
两种播放方式
source,通过url 去播放
通过点播vid+playauth去播放,第二种方式和视频云结合比较紧密
点播播放格式的选择
点播服务中转码生成的视频格式有很多,包括m3u8、flv、mp4等。播放器有自己的一套逻辑去选择播放格式。对于H5来说,默认播放低清版本来节省流量,如果用户使用了切换清晰度的功能,那我们会默认打开他选择的版本。格式方面,则默认播放mp4,用户也可以设置qualitySort来优先播放高清的的版本。对于Flash来说,默认格式顺序是m3u8、flv、mp4。
创建播放器
引用正确的JS和CSS文件
添加播放器容器 需要设置容器的id属性,另外2.0.1之前的版本要添加prism-player类型。
New Aliplayer创建播放
在线配置,用户可以预先体验下播放器的情况
Aliplayer-Cli创建演示例子
用户需要演示例子的时候,不需要写很多代码,通过这个命令,就可以创建例子,直接体验AliPlayer。
PC端支持m3u8
播放域名启用允许跨域访问
订阅和取消事件
清晰度切换
H5 1.9.9以后的版本和id+playauth播放方式才支持清晰度切换;支持记忆选择的清晰度,当选择的清晰度不能播放时,自动选择下一个清晰度播放。
手动切换视频-H5
这个功能播放器内比较常见。我们把它分成两种情况去处理,如果是地址播放,我们通过loadByUrl来播放;如果是vid+playauth播放,我们通过replayByVidAndPlayAuth的方法来播放。
手动切换视频-flash
地址播放方法与H5的方法一样,vid+playauth播放则需要先销毁播放器,再重新创建播放。
不同地址格式的切换
只能先销毁播放器,再重新选择正确的播放器播放。Github地址看simple demo:https://github.com/alilmq/aliplayer-simple-demo
![b_3_7]
UI自定义
很多用户有这个需求,所以我们的UI是可以隐藏掉的。提供了一个skinLayout的属性,当这个属性没有指定值的时候,UI组件是全部显示。如果是空数组的时候,UI组件全部不显示。并且可以自定义组件的显示和位置,在默认UI基础上去裁剪,2.3.0版本以后,用户也可以通过自定义插件的方式自定义自己的UI。
截屏
H5启用:
FLASH启用:snapshot:true
H5播放器,播放域名需添加允许跨域访问的header
支持订阅snapshoted事件,获取截屏的时间点和数据:
支持设置截图的大小和质量:
支持添加文字水印:
边转变播功能
边转边播是MTS的功能,播放器可以支持这种场景的播放。第一次观看的时候调用MTS API启动转码,边转码边播放,而且可以设置延迟播放。转码中使用直播播放器,转码完成后使用点播方式播放。
H5 android微信同层播放
因为H5在android端微信打开时,会自动全屏播放,覆盖Dom元素。
同层播放一般有两种业务场景,一种是点播的,视频在某个地方播放,下面的评论、播放列表等,demo地址:https://github.com/alilmq/h5demo
还要一种场景是直播场景,视频需要全屏。可以通过设置x5_type:h5启用同层播放。Demo 地址:https://github.com/alilmq/h5livedemo
另外H5微信同层播放,有两篇文章可以参考:
http://player.alicdn.com/aliplayer/docs/blogs/how-to-handle-h5-same-layer.html
http://player.alicdn.com/aliplayer/docs/blogs/how-to-handle-h5-same-layer.html
国际化
提供language属性,用于启用各种语言,默认为zh-cn,可选值为zh-cn or en-us。
倍速播放
提供UI的版本,只提供了0.5、1、1.5、2四种倍速播放;而setspeed方法,可以随意设置倍速播放。这个可能会有一些限制,移动端有的浏览器会不支持,比如android微信。
对于直播播放失败的处理
在播放失败时候,会尝试重新播放,触发onM3u8Retry事件,事件里可以做一些提示,比如主播离开请稍等;如果几次尝试后还是失败,会出发livestreamstop事件,事件里做一些直播失败或结束的提示。
我们也做了一些辅助工具,方便用户去接入和排查问题。
诊断工具
通过错误码描述的映射关系,大概能知道用户的错误所在;
通过vid知道用户播放的是哪个视频;
通过uuid这个唯一标识,可以在日志系统中查到用户的播放状态;
通过requestid和播放时间,可以定位到用户的错误是哪次播放的错误和具体的播放时间。
这里还有一个诊断的功能,可以知道用户环境的具体信息,省去手工获取视频的繁琐,可以快速诊断问题。
地址:http://player.alicdn.com/detection.html
检测工具
关于视频播放失败,我们提供了三种方式,原生H5、阿里云H5、阿里云Flash。我们把播放的日志调出来,通过日志来情况来判断播放失败的原因。举个例子,如果用户刚开始请求数据时就失败的话,那我们会猜测存在鉴权失败的情况;如果加载数据出错,那可能是用户的网络的原因;如果是开始播放后出错,可能就问题就出在解析或播放器不支持等方面。
ffmpeg查看视频信息
有的用户只有画面,没有声音。我们可以通过ffmpeg可以看下视频的格式、流的情况、码率、帧率等。
最后,阿里云播放器的所有情况都聚合在以下的网站上:
http://player.alicdn.com/detection.html,其中包括帮助文档、在线配置、诊断工具、产品demo等,大家可以登录了解详情。
搜索引擎之所以不喜欢Flash的网站,是因为Flash动画太复杂。与一般的网页上的文字不同,Flash动画是由帧构成的,搜索引擎不能读取到Flash内部的帧,因此搜索引擎不会索引它。如果要优化Flash网站,必须把Flash处理一下,有以下3种方法。
1.建一个辅助的HTML文件
保留原有的Flash版本,再建立一个HTML页面,例如上文中的那个网站,再建立一个不含有Flash的纯文字HTML页面,将所有的链接都链到原来的Flash网页上,这样搜索引擎虽然不抓取Flash,但是可以收录HTML页面,通过HTML页面做文章,让蜘蛛抓取Flash页面。
2.将Flash内嵌HTML文件 这种方法是通过改变网页结构进行弥补。
不要将整个网页都设计成Flash形式,而是将Flash内容嵌入到HTML文件中,搜索引擎也可以从网页的Title、Keywords、Discription等代码中发现一些主要的信息来收录网站。即使首页全部使用了Flash,也应该将进入页面的关键词按钮链接置于Flash文件之外,以独立的纯文本链接方式呈现。
3.付费登录搜索引擎
这个办法是在前两种方法都不管用的情况下才迫不得已使用的,因为后者需要投入一定的成本,网站在开始的时候能缩小投入成本便缩小,如果网站上线几个月后,搜索引擎仍然不收录,这时再考虑付费登录搜索引擎。 从经验上说,做网站应当尽量避免使用Flash或者最好不用,明明知道搜索引擎不喜欢,还要使用,这不是在自己给自己找麻烦吗?虽然Flash使得网站设计的效果会好些,但是从全局考虑,网站中使用Flash弊还是大于利,特别是做友情链接的时候一定不要使用Flash按钮链接。
家好,我是薛哥。最近VIP会员群的读者咨询信息发布系统的施工方案,今天分享一个不错的多媒体信息发布系统施工方案,包含施工程序,可以参考一下。
此套完整的PPT素材,VIP会员下载!
(1)施工条件及环境检查
由于信息发布终端为成品,其硬件均在出厂前完成,系统通信传输由其他专业单项完成,但对安装地点环境和调试的要求,具体如下:
1)安装施工条件
提供临时库房,以存放和保管设备。
提供安装临时用电。
2)安装环境的检查
土建和装修施工完工:是指在显示屏的安装位置已经预留安装支架和孔位,并可承受起屏的重量,以及一些预埋件的竣工等。
电力电缆和通讯电缆布设完毕:电源插座和网线插座布设安装到位。
3)设备的检查
终端最好在全部装修施工完成以后再就位;
安装地点应干净平整,附近没有振动源;
避免阳光直射终端显示屏。
系统调试根据使用方管理要求进行系统播放内容配置。
施工现场清洁、检查、安装前要清理施工现场,施工现场清洁,确保有施工面,并做好施工记录。
在运输过程中,应轻拿轻放,不得碰撞、刮划之行为,保证质量符合要求,凡在运输、安装过程中造成损坏的, 应立即清除出场,不得用于工程中,并及时更换新品,重新进行检验。
参考点/参考线设定;
准确定位各显示屏的安装位置、安装高度、供电电源的接入,为全面安装提供条件;
确定各显示屏安装支架的规格、安装基础与其他专业的配合;
确定播放控制器的安装位置、供电电源接入;
确定播放控制器网络接入的线路路由;
确定后台服务器的安装位置、控制权限等。
4)线缆的检查
线缆的布放是否符合设计要求;
线缆的通断检查;
线缆的短路检查;
线缆接地检查;
线缆的标识应正确;
所有勘察内容均应作详细记录。
设备安装区域要求土建及装修完毕,并具备必要的保安措施。
(2)施工安装
播放器到各显示屏的线缆敷设与综合布线一起实施,线缆端接预留长度在3米;
显示屏安装应先将支架固定好,并测试支架受力点的承重,安装时调整显示屏的水平垂直偏差值,并控制在限定值范围之内;
线缆的端接做好过锡处理、接地处理、电源供电线路和信号线缆的间距;
播放控制器安装应遵循按区域划分和便于管理的原则,为各控制器进行编号,并初步安装调试好播放控制器系统软件、播放客户端软件及对有线电视信号接入的信号处理;
安装服务器的相关软件系统,并测试可对播放器进行操作,发布信息。
(3)系统调试
系统调试时,为了稳定性,要求系统必须进行数据备份,发布各类公共信息(如:酒店信息、天气预报、航班信息、时间信息、时事信息等,通过Internet自动收集)会议通知、广告信息、演出视频(与内部信息中心结合)等信息的显示是否正常,再进行连接程序的安装、调试。
1)调试开通检查内容
信息发布系统安装完毕,调试开通前应进行全面检查,检查项目包括:
A.所有液晶屏、全彩屏、双基色屏均安装完毕,检查电源电路和信号线缆的连接正确。
B.系统软件通讯正常。
2)功能调试
系统对所有播放控制器进行发布信息、控制管理。
系统通过网络对每个播放终端进行电源开关控制。
通过操作服务器进行显示内容传输指示、显示时间表设定、终端监视等操作。
系统设定不同的时间播放列表,按照播放列表上时间、日期自动显示播放。
系统与安防指挥管理系统通过网络结合,进行应急情况的信息发布。
系统插播各种临时信息及紧急信息,如:临时通知、紧急通知、事故通知、展会公告、会议公告等等。
系统与会议管理系统通过网络相结合及时自动的发布各种会议信息,如:欢迎词、会议通知、会议安排、会议主题等等相关信息。
播放不同格式的节目内容(MPEG-1、MPEG-2、MPEG-4、AVI、WMV、ASF 格式)、图画形象及图片(BMP、GIF、JPG、JPEG格式)、微软幻灯片 (PPT、PPS 格式)、网页内容 (HTML格式)、Flash 内容 (SWF 格式)、文字内容、动态数据库的链接播放。
1)屏幕外框有三段固定胶带。在屏幕没有固定安装以前,不要撕去胶带。
2)安装屏幕两端应该确保水平,高低误差不得超过1.5cm。
3)安装屏幕常用的几种安装方法:
Ø墙挂式:
即显示屏背靠墙面,并固定在墙面上。此方式为常见方式,而且较易实现。
Ø坐立式:
即显示屏坐立在平台上。此方式最易实现,在条件许可的场合应优先采用这种安装方式。
Ø嵌式:
即显示屏镶嵌在一个墙框内。此方式不多见,如果墙面凹陷深度不够,须考虑其维护性。
Ø侧挂式:
即显示屏两侧受力,侧挂在两建筑物或立柱之间。此方式常用于空旷场地的屏体悬挂,两立柱依据屏体的悬挂要求搭建。
5)为保持屏幕清洁,安装完毕后应覆盖薄膜保护。不要用手触摸幕面,不要用硬物画伤幕面。
最新精品资料介绍
全文件共计5000多个,建议弄一套,绝对有帮助!
文章中的PPT方案,全部赠送了,共计400个PPT,6套完整图纸,316个行业标准规范及施工图集,word的方案60个,施工组织设计20个,工程量清单20个(带参考价格),图纸及素材162个,VISIO图块及拓扑图120个,项目管理及施工方案,实用性excel表格68个,投标方案及施工组织设计等等。
*请认真填写需求信息,我们会在24小时内与您取得联系。