一种视频播放时长上报方法及显示设备与流程

文档序号:33701880发布日期:2023-03-31 19:57阅读:104来源:国知局
一种视频播放时长上报方法及显示设备与流程

1.本技术涉及通信领域,尤其涉及一种视频播放时长上报方法及显示设备。


背景技术:

2.随着显示设备的快速发展,显示设备的功能将越来越丰富,性能也越来越强大,目前,显示设备包括智能电视、手机、冰箱,以及其他带有智能显示屏幕的产品等。为了提高用户的体验,显示设备内配置有浏览器或原生app等,通过浏览器登录不同的网站以播放对应的视频,通过原生app播放对应的视频。
3.为便于预测用户的观看偏好或统计观看进度等,显示设备需要在用户观看视频过程中,向服务器上报用户的视频播放时长,以便于服务器预测用户的观看偏好或统计观看进度。目前,显示设备统计视频播放时长的方法通常是由开始播放时刻到退出播放时刻所对应的时长来计算。
4.但是,如果用户在视频观看过程中存在暂停、拖拽等动作,那么所统计的视频播放时长中将包括暂停时长和拖拽时长,并非用户实际观看的时长,导致显示设备向服务器上报的用户观看视频时长不精确。


技术实现要素:

5.本技术提供了一种视频播放时长上报方法及显示设备,以解决视频播放时长上报不准确问题。
6.第一方面,本技术提供了一种显示设备,包括:显示器,被配置为呈现视频播放页面;与所述显示器连接的控制器,所述控制器被配置为:
7.响应于播放所述视频播放页面中呈现的指定视频的启动指令,播放所述指定视频,以及,启动循环计时器,所述循环计时器在到达计时时长后执行重新启动动作,所述循环计时器的计时时长小于上报周期时长,所述上报周期时长是指显示设备向服务器上报一次视频播放时长的最大时长;
8.在所述指定视频的播放过程中,基于所述循环计时器的启动次数和循环计时器的计时时长,统计所述指定视频在本次上报周期内的视频播放时长,所述视频播放时长是指所述指定视频在本次上报周期内处于播放状态对应的时长;
9.在本次上报周期内统计的所述视频播放时长达到上报周期时长时,将所述指定视频的视频播放时长上报至服务器。
10.第二方面,本技术还提供了一种视频播放时长上报方法,所述方法包括:
11.响应于播放视频播放页面中呈现的指定视频的启动指令,播放所述指定视频,以及,启动循环计时器,所述循环计时器在到达计时时长后执行重新启动动作,所述循环计时器的计时时长小于上报周期时长,所述上报周期时长是指显示设备向服务器上报一次视频播放时长的最大时长;
12.在所述指定视频的播放过程中,基于所述循环计时器的启动次数和循环计时器的
计时时长,统计所述指定视频在本次上报周期内的视频播放时长,所述视频播放时长是指所述指定视频在本次上报周期内处于播放状态对应的时长;
13.在本次上报周期内统计的所述视频播放时长达到上报周期时长时,将所述指定视频的视频播放时长上报至服务器。
14.第三方面,本技术还提供了一种存储介质,该存储介质可存储有程序,该程序执行时可实现包括本技术提供的视频播放时长上报方法各实施例中的部分或全部步骤。
15.由以上技术方案可知,本发明实施例提供的一种视频播放时长上报方法及显示设备,在开始播放指定视频时,同步启动一个循环计时器。在循环计时器达到计时时长后执行重新启动,在视频播放过程中,基于在本次上报周期内循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内处于播放状态的视频播放时长。并在视频播放时长满足上报周期时长时,将对应的视频播放时长统计值上报至服务器,完成一个上报周期的时长数据上报。可见,本技术上报的视频播放时长仅统计处于播放状态的视频有效播放时长,且循环计时器的计时时长小于上报周期时长,如果在视频播放过程中存在中止播放操作时,销毁的仅是当时未执行完成的循环计时器,即视频播放时长统计的误差最多为循环计时器的计时时长,可以保证视频播放时长的统计准确性,进而保证浏览器端向服务器上报视频播放时长的精确度。
附图说明
16.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1示出了根据一些实施例的智能控制设备与控制装置之间操作场景的示意图;
18.图2示出了根据一些实施例的智能控制设备200的硬件配置框图;
19.图3示出了根据一些实施例的控制设备100的硬件配置框图;
20.图4示出了根据一些实施例的智能控制设备200中软件配置图;
21.图5示出了根据一些实施例的视频播放时长上报方法的流程图;
22.图6示出了根据一些实施例的视频播放时长上报方法的数据流图;
23.图7示出了根据一些实施例的视频播放时长上报方法的交互图;
24.图8示出了根据一些实施例的视频列表页面的示意图;
25.图9示出了根据一些实施例的视频播放页面的示意图;
26.图10示出了根据一些实施例的指定视频执行暂停播放时的示意图;
27.图11示出了根据一些实施例的指定视频执行拖拽播放时的示意图。
具体实施方式
28.为使本技术的目的和实施方式更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。
29.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和
通常的含义理解。
30.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
31.术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
32.术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
33.在智能控制设备为显示设备时,基于显示设备的结构进行介绍。
34.图1示出了根据一些实施例的智能控制设备的使用场景。如图1所示,智能控制设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作智能控制设备200。
35.在一些实施例中,控制装置100可以是遥控器,遥控器和智能控制设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制智能控制设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制智能控制设备200。
36.在一些实施例中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑,ar/vr设备等中的任意一种。
37.在一些实施例中,也可以使用智能设备300以控制智能控制设备200。例如,使用在智能设备上运行的应用程序控制智能控制设备200。在一些实施例中,也可以使用智能设备300和智能控制设备进行数据的通信。
38.在一些实施例中,智能控制设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过智能控制设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过智能控制设备200设备外部设置的语音控制装置来接收用户的语音指令控制。
39.在一些实施例中,智能控制设备200还与服务器400进行数据通信。可允许智能控制设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向智能控制设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
40.在一些实施例中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的智能控制设备上执行,反之亦然。
41.图2示出了根据一些实施例的控制装置100的硬件配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为智能控制设备200可识别和响应的指令,起用用户与智能控制设备200之间交互中介作用。
42.在一些实施例中,通信接口130用于和外部通信,包含wifi芯片,蓝牙模块,nfc或可替代模块中的至少一种。在一些实施例中,用户输入/输出接口140包含麦克风,触摸板,
传感器,按键或可替代模块中的至少一种。
43.图3示出了根据一些实施例的智能控制设备200的硬件配置框图。参见图3,在一些实施例中,智能控制设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。在一些实施例中,控制器包括中央处理器,视频处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。
44.在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控ui界面等。在一些实施例中,显示器260可为液晶显示器、oled显示器、以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。
45.在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制智能控制设备的工作和响应用户的操作。控制器250控制智能控制设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
46.在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。
47.在一些实施例中控制器包括中央处理器(central processing unit,cpu),视频处理器,音频处理器,图形处理器(graphics processing unit,gpu),ram random access memory,ram),rom(read-only memory,rom),用于输入/输出的第一接口至第n接口,通信总线(bus)等中的至少一种。
48.在一些实施例中,用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
49.在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素中的至少一种。在一些实施例中,用户接口280,为可用于接收控制输入的接口(如:智能控制设备本体上的实体按键,或其他等)。
50.图4示出了根据一些实施例的智能控制设备200中软件配置图。参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(applications)层(简称“应用层”),应用程序框架(application framework)层(简称“框架层”),安卓运行时(android runtime)和系统库层(简称“系统运行库层”),以及内核层。
51.在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是
操作系统自带的窗口(window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。
52.框架层为应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过api接口,可在执行中访问系统中的资源和取得系统的服务。
53.如图4所示,本技术一些实施例中应用程序框架层包括管理器(managers),提供器(content provider)、网络管理系统等,其中管理器包括以下模块中的至少一个:活动管理器(activity manager)用与和系统中正在运行的所有活动进行交互;位置管理器(location manager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(package manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(notification manager)用于控制通知消息的显示和清除;窗口管理器(window manager)用于管理用户界面上的图标、窗口、工具栏、壁纸和桌面部件。
54.在一些实施例中,为了提高用户的体验,显示设备内配置有浏览器或原生app等,通过浏览器登录不同的网站以播放对应的视频,通过原生app播放对应的视频。
55.在利用浏览器登录知识学习网站时,通常需要统计用户观看的视频时长,那么终端(包含浏览器端、原生app端等用户实际使用的终端)就需要在用户观看视频过程中,上报用户观看的视频时长。或者,在利用浏览器登录视频网站时,为便于预测用户的观看偏好或统计观看进度等,显示设备也需要在用户观看视频过程中,向服务器上报用户的视频播放时长。
56.在进行视频播放时长统计和上边时,如果是原生app可以将详细的用户操作记录:播放了多长时间、暂停了多长时间等等,存在设备本地,通过后台计算服务去定时上报,即使离开播放页面也不会丢失。但是,对于浏览器端无法执行可靠的存储用户操作,并且即使暂存也非常容易被篡改。因此,对于浏览器需要采用其他不同于原生app的上报方式。
57.目前,配置浏览器的终端统计和上报观看时长有多种方法,例如可采用实时统计和上报方法,即每秒钟上报一次。这种方式虽然可以得到非常精确的统计结果,但是服务器接口都会有并发(每秒请求数)限制,不允许终端过于频繁的调用接口。因此,终端可替换采用非实时上报的方案。
58.而采用非实时上报方法时,由于服务器端接口要求每个终端调用接口的间隔不少于预设间隔(如30s),那么终端往往会设定一个30s的循环定时器,每隔30s定时器执行完成后触发一次上报操作,即上报周期时长为30s。但是,由于在视频播放过程中,如果用户对视频执行暂停、拖拽或者中间退出等操作,这个循环定时器都会被销毁,造成中间部分视频播放时长数据的丢失,导致用户观看视频的视频播放时长统计结果出现误差,并非用户实际观看的时长,使得显示设备向服务器上报的用户观看视频时长不精确。示例性,如果在一个30s周期开始后的第10秒发生了拖拽,定时器会被销毁并在拖拽后重新设置来进行计时。由于这10s时间未达到上报周期时长,因此终端不会将这10s观看时间进行上报,使得用户观看视频的视频播放时长统计结果出现10s误差。
59.为此,为保证显示设备能够向服务器侧上报准确的用户观看视频时产生的视频播放时长,本发明实施例提供一种显示设备,在执行视频播放时长上报方法时,改进浏览器端
观看视频过程中上报进度的方法,在视频开始播放时,设定一个短时间(如1秒)的循环计时器,即使用户对该视频进行暂停或拖拽等操作,也仅销毁了当时未执行完成的1秒计时器,即视频播放时长统计的误差最多为循环计时器的计时时长(如1秒),同时设置一个上报计数器,在循环计时器成功计时预设次数(30次)后进行观看时长的上报。可见,本技术采用的方式增加浏览器端用户观看视频时长上报精确度,同时没有额外增加服务器端的并发压力,保证视频播放的稳定性。
60.图5示出了根据一些实施例的视频播放时长上报方法的流程图;图6示出了根据一些实施例的视频播放时长上报方法的数据流图;图7示出了根据一些实施例的视频播放时长上报方法的交互图。本发明实施例提供的一种显示设备,包括:显示器,被配置为呈现视频播放页面;与显示器连接的控制器,在执行图5、图6和图7所示的视频播放时长上报方法时,控制器被配置为执行下述步骤:
61.s1、响应于播放视频播放页面中呈现的指定视频的启动指令,播放指定视频,以及,启动循环计时器,循环计时器在到达计时时长后执行重新启动动作,循环计时器的计时时长小于上报周期时长,上报周期时长是指在每个上报周期内显示设备向服务器上报一次视频播放时长的最大时长。
62.在显示设备内配置浏览器时,启动浏览器,在用户界面中呈现浏览器主页,在浏览器主页即可登录任一网站,以展示网站对应的页面。例如,通过浏览器登录知识学习网站时,同步生成视频列表页面,展示在显示器中。视频列表页面中呈现有可进行播放的数个视频,用户选择其中一个视频即可进行播放。
63.图8示出了根据一些实施例的视频列表页面的示意图。参见图8,启动浏览器并登录知识学习网站后,生成视频列表页面,视频列表页面中呈现数个视频,用户选择其中一个进行播放的视频即为待播放的指定视频。
64.图9示出了根据一些实施例的视频播放页面的示意图。参见图9,用户通过语音或遥控器触发指定视频(视频5),产生启动指令,浏览器响应该启动指令,基于指定视频生成视频播放页面,展示在用户界面中,实现指定视频的播放。此时,用户界面的展示内容由视频列表页面切换为视频播放页面进行展示。
65.视频播放时长是指视频实际有效播放时对应的有效累积时长,有效播放是指按照视频的时间轴进行播放的状态,不包括暂停期间、拖拽期间或中间退出又重进期间等状态;视频播放时长相当于用户实际观看视频内容的累积时长。为便于准确统计指定视频的视频播放时长,在用户开始播放一个视频时,设定视频播放时长watchtime=0,以及,设定一个短时间的循环计时器。示例性的,循环计时器的计时时长可为1秒,也可根据实际应用情况设定为其他数值,此处不进行限定。
66.循环计时器是指基于计时时长进行重复启动的计时器,即在循环计时器开始计时时,在经过计时时长后,循环计时器执行一次重新启动动作,相当于重新启动一个新的循环计时器。例如,如果循环计时器为1秒的计时器,则每隔1秒重新启动一个新的循环计时器;而新启动的下一个循环计时器再重新计时,并在达到计时时长后,再启动一个新的循环计时器,依此类推。
67.也就是说,在视频播放过程中,循环计时器每隔计时时长(1秒)均会重新启动一次。而视频播放时长从0开始统计,因此,视频播放时长可基于循环计时器的计时时长和启
动次数进行统计。
68.在一些实施例中,为避免视频过程中暂停、拖拽或中间退出等中止播放操作,影响视频播放时长的统计准确性,可设定循环计时器的计时时长小于上报周期时长,上报周期时长是指显示设备向服务器上报一次视频播放时长的最大时长。
69.由于在视频播放过程中,如果用户对视频产生暂停、拖拽或中间退出等中止播放操作,在产生相应操作的时刻对应的循环计时器会被销毁,则该循环计时器对应的时间不再统计到视频播放时长中。因此,采用设定循环计时器的计时时长小于上报周期时长的方案,可在销毁某个循环计时器时,尽可能地减少销毁某个或某数个循环计时器时对视频播放时长统计准确性的影响。可见,在存在中止播放操作时,销毁的仅是当时未执行完成的1秒计时器,即视频播放时长统计的误差最多为循环计时器的计时时长(如1秒),可以保证视频播放时长的统计准确性,进而保证浏览器端向服务器上报视频播放时长的精确度。
70.在一些实施例中,上报周期时长可设定为服务器端接口要求每个终端显示设备调用接口的预设间隔的时长,例如,在终端显示设备调用接口的预设间隔为30秒时,显示设备向服务器上报一次视频播放时长的上报周期时长也可设定为30秒,相当于视频播放时长的最大数值为30s。
71.显示设备按照上报周期向服务器发送统计的浏览器播放视频产生的视频播放时长,此时,显示设备调用服务器接口以触发上报进程的触发条件为基于上报周期实现时长上报,无需考虑系统时间,即在统计的时长达到上报周期对应的时长即可执行一次上报。
72.也就是说,可进行上报的视频播放时长的总时长相当于上报周期时长,即上报周期为视频播放时长达到上报周期时长的时刻,一个上报周期的初始时刻为开始统计视频播放时长的时刻,一个上报周期的结束时刻为视频播放时长达到上报周期时长的时刻,例如,上报周期时长为30秒,则显示设备每次(即每个上报周期)上报30秒的时长,依此循环。
73.在一些实施例中,循环计时器的启动不仅应用在指定视频的初始播放时刻,还可应用在任一暂停后再继续播放的时刻、通过拖拽实现快进或快退的完成时刻,以及,中间退出又重新进入视频播放页面继续播放指定视频的时刻。因此,凡导致指定视频中止播放后,又继续播放的情况,均会重新启动一个循环计时器,即循环计时器执行一次重新启动动作。
74.s2、在指定视频的播放过程中,基于循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内的视频播放时长,视频播放时长是指在本次上报周期内指定视频处于播放状态对应的时长。
75.由于显示设备向服务器上报视频播放时长是按照上报周期依次上报,那么,显示设备统计的视频播放时长是指在本次上报周期内指定视频处于播放状态对应的时长,相当于是本次上报周期中视频播放器的播放时长。播放器用于实现浏览器中呈现指定视频的播放。
76.在视频播放过程中,从视频开始播放时设定视频播放时长watchtime=0,并启动一个循环计时器,在达到计时时长t后,视频播放时长watchtime=watchtime+t,依此类推。因此,视频播放时长可基于循环计时器的计时时长和启动次数进行统计。
77.如果指定视频一直按照时间轴处于播放状态,则循环计时器每隔计时时长都会重新启动一次,那么视频播放时长的统计值随着经过的循环计时器的计时时长的个数累积。
78.例如,如果指定视频一直处于播放状态,从开始播放时刻视频播放时长watchtime
=0开始统计,循环计时器的计时时长为t,循环计时器每经过计时时长为t均会重新启动一次。若循环计时器重新启动n次,则视频播放时长执行n次watchtime=watchtime+t的循环统计过程,则相当于视频播放时长的统计值为n
×
t。
79.在一些实施例中,在循环计时器的计时时长t=1时,随着视频的播放,每隔1秒重新启动一次循环计时器,则视频播放时长执行一次watchtime=watchtime+1的循环统计过程;若循环计时器重新启动n次,则视频播放时长的统计值为n
×
1。在循环计时器的计时时长t=0.5时,随着视频的播放,每隔0.5秒重新启动一次循环计时器,则视频播放时长执行一次watchtime=watchtime+0.5的循环统计过程;若循环计时器重新启动n次,则视频播放时长的统计值为n
×
0.5。以此方法循环统计视频播放时长的统计值。
80.由于如果在视频播放过程中存在中止播放操作,相应操作的发生时刻对应的循环计时器会被销毁,即对应的计时时长不会统计到视频播放时长的统计值中,因此,在统计视频播放时长时只统计视频处于播放状态时对应的时长。中止播放操作用于使得指定视频由播放状态切换为非播放状态。
81.s3、在本次上报周期内统计的视频播放时长达到上报周期时长时,将指定视频的视频播放时长上报至服务器。
82.由于一个视频的总时长通常较长,用户可能不会完整观看,或者跳转播放,因此,为保证视频播放时长的上报准确性,显示设备不会将用户观看指定视频的总视频播放时长统一上报至服务器,而是按照一定的周期上报一次。
83.由于服务器端接口要求显示设备调用接口的间隔不少于预设间隔(如30s),那么显示设备端设定的上报周期时长可为上述服务器的接口允许被调用的预设间隔对应的时长。上报周期时长是指在每个上报周期内显示设备向服务器上报一次视频播放时长的最大时长,例如,在上报周期时长为30s时,显示设备在统计视频播放时长达到30s后触发一次上报操作,此时,上报的时长为30s。
84.显示设备按照上报周期依次向服务器上报统计的视频播放时长,相邻两个上报周期没有固定的时间间隔,只需满足服务器端接口的调用即可。例如,如果相邻两个上报周期为依次统计的周期,且该两个上报周期内用户并没有基于指定视频产生中止播放操作,则这两个周期的时间间隔即为上报周期时长,如30s。如果在这两个上报周期内存在用户基于指定视频产生中止播放操作,那么在指定视频处于中止播放时,视频播放时长统计进程暂停,而系统时间在流逝,使得这两个周期的时间间隔大于上报周期时长,如时间间隔大于30s。
85.因此,在视频播放过程中,随着视频播放时长的统计,实时将当前统计的视频播放时长的统计值与上报周期时长进行对比,如果视频播放时长的统计值达到上报周期时长,则说明显示设备端可向服务器上报一次时长数据,即完成一个上报周期;如果视频播放时长的统计值未达到上报周期时长,继续执行上述的循环统计过程,直到视频播放时长的统计值达到上报周期时长时执行一次上报过程。
86.在视频播放时长的统计值达到上报周期时长时,调用服务器的接口,将当前统计的本次上报周期内指定视频的视频播放时长上报至服务器,完成一次时长上报过程。
87.在一些实施例中,显示设备的上报周期时长t大于循环计时器的计时时长t。
88.在一些实施例中,视频播放时长watchtime在达到上报周期时长t后执行上报过
程,因此,视频播放时长watchtime的统计值相当于上报周期时长t,即相当于一个上报周期的总时长。
89.例如,在显示设备向服务器上报一次视频播放时长的上报周期时长设定为30秒时,如果显示设备统计的视频播放时长达到30秒,则显示设备调用服务器端接口进行一次时长上报过程。此时,显示设备上报的视频播放时长为30秒,完成一个上报周期。
90.在一些实施例中,显示设备向服务器上报一次视频播放时长的过程即为一个上报周期。一个上报周期的初始时刻为开始统计视频播放时长的时刻,即开始播放视频的时刻。在开始播放视频时,设定视频播放时长watchtime=0,以及,启动第一个循环计时器的时刻,以进行视频播放时长的实时统计;一个上报周期的结束时刻为视频播放时长的统计值达到上报周期时长的时刻。
91.例如,开始播放视频时,计时开始,即在视频播放时长的统计值为0时,为一个上报周期的开始时刻,在视频播放时长的统计值达到30秒时为一个上报周期的结束时刻。在上报周期的结束时刻,显示设备开始向服务器上报本次统计的视频播放时长,即显示设备每上报30秒的时长即为一个上报周期,依此循环上报。
92.可见,本发明实施例提供的一种显示设备,在开始播放指定视频时,同步启动一个循环计时器。在循环计时器达到计时时长后重新启动,在视频播放过程中,基于循环计时器的启动次数和计时时长,统计本次上报周期内指定视频处于播放状态的视频播放时长。并在视频播放时长满足时长上报条件后,将满足上报周期时长的视频播放时长统计值上报至服务器。循环计时器的计时时长小于上报周期时长,如果在视频播放过程中存在中止播放操作时,销毁的仅是当时未执行完成的当前循环计时器,即视频播放时长统计的误差最多为循环计时器的计时时长(如1秒),可以保证视频播放时长的统计准确性,进而保证浏览器端向服务器上报视频播放时长的精确度。
93.在一些实施例中,用户在观看指定视频时,可能会存在无法持续观看视频,例如,因意外情况需暂停播放视频;或者有些视频内容没看清楚需要重复播放;或者当前播放内容用户不感兴趣,需要快进播放;或者播放中途因网络意外或用户自发退出浏览器而又重新进入视频播放页面等情况。
94.上述任一种情况均会导致指定视频按照时间轴的播放进度中止,即存在上述任一中止播放操作时,均会打断指定视频的正常播放过程。
95.在视频播放过程中存在上述任一情况时,指定视频的播放被中止,此时,视频不再处于播放状态,那么在统计视频播放时长时,则无需统计产生中止播放操作所占据的时长。而为准确统计视频播放时长而启动的循环计时器,在存在上述任一中止播放操作时,相应时刻对应的循环计时器被销毁,并停止该时刻视频播放时长的统计进程。
96.在一些实施例中,在视频播放过程中,如果存在中止播放操作,则视频播放时长的统计进程停止,并在下一触发视频播放操作时继续统计,此时,控制器被进一步配置为:
97.步骤41、在指定视频播放过程中,接收对指定视频产生的中止播放操作,中止播放指定视频,以及,在中止开始时刻停止启动对应的循环计时器,暂停统计视频播放时长。
98.步骤42、接收对指定视频产生的继续播放操作,继续播放指定视频,以及,在中止结束时刻重新启动对应的循环计时器,基于中止播放操作之前统计的视频播放时长,继续统计视频播放时长,中止结束时刻是指产生继续播放操作的时刻。
99.在指定视频播放过程中,如果用户对该指定视频产生中止播放操作,则产生中止播放操作的时刻为中止开始时刻。中止播放操作是指使得指定视频不再处于播放状态的操作,即阻止浏览器播放指定视频的操作,该操作包括但不限定于暂停、拖拽、中间退出又重进等操作。
100.在产生中止播放操作时,中止播放指定视频,并将中止开始时刻对应的循环计时器销毁,即不再按照达到计时时长执行重新启动动作,也即在中止开始时刻之后不再重新启动新的循环计时器。
101.循环计时器不再重新启动,则对应视频播放时长的统计进程停止,即不再将被销毁的循环计时器对应的计时时长统计到视频播放时长中。
102.在一些实施例中,在用户对于指定视频产生继续播放操作时,则产生继续播放操作的时刻为中止结束时刻。从中止开始时刻至中止结束时刻之间的时段即为从用户对指定视频产生中止播放操作至继续播放操作的时段,也即用户产生的中止播放操作对阻止指定视频播放的时段。
103.在产生继续播放操作时,说明阻止浏览器播放指定视频的操作已消除,因此,可继续播放指定视频。为及时能够统计视频播放时长,保证其准确性,在产生继续播放操作的中止结束时刻重新启动对应的循环计时器,同时,基于中止播放操作之前统计的视频播放时长,继续统计视频播放时长。
104.例如,在播放指定视频时,如果按照时间轴播放到20秒时产生中止播放操作,则中止开始时刻即为第20秒。此时,第20秒的循环计时器被销毁,并停止视频播放时长的统计,即第20秒的循环计时器的计时时长不再累积到视频播放时长中。实际上,视频播放时长的统计值累积到第19秒对应的循环计时器的计时时长,即当前视频播放时长的统计值为前19个计时时长的时长总和。
105.如果经过n秒后用户产生继续播放操作,则继续播放指定视频,并同步启动一个循环计时器。此时,基于前19个计时时长对应的视频播放时长继续统计视频播放时长,即在到达计时时长后,当前在中止结束时刻启动的循环计时器的计时时长为视频播放时长统计值中的第20个计时时长。以此方法继续重新启动循环计时器,并基于对应的计时时长循环统计视频播放时长的统计值。
106.在一些实施例中,在中止播放操作为暂停操作时,用户对指定视频产生暂停操作的方式可为通过语音或触发遥控器暂停键来实现。以触发暂停键为例,在第一次触发暂停键时,产生暂停操作,则第一次触发暂停键的时刻为中止开始时刻,指定视频中止播放;在第二次触发暂停键时,产生继续播放操作,则第二次触发暂停键的时刻为中止结束时刻,指定视频继续播放。那么,从第一次触发暂停键至第二次触发暂停键之间的时段,即为暂停操作阻止指定视频播放的时段。
107.在一些实施例中,在中止播放操作为拖拽操作时,用户对指定视频产生拖拽操作的方式可为通过语音或触发遥控器方向键来实现,拖拽操作包括后退播放操作和快进播放操作。例如,触发向左方向键,产生后退播放操作;触发向右方向键,产生快进播放操作。以触发向右方向键为例,用户按下向右方向键时,该时刻为中止开始时刻,即产生拖拽操作,此时,指定视频中止播放;用户持续按下向右方向键一段时间后抬起,则抬起向右方向键的时刻为中止结束时刻,产生继续播放操作,并继续播放指定视频。此时,指定视频的播放内
容为快进n秒后对应的内容。那么,从按下向右方向键至抬起向右方向键之间的时段,即为拖拽操作阻止指定视频播放的时段。
108.在一些实施例中,在中止播放操作为中间退出又重进操作时,在指定视频播放过程中,用户关闭当前浏览器所呈现的视频播放页面,则产生关闭操作的时刻即为中止开始时刻,此时,浏览器执行关闭操作使得原处于播放状态的指定视频被退出播放。如果过一段时间后,用户再次重新启动浏览器并进入视频播放页面,则重新进入视频播放页面的时刻为中止结束时刻,产生继续播放操作,使得视频播放页面中的指定视频继续播放。那么,从对视频播放页面产生关闭操作至重新进入视频播放页面之间的时段,即为中间退出又重进操作阻止指定视频播放的时段。
109.在一些实施例中,在视频播放过程中,可以阻止浏览器播放视频的操作包括但不限于上述示例的几种,其他可同样产生中止播放的操作可相应采用上述方式统计视频播放时长,此处不再赘述。
110.在一些实施例中,浏览器统计用户观看视频的视频播放时长,实际上统计的是视频处于有效播放状态的时长,并不包括暂停、拖拽、中间退出又重进,乃至播放失败等非有效播放状态的时长。
111.在一些实施例中,如果在视频播放过程中,存在中止播放操作,由于在产生中止播放操作时视频播放时长的统计进行处于暂停状态,因此,为准确统计视频播放时长,需要采用分段统计方式。
112.此时,控制器在执行步骤s2,即基于循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内的视频播放时长,被进一步配置为执行下述步骤:
113.步骤21、在指定视频播放过程中,接收对指定视频产生的中止播放操作,基于在本次上报周期内视频播放时刻和中止开始时刻之间时段对应的循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内处于播放状态对应的第一视频播放时长。
114.步骤22、接收在本次上报周期内对指定视频产生的继续播放操作,从中止结束时刻开始,基于循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内处于播放状态对应的第二视频播放时长。
115.步骤23、计算第一视频播放时长和第二视频播放时长的总和,作为指定视频在本次上报周期内处于播放状态对应的视频播放时长。
116.在视频播放过程中,如果在本次上报周期内存在中止播放操作,则相应的视频播放时长的统计进行被中断,因此,为准确统计在本次上报周期内处于播放状态的指定视频的视频播放时长,可在产生中止播放操作的前后,分段统计视频播放时长。
117.在一些实施例中,如果基于指定视频在本次上报周期内产生中止播放操作时,指定视频停止播放,此时,中止开始时刻对应的循环计时器被销毁,即该循环计时器对应的计时时长不再累积到循环统计的在本次上报周期内的视频播放时长中。因此,在指定视频中止播放时,可从开始播放时刻到中止开始时刻,统计在本次上报周期内的第一段视频播放时长,即基于在本次上报周期内视频播放时刻和中止开始时刻之间时段对应的循环计时器的启动次数和循环计时器的启动次数计时时长,统计指定视频在本次上报周期内处于播放状态对应的第一视频播放时长。
118.如果是在初始统计阶段(如第一个上报周期),视频播放时刻是指开始播放视频的时刻。如果为后续统计阶段(如第n个上报周期),则视频播放时刻是指前一上报周期的结束时刻。在视频播放时刻,视频播放时长watchtime=0,启动的循环计时器为当前上报周期的第一个循环计时器。
119.在一些实施例中,在经过一段时间后,如果基于指定视频在本次上报周期内产生继续播放操作,则指定视频继续播放,此时,在中止结束时刻重新启动一个循环计时器,并基于循环计时器的启动次数和循环计时器的计时时长,统计重新播放阶段指定视频在本次上报周期内处于播放状态对应的第二视频播放时长。
120.此处,在计算第二视频播放时长中统计的循环计时器的启动次数是指从中止结束时刻后启动的循环计时器的次数,并非从视频播放时刻启动的循环计时器开始统计的总次数。
121.最后,将计算第一视频播放时长和第二视频播放时长的总和,即为指定视频在本次上报周期内处于播放状态对应的视频播放时长。由于按照此方法统计的视频播放时长中,不包括中止播放操作所占据的时长,而仅包括视频有效播放的时长,因此,统计的视频播放时长更为准确。
122.例如,在播放指定视频时,如果按照时间轴播放到20秒时产生中止播放操作,则中止开始时刻即为第20秒。此时,第20秒执行的循环计时器被销毁,并停止视频播放时长的统计,即第20秒执行的循环计时器的计时时长不再累积到视频播放时长中。实际上,第一视频播放时长的统计值从视频播放时刻(第0秒)到第19秒对应的循环计时器的计时时长进行累积,即累积前19个执行完成的循环计时器的计时时长,而第20个循环计时器未执行完成,因此不再进行累积,此时,第一视频播放时长的统计值为前19个计时时长的时长总和。如果计时时长为1秒,则第一视频播放时长watchtime1为19秒。
123.如果经过系统时间2分钟后用户产生继续播放操作,则继续播放指定视频,并同步启动一个循环计时器,同时继续基于当前时刻之后循环计时器的启动次数n和计时时长t,计算第二视频播放时长watchtime2为n
×
t。
124.最后,将在本次上报周期内中止播放操作前和继续播放操作后统计的视频播放时长进行求和,即计算第一视频播放时长(watchtime1为19秒)和第二视频播放时长(watchtime2为n
×
t)的总时长,作为指定视频在本次上报周期内处于播放状态对应的视频播放时长watchtime=watchtime1+watchtime2=19+n
×
t。
125.可见,在视频播放过程中,如果在同一上报周期内存在中止播放操作和继续播放操作,则将中止播放操作之前统计的视频播放时长与继续播放操作之后统计的视频播放时长进行累积,即在中止播放操作之前统计的视频播放时长基础上在继续播放操作之后继续统计视频播放时长,使得循环统计的视频播放时长均为视频有效播放的时长,统计的视频播放时长更为准确。
126.在一些实施例中,不同的中止播放操作的触发条件不同,因此,不同的中止播放操作对视频播放时长的统计过程不同。
127.在一些实施例中,在中止播放操作为暂停操作时,控制器在执行基于循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内的视频播放时长,被进一步配置为执行下述步骤:
128.步骤2011、在指定视频播放过程中产生的中止播放操作为暂停操作时,接收对指定视频产生的暂停操作,暂停播放指定视频。
129.步骤2012、在暂停开始时刻停止对应的循环计时器的启动动作,以及,基于在本次上报周期内视频播放时刻和暂停开始时刻之间时段对应的所述循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内处于播放状态对应的第一视频播放时长。
130.步骤2013、接收在本次上报周期内对指定视频产生的继续播放操作,继续播放指定视频,以及,在暂停结束时刻启动对应的循环计时器,基于循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内处于播放状态对应的第二视频播放时长,暂停结束时刻是指产生继续播放操作的时刻。
131.步骤2014、将第一视频播放时长和第二视频播放时长的总时长,作为指定视频在本次上报周期内的视频播放时长。
132.在指定视频播放过程中,如果在本次上报周期内用户需要对指定视频进行暂停播放,则用户对指定视频产生的中止播放操作为暂停操作。用户产生暂停操作的方式可为语音控制方式或触发遥控器暂停键方式。
133.以触发暂停键执行暂停操作为例,在第一次触发暂停键时,对指定视频产生暂停操作,则第一次触发暂停键的时刻为暂停开始时刻,指定视频暂停播放。而在产生暂停操作时,暂停开始时刻对应的循环计时器销毁,并在暂停开始时刻之后不再启动新的循环计时器。
134.由于循环计时器在达到计时时长后才会将该计时时长统计到视频播放时长中,即视频播放时长才会执行一次循环统计进程,而如果在某个循环计时器的计时过程中产生暂停操作,说明该循环计时器还未到达计时时长。因此,为保证视频播放时长的统计准确性,该循环计时器对应的计时时长不再累积到循环统计的视频播放时长中,即在暂停开始时刻视频播放时长的统计进程暂停。
135.因此,在指定视频暂停播放时,可在本次上报周期内的从视频播放时刻到暂停开始时刻,统计第一段视频播放时长,即基于在本次上报周期内视频播放时刻和暂停开始时刻之间时段对应的循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内处于播放状态对应的第一视频播放时长。
136.在过一段时间,如果用户想要再次观看该指定视频,则用户可第二次触发暂停键,对指定视频产生继续播放操作。由于前一时长统计进程还未到达一个上报周期,因此,继续播放后的时长统计进程仍与前一时长统计进程处于同一上报周期内。在指定视频继续播放时,第二次触发暂停键的时刻为暂停结束时刻,即产生继续播放操作的时刻为暂停结束时刻,此时,指定视频继续播放。那么,从第一次触发暂停键至第二次触发暂停键之间的时段,即为暂停操作阻止指定视频播放的时段。
137.在指定视频继续播放后,为能够及时统计视频播放时长,在暂停结束时刻同步启动一个循环计时器,并基于循环计时器的启动次数和循环计时器的计时时长,统计继续播放阶段指定视频在本次上报周期内处于播放状态对应的第二视频播放时长。此处,在计算第二视频播放时长中统计的循环计时器的启动次数是指在本次上报周期内从暂停结束时刻后启动的循环计时器的次数,并非本次上报周期内从视频播放时刻启动的循环计时器开
始统计的总次数。
138.最后,将计算第一视频播放时长和第二视频播放时长的总和,即为指定视频在本次上报周期内处于播放状态对应的视频播放时长。由于按照此方法统计的视频播放时长中,不包括暂停操作所占据的时长,而仅包括视频有效播放的时长,因此,统计的视频播放时长更为准确。
139.图10示出了根据一些实施例的指定视频执行暂停播放时的示意图。参见图10,例如,在播放指定视频时,如果按照时间轴播放到20秒时用户第一次触发暂停键,产生暂停操作,则暂停开始时刻即为第20秒。此时,如果循环计时器的计时时长为1秒,则第20秒执行的循环计时器被销毁,并停止视频播放时长的统计,即第20秒执行的循环计时器的计时时长不再累积到视频播放时长中。实际上,第一视频播放时长的统计值从视频播放时刻(第0秒)到第19秒对应的循环计时器的计时时长进行累积,即第一视频播放时长的统计值为前19个计时时长的时长总和,如第一视频播放时长watchtime1为19秒。
140.如果经过系统时间2分钟后用户第二次触发暂停键,产生继续播放操作,则继续播放指定视频。由于第一视频播放时长为19秒,还未到达一个上报周期,因此继续播放视频后的时长统计进程仍为同一个上报周期。指定视频的继续播放时刻为时间轴的第20秒,并同步启动一个循环计时器。在到达第21秒后,在第20秒启动的循环计时器到达计时时长(1秒),视频播放时长执行一次统计进程,即将第21秒对应的计时时长累积到视频播放时长中。基于此,继续基于暂停结束时刻之后循环计时器的启动次数n和计时时长t,计算第二视频播放时长watchtime2为n
×
t。
141.最后,将暂停操作前和继续播放操作后统计的视频播放时长进行求和,即计算第一视频播放时长和第二视频播放时长的总时长,作为指定视频在本次上报周期内处于播放状态对应的视频播放时长watchtime=watchtime1+watchtime2=19+n
×
t。
142.可见,在视频播放过程中,如果在本次上报周期内存在暂停操作,则产生暂停操作时刻对应的循环计时器销毁。由于在循环计时器的计时过程中产生阻止浏览器播放指定视频的操作,因此,产生暂停操作时刻对应的循环计时器的计时时长不再统计到视频播放时长中,即停止统计视频播放时长。而在本次上报周期内继续播放时,从暂停结束时刻继续基于循环计时器统计视频播放时长。因此,在统计视频播放时长过程中,在存在中止播放操作时,销毁的仅是当时未执行完成的循环计时器(如第20秒的循环计时器),即视频播放时长统计的误差最多为第20秒启动的循环计时器的计时时长(如第19秒到第20秒对应的计时时长1秒),可以保证视频播放时长的统计准确性,进而保证浏览器端向服务器上报视频播放时长的精确度。
143.在一些实施例中,在中止播放操作为拖拽操作时,控制器在执行基于循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内的视频播放时长,被进一步配置为执行下述步骤:
144.步骤2021、在指定视频播放过程中产生的中止播放操作为拖拽操作时,接收对指定视频产生的拖拽开始操作,在拖拽开始时刻停止对应的循环计时器的启动动作,以及,基于在本次上报周期内视频播放时刻和拖拽开始时刻之间时段对应的所述循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内处于播放状态对应的第一视频播放时长;
145.步骤2022、接收在本次上报周期内对指定视频产生的拖拽结束操作,在拖拽结束时刻启动对应的循环计时器,基于循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内处于播放状态对应的第二视频播放时长;
146.步骤2023、将第一视频播放时长和第二视频播放时长的总时长,作为指定视频在本次上报周期内的视频播放时长。
147.在指定视频播放过程中,如果在本次上报周期内用户想对指定视频进行快进或快退播放,则用户对指定视频产生的中止播放操作为拖拽操作。用户产生拖拽操作的方式可为语音控制方式或触发遥控器方向键方式。拖拽操作包括后退播放操作和快进播放操作。例如,触发向左方向键,产生后退播放操作;触发向右方向键,产生快进播放操作。
148.以触发遥控器向右方向键执行快进播放操作为例,用户短按向右方向键,执行一次快进播放操作;用户长按向右方向键,执行持续的快进播放操作。不同的按键时长,使得拖拽操作占用的时长不同。用户按下向右方向键时,该按下按键的时刻为拖拽开始时刻,即产生拖拽操作,快进播放启动。此时,指定视频中止播放;而在产生拖拽操作时,拖拽开始时刻对应的循环计时器销毁,并在拖拽开始时刻之后不再启动新的循环计时器。
149.由于循环计时器在达到计时时长后才会将该计时时长统计到视频播放时长中,即视频播放时长才会执行一次循环统计进程,而如果在某个循环计时器的计时过程中产生拖拽操作,说明该循环计时器还未到达计时时长。因此,为保证视频播放时长的统计准确性,该循环计时器对应的计时时长不再累积到循环统计的视频播放时长中,即在拖拽开始时刻视频播放时长的统计进程暂停。
150.因此,在指定视频快进播放时,可在本次上报周期内从视频播放时刻到拖拽开始时刻,统计第一段视频播放时长,即基于在本次上报周期内视频播放时刻和拖拽开始时刻之间时段对应的循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内处于播放状态对应的第一视频播放时长。
151.用户持续按下向右方向键一段时间后抬起,对指定视频产生拖拽结束操作,则抬起向右方向键的时刻为拖拽结束时刻,并继续播放指定视频。由于前一时长统计进程还未到达一个上报周期,因此,继续播放后的时长统计进程仍与前一时长统计进程处于同一上报周期内。此时,指定视频的播放内容为快进n秒后对应的内容。那么,从按下向右方向键至抬起向右方向键之间的时段,即为拖拽操作阻止指定视频播放的时段。
152.在指定视频经过快进操作继续播放后,为能够及时统计视频播放时长,在拖拽结束时刻同步启动一个循环计时器,并基于循环计时器的启动次数和循环计时器的计时时长,统计继续播放阶段指定视频在本次上报周期内处于播放状态对应的第二视频播放时长。此处,在计算第二视频播放时长中统计的循环计时器的启动次数是指在本次上报周期内从拖拽结束时刻后启动的循环计时器的次数,并非本次上报周期内从视频播放时刻启动的循环计时器开始统计的总次数。
153.最后,将计算第一视频播放时长和第二视频播放时长的总和,即为指定视频在本次上报周期内处于播放状态对应的视频播放时长。由于按照此方法统计的视频播放时长中,不包括拖拽操作所占据的时长,而仅包括视频有效播放的时长,因此,统计的视频播放时长更为准确。
154.图11示出了根据一些实施例的指定视频执行拖拽播放时的示意图。参见图11,例
如,在播放指定视频时,如果按照时间轴播放到20秒时用户按下向右方向键,产生拖拽操作,则拖拽开始时刻即为第20秒。此时,如果循环计时器的计时时长为1秒,则第20秒执行的循环计时器被销毁,并停止视频播放时长的统计,即第20秒执行的循环计时器的计时时长不再累积到视频播放时长中。实际上,在本次上报周期内第一视频播放时长的统计值从视频播放时刻(第0秒)到第19秒对应的循环计时器的计时时长进行累积,即第一视频播放时长的统计值为前19个计时时长的时长总和,如第一视频播放时长watchtime1为19秒。
155.如果经过系统时间n秒后用户抬起向右方向键,产生拖拽结束操作,则继续播放指定视频。由于第一视频播放时长为19秒,还未到达一个上报周期,因此继续播放视频后的时长统计进程仍为同一个上报周期。如果拖拽结束时,指定视频的时间轴快进到第30秒,则期间的10秒为快进时段。在拖拽结束时刻(时间轴第30秒)同步启动一个循环计时器,同时继续基于拖拽结束时刻之后循环计时器的启动次数n和计时时长t,计算在本次上报周期内第二视频播放时长watchtime2为n
×
t。
156.最后,将拖拽开始操作前和拖拽结束操作后统计的视频播放时长进行求和,即计算第一视频播放时长和第二视频播放时长的总时长,作为指定视频在本次上报周期内处于播放状态对应的视频播放时长watchtime=watchtime1+watchtime2=19+n
×
t。
157.可见,在视频播放过程中,如果在本次上报周期内存在拖拽操作,则产生拖拽操作时刻对应的循环计时器销毁。由于在循环计时器的计时过程中产生阻止浏览器播放指定视频的操作,因此,产生拖拽操作时刻对应的循环计时器的计时时长不再统计到视频播放时长中,即停止统计视频播放时长。而在本次上报周期内继续播放时,从拖拽结束时刻继续基于循环计时器统计视频播放时长。因此,在统计视频播放时长过程中,在存在中止播放操作时,销毁的仅是当时未执行完成的循环计时器(如第20秒的循环计时器),即视频播放时长统计的误差最多为第20秒启动的循环计时器的计时时长(如第19秒到第20秒对应的计时时长1秒),可以保证视频播放时长的统计准确性,进而保证浏览器端向服务器上报视频播放时长的精确度。
158.在一些实施例中,浏览器在播放指定视频时,在播放过程的同一上报周期中若存在任一种中止播放操作,则产生中止播放操作时刻对应的循环计时器未执行完成。因此,将该循环计时器销毁,并暂停视频播放时长的统计进程。在消除中止播放操作时,重新启动循环计时器开始计时,并继续执行视频播放时长的统计进程。在该过程中,消除的仅为未执行完成的循环计时器对应的计时时长,使得最终统计的视频播放时长能够更加贴近实际视频有效播放的时长,准确性好。
159.在一些实施例中,在实时统计视频播放时长时,与显示设备向服务器上报一次时长的上报周期时长进行对比。如果当前统计的视频播放时长达到上报周期时长,则可将统计的视频播放时长上报至服务器。
160.在一些实施例中,显示设备向服务器上报一次视频播放时长,即完成一个上报周期。当前上报周期完成后,开始下一个上报周期所需的视频播放时长的统计。为此,显示设备上报完成后,需清空本地存储的视频播放时长的统计值,以便于重新对下一个上报周期所需的视频播放时长进行准确累积。
161.在一些实施例中,在完成一个上报周期后,控制器被进一步配置为执行下述步骤:
162.步骤51、在显示设备向服务器上报一次视频播放时长之后,清空显示设备本地缓
存的视频播放时长的统计值。
163.步骤52、如果在时长上报时刻指定视频处于播放状态,则重新启动对应的循环计时器。
164.步骤53、基于循环计时器的重新启动次数和循环计时器的计时时长,统计指定视频在下一上报周期内处于播放状态对应的下一视频播放时长。
165.步骤54、在下一视频播放时长达到上报周期时长时,将指定视频在下一上报周期内的下一视频播放时长上报至服务器。
166.在显示设备向服务器上报当前上报周期所统计的视频播放时长完成后,清空显示设备本地存储的视频播放时长的统计值。由于显示设备按照上报周期时长执行一次上报周期,在一个上报周期内,实时统计的视频播放时长预先存储在显示设备本地,以实现非实时上报方法。
167.因此,在本次上报周期完成后,为保证下一次上报周期所需的视频播放时长的统计值的准确性,将本地缓存的视频播放时长清空,即watchtime=0。
168.显示设备向服务器上报本周期对应的视频播放时长时,该时刻即为时长上报时刻。显示设备在时长上报时刻向服务器上报时长,同时,进行下一上报周期所需的视频播放时长的统计。
169.在进行下一上报周期所需的视频播放时长的统计时,由于视频播放时长统计的是处于播放状态的视频有效播放时长,因此,需要判断当前指定视频是否仍处于播放状态。判断方法可为获取浏览器的播放状态参数,如果播放状态参数为播放参数,则说明指定视频处于播放状态;如果播放状态参数为未播放参数,则说明指定视频未处于播放状态。
170.在判断出当前视频处于播放状态时,可进行下一上报周期的视频播放时长的统计,因此,重新启动对应的循环计时器。在循环计时器到达计时时长时,执行重新启动动作,并执行视频播放时长的统计进程。
171.基于循环计时器的重新启动次数和循环计时器的计时时长,统计指定视频在下一上报周期内处于播放状态对应的下一视频播放时长。在下一视频播放时长达到上报周期时长时,将指定视频的下一视频播放时长上报至服务器。统计下一上报周期所需的下一视频播放时长的实现过程,以及,上报过程,可相应参照前述实施例提供的各个方法,此处不再赘述。
172.在一些实施例中,启动显示设备中的浏览器,用户在浏览器中播放指定视频时,设定视频播放时长watchtime=0,并设定一个短时间的循环计时器,如计时时长为1秒。每隔1秒循环计时器执行完成后,计算并累积视频播放时长watchtime=watchtime+1。如果在1秒内用户触发暂停或拖拽等操作中止播放过程,则销毁正在执行的循环计时器,暂停统计视频播放时长。并在用户重新开始播放后,重新设定一个新的循环计时器继续统计视频播放时长。在视频播放时长累积到一定数值(上报周期时长,如30秒)后,调用服务器接口上报视频播放时长,并清空本地统计值watchtime=0。通过这种方法,用户的暂停或拖拽等操作,仅销毁当时未执行完成的1秒计时器,即视频播放时长统计的误差最多为1秒,尽可能地保证视频播放时长的统计准确性。
173.在一些实施例中,前述实施例提供显示设备所执行的视频播放时长上报方法中,在触发上报进程的条件是基于循环计时器的启动次数和循环计时器的计时时长累积视频
播放时长,将累积的视频播放时长与上报周期时长进行对比,在视频播放时长的统计值达到上报周期时长时,执行一次时长上报过程。可见,这种方法基于时长条件实现上报进程的触发,且统计的每个上报周期的视频播放时长的统计值均相同。
174.而在其他实施例中,还可通过统计的参数表征本次上报周期内的视频播放时长,例如循环计时器成功启动的次数。因此,为对循环计时器的启动成功次数进行计数,在指定视频开始播放时,同步启动一个上报计数器。循环计时器的成功启动是指循环计时器执行完成,即到达计时时长的状态。
175.在一些实施例中,在基于循环计时器的启动次数实现一个上报周期内视频播放时长的上报时,控制器被进一步配置为执行下述步骤:
176.步骤61、在播放指定视频时,启动上报计数器,所述上报计数器用于统计所述循环计时器的启动成功次数,所述上报计时器和所述循环计时器的初始启动时刻相同;
177.步骤62、在所述循环计时器的启动成功次数到达预设上报次数时,基于所述循环计时器的总启动成功次数和循环计时器的计时时长,统计所述指定视频在本次上报周期内的视频播放时长,以及,将所述指定视频在本次上报周期内的视频播放时长上报至服务器。
178.在一些实施例中,前述实施例中的上报周期由上报周期时长来表征,通过判断时长来触发上报进程。而本实施例中,上报周期由预设上报次数来表征,通过判断启动成功次数来触发上报进程。
179.显示设备在响应用户播放指定视频的启动指令,在播放指定视频的同时,同步启动循环计时器和上报计数器,上报计数器统计循环计时器的启动成功次数,即循环计时器每完成一次重新启动,上报计数器的统计值即加1。循环计时器的启动成功次数是指循环计时器执行计时完成的次数,即到达计时时长的次数。
180.在一些实施例中,上报计数器可以是循环计时器成功计时时间计数,循环计时器每成功完成一个计时,则上报计数器增加一个计数。在上报计数器的计数满足预设值时,进行一次上报。相当于,在上报计数器统计的循环计时器的启动成功次数达到预设上报次数时,触发显示设备的时长上报进程,此时,完成一个上报周期。
181.在显示设备上报视频播放时长时,基于循环计时器的启动成功次数和循环计时器的计时时长,统计指定视频在本次上报周期内的视频播放时长,以及,将指定视频在本次上报周期内的视频播放时长上报至服务器。视频播放时长的统计方法以及视频播放时长的上报方法均可参照前述实施例提供的内容,此处不进行赘述。
182.例如,在预设上报次数设定为30次时,如果上报计数器统计到循环计时器的总启动成功次数为30次,则触发一次时长上报进程。如果循环计时器的计时时长为1秒,则表征浏览器成功播放指定视频30秒,即用户观看了30s。
183.在一些实施例中,由于指定视频在播放过程中,用户会对指定视频产生中止播放操作。而在产生中止播放操作时,对应的循环计时器会被销毁,以及,视频播放时长的统计进程会被暂停。因此,上报长度为30秒的视频播放时长实际所需的时间可能长于统计的30秒计时。
184.例如,在指定视频播放过程中,循环计时器在达到计时时长后执行重新启动动作,并由上报计数器统计循环计时器的启动成功次数。如果上报计数器统计的循环计时器的启动成功次数为19次之后,用户产生中止播放操作;在经过2分钟后,用户产生继续播放操作,
并由上报计数器继续统计循环计时器的启动成功次数。在统计的总启动成功次数到达预设上报次数30次时,视频播放时长为30秒,但其实际花费的系统时间为30秒+2分钟。
185.在一些实施例中,如果在一个上报周期内,用户没有对指定视频产生中止播放操作,则上报计数器统计循环计时器的启动成功次数与预设上报次数相同,如均为30次。
186.在一些实施例中,在显示设备向服务器上报时长时,还可基于固定的时间间隔实现上报,即显示设备每隔上报间隔时长进行一次上报,即上报周期的时间长度相同。由于各个预设时长内,即各个上报周期内,可能会基于指定视频产生中止播放操作,这样会使得每个上报周期对应的视频播放时长均不同。其中,预设间隔时长为系统时间层面上的相邻两次上报周期的时间间隔。
187.因此,在基于预设间隔时长实现一个上报周期内视频播放时长的上报时,控制器被配置为执行下述步骤:
188.步骤71、在播放指定视频时,启动上报计数器和循环计时器,循环计时器在到达计时时长后执行重新启动动作,上报计数器用于统计循环计时器的启动成功次数,循环计时器的计时时长小于预设间隔时长,预设间隔时长是指显示设备向服务器上报一次视频播放时长的间隔时长。
189.步骤72、从视频播放时刻开始计时,在到达上报间隔时长时,获取上报计数器统计的循环计时器在本次上报周期内的总启动成功次数。
190.步骤73、基于循环计时器的总启动成功次数和循环计时器的计时时长,统计指定视频在本次上报周期内的视频播放时长,以及,将指定视频在本次上报周期内的视频播放时长上报至服务器。
191.在开始播放指定视频时,同步启动上报计数器和循环计时器。在视频播放过程中,循环计时器每隔计时时长(1秒)均会重新启动一次。上报计数器统计循环计时器的启动成功次数,即循环计时器每完成一次重新启动,上报计数器的统计值即加1。循环计时器的启动成功次数是指循环计时器执行计时完成的次数,即到达计时时长的次数。循环计时器的启动方法及计时过程,均可参照前述实施例提供的内容,此处不进行赘述。
192.在一些实施例中,基于系统层面的上报间隔时长内循环计时器的启动成功次数确定一个上报周期内,显示设备向服务器上报的视频播放时长的统计值大小。由于显示设备按照上报周期依次向服务器上报对应的视频播放时长,因此,在一个上报周期内,从视频播放时刻开始,随着系统时间的流逝,判断从视频播放时刻到当前系统时间之间的时长是否到达上报间隔时长。在到达上报间隔时长时,说明已到达一个上报周期,显示设备需向服务器上报时长数据。因此,获取上报计数器统计的循环计时器在本次上报周期内的总启动成功次数。
193.基于循环计时器的总启动成功次数和循环计时器的计时时长,统计指定视频在本次上报周期内的视频播放时长,以及,将指定视频在本次上报周期内的视频播放时长上报至服务器。视频播放时长的统计方法以及视频播放时长的上报方法均可参照前述实施例提供的内容,此处不进行赘述。
194.在一些实施例中,显示设备每30秒调用服务器端接口进行一次时长上报过程,则根据循环计时器成功计时的次数,显示设备完成对应视频播放时长的上报,例如,如果一次上报的上报间隔时长为30秒,即显示设备每30秒上报一次。如果系统时间30秒内循环计时
器均成功计时,循环计时器的计时时长为1秒,则上报长度为30秒的视频播放时长。也就是说,可进行上报的视频播放时长的总时长相当于上报间隔时长,即上报周期的结束时刻为视频播放时长达到上报间隔时长的时刻。
195.如果30秒内成功循环计时器成功计时28次,则上报长度为28秒的视频播放时长。一个上报周期的初始时刻为开始统计视频播放时长的时刻,一个上报周期的结束时刻为视频播放时长达到上报间隔时长的时刻,例如,每30秒为一个上报周期,依此循环。
196.上述任一实施例提供的视频播放时长的上报方法,均可实现浏览器播放指定视频时产生的视频播放时长的准确统计,进而可以保证显示设备可向服务器上报准确的视频播放时长。
197.在一些实施例中,浏览器内配置有播放器,在播放指定视频时,由浏览器内的播放器执行播放动作。因此,本技术统计的视频播放时长为浏览器中的播放器执行播放动作的统计时长。
198.在一些实施例中,如果浏览器内配置第三方播放器,并调用该内置的第三方播放器播放指定视频时,所统计的视频播放时长为浏览器中的第三方播放器执行播放动作的统计时长,相应统计和上报方法可前述实施例提供的内容。
199.在一些实施例中,在浏览器播放视频过程中,会对播放进程造成影响的情况并不限定于前述提到的暂停、拖拽、中间退出又重进的情况,还可能包括弹窗等意外情况。那么在统计视频播放时长时,如果意外情况造成视频播放中断,就会在统计视频播放时长时执行暂停逻辑,如前述实施例步骤41至步骤42及相关步骤;而如果意外情况并未造成视频播放中断,则视频仍为有效播放,那么统计视频播放时长的进程不会受到影响。
200.可见,本发明实施例提供的一种显示设备,在开始播放指定视频时,同步启动一个循环计时器。在循环计时器达到计时时长后重新启动,在视频播放过程中,基于在本次上报周期内循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内处于播放状态的视频播放时长。并在视频播放时长满足时长上报条件后,将满足上报周期时长的视频播放时长统计值上报至服务器,完成一个上报周期的时长数据上报。循环计时器的计时时长小于上报周期时长,如果在视频播放过程中存在中止播放操作时,销毁的仅是当时未执行完成的1秒计时器,即视频播放时长统计的误差最多为循环计时器的计时时长(如1秒),可以保证视频播放时长的统计准确性,进而保证浏览器端向服务器上报视频播放时长的精确度。
201.图5示出了根据一些实施例的视频播放时长上报方法的流程图。参见图5,本发明实施例提供的一种视频播放时长上报方法,由前述实施例提供的显示设备中的控制器执行,所述方法包括:
202.s1、响应于播放视频播放页面中呈现的指定视频的启动指令,播放所述指定视频,以及,启动循环计时器,所述循环计时器在到达计时时长后执行重新启动动作,所述循环计时器的计时时长小于上报周期时长,所述上报周期时长是指显示设备向服务器上报一次视频播放时长的最大时长;
203.s2、在所述指定视频的播放过程中,基于所述循环计时器的启动次数和循环计时器的计时时长,统计所述指定视频在本次上报周期内的视频播放时长,所述视频播放时长是指所述指定视频在本次上报周期内处于播放状态对应的时长;
204.s3、在本次上报周期内统计的所述视频播放时长达到上报周期时长时,将所述指定视频的视频播放时长上报至服务器。
205.本技术一些实施例中,所述方法还包括:
206.步骤41、在所述指定视频播放过程中,接收对所述指定视频产生的中止播放操作,中止播放所述指定视频,以及,在中止开始时刻停止启动对应的循环计时器,暂停统计所述视频播放时长;
207.步骤42、接收对所述指定视频产生的继续播放操作,继续播放所述指定视频,以及,在中止结束时刻重新启动对应的循环计时器,基于中止播放操作之前统计的视频播放时长,继续统计所述视频播放时长,所述中止结束时刻是指产生继续播放操作的时刻。
208.本技术一些实施例中,所述基于所述循环计时器的启动次数和循环计时器的计时时长,统计所述指定视频在本次上报周期内的视频播放时长,包括:
209.步骤21、在所述指定视频播放过程中,接收对所述指定视频产生的中止播放操作,基于本次上报周期内视频播放时刻和中止开始时刻之间时段对应的所述循环计时器的启动次数和循环计时器的计时时长,统计所述指定视频在本次上报周期内处于播放状态对应的第一视频播放时长;
210.步骤22、接收在本次上报周期内对所述指定视频产生的继续播放操作,从中止结束时刻开始,基于所述循环计时器的启动次数和循环计时器的计时时长,统计所述指定视频在本次上报周期内处于播放状态对应的第二视频播放时长;
211.步骤23、计算所述第一视频播放时长和第二视频播放时长的总和,作为所述指定视频在本次上报周期内处于播放状态对应的视频播放时长。
212.由以上技术方案可知,本发明实施例提供的一种视频播放时长上报方法及显示设备,在开始播放指定视频时,同步启动一个循环计时器。在循环计时器达到计时时长后执行重新启动,在视频播放过程中,基于在本次上报周期内循环计时器的启动次数和循环计时器的计时时长,统计指定视频在本次上报周期内处于播放状态的视频播放时长。并在视频播放时长满足上报周期时长时,将对应的视频播放时长统计值上报至服务器,完成一个上报周期的时长数据上报。可见,本技术上报的视频播放时长仅统计处于播放状态的视频有效播放时长,且循环计时器的计时时长小于上报周期时长,如果在视频播放过程中存在中止播放操作时,销毁的仅是当时未执行完成的循环计时器,即视频播放时长统计的误差最多为循环计时器的计时时长,可以保证视频播放时长的统计准确性,进而保证浏览器端向服务器上报视频播放时长的精确度。
213.具体实现中,本发明还提供一种存储介质,其中,该存储介质可存储有程序,该程序执行时可包括本发明提供的视频播放时长上报方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
214.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等。
215.本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于视频播放
时长上报方法实施例而言,由于其基本相似于显示设备实施例,所以描述的比较简单,相关之处参见显示设备实施例中的说明即可。
216.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
217.为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1