本发明涉及互联网技术领域,具体涉及一种基于HTML5的弹幕播放器及其方法。

背景技术:

弹幕是指一种在观看视频时,大量以字幕(有且不限于文字和图片)形式呈现的评论与视频同在一个画面的现象。在视频上方大量飘过的评论如密集炮弹一般,故得名弹幕。弹幕会随着视频的播放实时在视频上呈现,这样观看者在观看该视频时能够看到其他观看者和自己发送的弹幕。

HTML5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改,“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。HTML5本身是由W3C推荐的。

是 HTML 5 中的新标签,其作用是在浏览器页面中嵌入视频元素,定义视频,比如电影片段或其他视频流,该标签对外提供一系列的接口方法供外部控制视频

Web服务器一般指网站服务器,也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。

技术实现要素:

本发明的目的在于提供一种基于HTML5的弹幕播放器及其方法,使用户在观看视频的同时能够方便地看到其他用户对于该视频当前时间点的评论,提高视频的观看趣味和体验,并可以让用户对弹幕的内容、表现方式进行控制,达到人性化体验。

为了达到上述目的,本发明通过以下技术方案实现:

一种基于HTML5的弹幕播放器,其特征是,用于同步实现浏览器中的弹幕与视频播放,该基于HTML5的弹幕播放器包含:

视频播放器创建模块,用于在浏览器页面中创建视频标签作为视频播放器,并向网站服务器获取视频ID对应的视频流以及弹幕文件;

弹幕容器创建模块,用于在视频播放器上创建一个弹幕容器,供弹幕在视频播放器上展示;

弹幕信息输入模块,用于在浏览器页面上创建一个弹幕输入区域,供用户输入弹幕信息,并将用户输入的弹幕信息更新到网站服务器的弹幕文件中;

弹幕渲染管理模块,用于将当前用户输入的弹幕信息以及当前视频播放时刻对应的弹幕文件中的弹幕信息转化为弹幕后展示到弹幕容器中,或根据用户要求暂停弹幕展示;

网站服务器,用于根据用户发出的视频播放请求,向用户发送视频播放器创建模块、弹幕容器创建模块以及弹幕信息输入模块的创建逻辑文件,并提供视频流地址以及弹幕信息;

控制模块,用于创建一个控制区域,用户通过对控制区域的操作来实现所述视频流的播放、暂停、跳转、弹幕开关。

上述的基于HTML5的弹幕播放器,其中:

所述控制模块还可根据用户操作来控制弹幕显示方位、音量、播放窗口大小、发送弹幕设置、视频设置、弹幕列表。

上述的基于HTML5的弹幕播放器,其中:

所述的视频播放器为在浏览器页面中占据一个宽度和高度可自由设定的矩形大小的空间。

上述的基于HTML5的弹幕播放器,其中:

弹幕展现运动方式为在弹幕容器中以一定方向滚动展示或静止在弹幕容器的上/下方或一定时间后消失。

上述的基于HTML5的弹幕播放器,其中:

所述的弹幕容器为一个与视频播放器大小相同的透明区域。

一种基于HTML5的弹幕播放器的弹幕方法,其特征是,包含以下步骤:

S1、网站服务器根据用户发出的视频播放请求,在浏览器中创建视频播放器、弹幕容器、弹幕输入区域以及用户控制区域,并提供对应的视频流以及弹幕文件;

S2、用户播放视频,网站服务器判断播放器的播放状态以及弹幕开关状态,根据用户选择按所需视频播放模式进行视频播放和弹幕。

上述的基于HTML5的弹幕播放器的弹幕方法,其中,所述的步骤S2具体包含:

S21、播放器开始播放;

S22、网站服务器对每帧都进行一个判断,如果弹幕文件中有当前时间的弹幕,则取出,并展现在弹幕容器上,当用户发送弹幕时,直接展现在弹幕容器中;

S23、播放器暂停播放时,停止每帧的判断,并停止当前弹幕容器中的弹幕运动;播放器关闭弹幕时,停止每帧的判断,清除弹幕容器中的弹幕;播放器重新开启弹幕时,重新开始S22中每帧的判断;播放器跳转时间开始播放时,清除弹幕容器中的弹幕,并重新开始S22中每帧的判断;播放器播放完毕时,停止每帧的判断,并停止当前弹幕容器中的弹幕运动

本发明与现有技术相比具有以下优点:使用户在观看视频的同时能够方便地看到其他用户对于该视频当前时间点的评论,提高视频的观看趣味和体验,并可以让用户对弹幕的内容、表现方式进行控制,达到人性化体验。

附图说明

图1为本发明的系统框图;

图2为本发明的方法流程图。

具体实施方式

以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。

如图1、2所示,本发明公开了一种基于HTML5的弹幕播放器,用于同步实现浏览器中的弹幕与视频播放,该基于HTML5的弹幕播放器具体包含由网站服务器1(或Web服务器)、视频播放器创建模块2、弹幕容器创建模块3、弹幕信息输入模块4、弹幕渲染管理模块5以及控制模块6。所述的网站服务器1用于根据用户发出的视频播放请求,向用户发送视频播放器创建模块、弹幕容器创建模块以及弹幕信息输入模块的创建逻辑文件,并提供视频流地址以及弹幕信息。

所述的视频播放器创建模块2用于在浏览器页面中创建视频标签作为视频播放器,并向网站服务器1获取视频ID对应的视频流以及弹幕文件,通常,用户新建稿件时,网站服务器1会分配一个唯一的编号标识此稿件aid,每个稿件可以上传多段视频,每段视频分配一个唯一的编号标识此视频cid,并用此cid生成一个空弹幕列表,在该段视频内发送的弹幕会存储到对应cid的弹幕列表;用户通过稿件aid和视频标识cid访问一个确定视频,网站服务器1返回对应的视频流地址和弹幕文件地址。本发明的一实施例中,所述的视频播放器为在浏览器页面中占据一个宽度和高度可自由设定的矩形大小的空间。

所述的弹幕容器创建模块3用于在视频播放器上创建一个弹幕容器,供弹幕在视频播放器上展示;弹幕容器可以自定义展示位置,一般是展现层级比视频播放器层级高的一块等宽等高矩形区域,可以是一个普通的div标签元素,也可以是一块canvas画布,弹幕的绘制方式实现了多种不同的方式。本实施例中,所述的弹幕容器为一个与视频播放器大小相同的透明区域。

所述的弹幕信息输入模块4用于在浏览器页面上创建一个弹幕输入区域,供用户输入弹幕信息,并将用户输入的弹幕信息更新到网站服务器1的弹幕文件中;从弹幕发送到更新至弹幕文件的过程中有两层可配置的过滤逻辑:第一层是判断用户是否有发送权限,输入的弹幕字数是否超过限制、是否被弹幕的屏蔽规则命中,然后发送到网站服务器1,网站服务器1再进行上述验证,才会添加到弹幕文件。

所述的弹幕渲染管理模块5用于将当前用户输入的弹幕信息以及当前视频播放时刻对应的弹幕文件中的弹幕信息转化为弹幕后展示到弹幕容器中,或根据用户要求暂停弹幕展示,弹幕的渲染支持多种方式实现,CSS,CSS3,Canvas,在不同浏览器下的支持程度和效率不一,可以通过浏览器种类选用效率最高的一种,弹幕的展现方式支持多种方式实现,有顶部弹幕、底部弹幕、滚动弹幕、逆向弹幕,其中滚动弹幕使用了碰撞检测方式,可保证优雅的展现方式。本实施例中,弹幕展现运动方式为在弹幕容器中以一定方向滚动展示或静止在弹幕容器的上/下方或一定时间后消失。

所述的控制模块用于创建一个控制区域,通常是在视频播放器上或浏览器上创建一个控制区域,控制区域中包含各种表单或按钮,用户通过对控制区域的操作来实现所述视频流的播放、暂停、跳转、弹幕开关,还可以提供弹幕显示方位、音量、播放窗口大小、发送弹幕设置、视频设置、弹幕列表的控制;本实施例中,网站服务器1以及弹幕渲染管理模块5根据控制模块6中反应的用户操作需求进行响应进而实现相应的控制功能。

本发明还公开了一种基于HTML5的弹幕播放器的弹幕方法,其包含以下步骤:

S1、网站服务器根据用户发出的视频播放请求,在浏览器中创建视频播放器、弹幕容器、弹幕输入区域以及用户控制区域,并提供对应的视频流以及弹幕文件;

S2、用户播放视频,网站服务器判断播放器的播放状态以及弹幕开关状态,根据用户选择按所需视频播放模式进行视频播放和弹幕。

上述的基于HTML5的弹幕播放器的弹幕方法,其中,所述的步骤S2具体包含:

S21、播放器开始播放;

S22、网站服务器对每帧(1/60秒)都进行一个判断,如果弹幕文件中有当前时间的弹幕,则取出,并展现在弹幕容器上,当用户发送弹幕时,直接展现在弹幕容器中;

S23、播放器暂停播放时,停止每帧的判断,并停止当前弹幕容器中的弹幕运动;播放器关闭弹幕时,停止每帧的判断,清除弹幕容器中的弹幕;播放器重新开启弹幕时,重新开始S22中每帧的判断;播放器跳转时间开始播放时,清除弹幕容器中的弹幕,并重新开始S22中每帧的判断;播放器播放完毕时,停止每帧的判断,并停止当前弹幕容器中的弹幕运动。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

直播弹幕 html5,一种基于HTML5的弹幕播放器及其方法与流程相关推荐

  1. html5填空题阅卷,一种基于图像识别的填空题自动阅卷方法与流程

    本发明涉及自动阅卷技术领域,尤其涉及一种基于图像识别的填空题自动阅卷方法. 背景技术: 随着电子信息的发达,越来越多的工作被计算机取代,例如,自动阅卷已经逐渐取代人工阅卷. 现有的自动阅卷系统,更多的 ...

  2. html5音频剪辑,一种基于HTML5Canvas画布音视频分段剪辑方法与流程

    技术特征: 1.一种基于html5canvas画布音视频分段剪辑方法,其特征在于:包括如下步骤: 步骤一:首先使用者预先获取源音视频文件,然后使用者对音视频文件分段剪辑时,进入音视频文件分段剪辑主单元 ...

  3. oracle自动售票服务器,一种基于Oracle数据库客户端的业务自动处理方法与流程

    技术领域 本发明涉及计算机技术领域,具体地说是一种实用性强.基于Oracle数据库客户端的业务自动处理方法. 背景技术: 在实现预约挂号的移动应用中,由于医院业务系统处理缺失自动取消预约功能,经常需要 ...

  4. linux ipmitool检测内存,一种基于ipmitool工具循环侦测内存的方法与流程

    本发明涉及服务器技术领域,具体的说是一种基于ipmitool工具循环侦测内存的方法. 背景技术: 随着计算机技术的发展,计算机已经广泛应用于生活.工作中各个领域,对计算机计算处理能力和存储能力也提出了 ...

  5. aes子密钥生成c语言_一种基于流密码算法的子密钥生成方法与流程

    本发明涉及一种用于分组加解密算法的子密钥的生成方法. 背景技术: 随着信息技术的发展,信息安全性的问题却愈来愈显得突出,保证信息安全的一个重要技术就是密码学.密码学在信息安全技术中扮演着基础的角色,是 ...

  6. sar图像去噪matlab,一种基于总曲率的SAR图像变分去噪方法与流程

    本发明属于数字图像处理技术领域,具体涉及一种基于总曲率的SAR图像变分去噪方法. 背景技术: : 相干斑噪声是合成孔径雷达(Synthetic Aperture Radar,简称SAR)图像的重要特征 ...

  7. 电容屏物体识别_一种基于触摸屏触摸点的物体识别方法与流程

    本发明涉及触摸屏触摸点物体识别技术领域,具体为一种基于触摸屏触摸点的物体识别方法. 背景技术: 多触点触摸屏支持多个触点同时输入,通过触摸屏的点的特征,进行物体识别是一个成熟的技术,以下简称物体识别为 ...

  8. 企业微信推送消息延迟_一种基于企业微信的消息推送方法与流程

    本发明涉及消息推送技术领域,特别涉及一种基于企业微信的消息推送方法. 背景技术: 随着微信公众号的普及,微信企业号也越来越受到人们的关注.而腾讯公司在微信企业号的基础上又进行了进一步的升级,提供了类似 ...

  9. 机器人测钢卷直径_一种基于关节机器人的冷轧钢卷卷芯焊接方法与流程

    本发明涉及冶金技术领域,特别涉及一种基于关节机器人的冷轧钢卷卷芯焊接方法. 背景技术: 在冷轧罩式退火工序,钢卷采用立式吊具吊运,为防止钢卷卷芯松动导致卷芯钢带损坏和抽芯故障,必须将钢卷卷芯内圈焊接固 ...

最新文章

  1. cordova 不安全 css,[译] CSS Flexbox 中安全/不安全的对齐方式
  2. 2018中国互联网企业100强揭晓!阿里巴巴名列榜首
  3. Python多线程详解
  4. 用Emacs进行Java开发
  5. 网络分析(带权并查集)
  6. 做自适应网站专业乐云seo_自适应网站方案品牌乐云seo
  7. python将整数逆序_python练手入门小项目:字符串的妙用
  8. 【今日CV 计算机视觉论文速览 第112期】Mon, 6 May 2019
  9. 贫穷的本质,是我们用太多时间在看手机
  10. Notification使用详解之二:可更新进度的通知
  11. 一个故事讲完CPU的工作原理
  12. 服务器lga771芯片组,LGA775主板改造用771 CPU教程
  13. 常微分方程——解的延拓性定理
  14. 爬楼梯 java_爬楼梯问题java实现
  15. mysql execute stmt_execute_prepared_stmt()
  16. ExtJS控件主要功能用法
  17. 中职升高职c语言程序设计教程课后答案,2020年高职单招计算机类技能复习题及答案(中职生)...
  18. android 静音与振动
  19. 打印的资料怎么装订成册?
  20. 关于运行opendaylight时client: JAVA_HOME not set; results may vary

热门文章

  1. optimizer(二) RMSProp
  2. 【redis】redis缓存穿透及解决方案|缓存穿透,缓存击穿,雪崩的理解
  3. 使用两个路由器共享上网的接法
  4. 【IoT】创业:如何找到可以主导的创业市场?
  5. PopupMenu源码分析
  6. Linux top命令使用详解
  7. C# 身份证正则,15位和18位组合正则
  8. 170+道钉钉前端扫盲知识点助你掌握前端基础
  9. DFS——深度优先搜索
  10. 简单的手机记事本怎么把内容标记为完成状态?