• Clappr——开源的Web视频播放器


    巴西著名的门户网站Globo.com(视 频播放器),使用的是基于OSMF的Flash组件。在最近几年的发展过程中,Globo为视频平台陆续添加了不少额外功能,例如: 字幕,广告,画中画播放等。然而,由于缺乏针对视频平台进行维护的专门小组,网站工程师之一的FlávioRibeiro越来越感觉这个平台落后和难以应 付不断增长的在线访问需求了。特别是今年,世界杯第二次来到足球王国,Globo将面临的是激增的赛事回放点击。有鉴于此,Ribeiro与同事们决定对 播放器进行升级改造。在进行一番验证测试后,决定以Clappr为基础再进行其它插件功能开发。

      Clappr是一款开源可扩展的Web视频播放器,容易上手和进行扩展并且有丰富的文档支持。改造后,视频流堆栈由HLS替代为RTMP,回放方式新增了HTML5直接播放。

    Globo改版前的播放画面 

    Clappr架构:

      以基于组件的软件工程理论为指导,Ribeiro团队列出了Clappr三个主要的插件:

      1.  回放插件

      用于播放某个视频资源。Clappr会遍历所有的回放插件直至找到能正确播放的插件。

      2.  容器插件

      每个回放都与一个容器关联。多数情况下一个容器与一个资源回放匹配并被实例化。监听事件包括播放/停止,进度条,水印等等。

      3.  核心插件

      该部分插件承载了核心控制功能。例如画中画功能,核心插件能够实例化两个容器,在Z轴方向把次要窗口缩小播放。

     外部插件

      Clappr的插件生成器能够让开发者非常方便地创建自己的外部插件。Ribeiro利用它创建了BemTV插件,实现了基于回放-容器插件的P2P统计功能。此外,Globo还推出了部分特色插件,例如进度条控制,缩略图浏览等等。

      技术支持

    • Traceur:进行EcmaScript 6代码编写;
    • Browserify:进行模块化加载,类似于node的require()方式;
    • KarmaSinonMocha功能测试;
    • Gulpjs::前端构建工具(创建,上传等等)。
  • 相关阅读:
    jQuery 选择器:元素选择器、#id 选择器、.class 选择器
    jQuery 语法:文档就绪事件
    jQuery 安装:多种方法在网页中添加 jQuery
    jQuery 简介:什么事jQuery?为什么要学jQuery?
    SQL 快速参考:SQL语句语法
    SQL FORMAT() 函数:对字段的显示进行格式化
    Mybatis-Plus逻辑删除
    Mybatis-Plus中的ActiveRecord
    Mybatis-Plus使用Oracle的序列
    SpringBoot整合Mybatis-Plus
  • 原文地址:https://www.cnblogs.com/LoveOrHate/p/4471293.html
Copyright © 2020-2023  润新知