CN113779306A - 一种播放进度确定方法和装置 - Google Patents

一种播放进度确定方法和装置 Download PDF

Info

Publication number
CN113779306A
CN113779306A CN202010875821.5A CN202010875821A CN113779306A CN 113779306 A CN113779306 A CN 113779306A CN 202010875821 A CN202010875821 A CN 202010875821A CN 113779306 A CN113779306 A CN 113779306A
Authority
CN
China
Prior art keywords
counting
playing
determining
interval
counting interval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010875821.5A
Other languages
English (en)
Inventor
胡艳侠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202010875821.5A priority Critical patent/CN113779306A/zh
Publication of CN113779306A publication Critical patent/CN113779306A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings

Abstract

本发明公开了一种播放进度确定方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:在监听到对象播放事件被触发后,获取与对象的当前播放位置对应的第一时间点,确定第一时间点所处第一记数区间;在监听到对象暂停事件或播放结束事件被触发后,获取与对象暂停位置或播放结束位置对应的第二时间点,确定第二时间点所处第二记数区间;确定从第一记数区间到第二记数区间的记数区间,基于记数区间的数量确定对象的播放进度。该实施方式使用bitMap数据结构使得对于每个记数区间的播放时长只会统计一次,避免了多统计或漏统计的情况,提高了进度计算的准确性。

Description

一种播放进度确定方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种播放进度确定方法和装置。
背景技术
有些场景下经常需要查看用户播放对象的进度,如学习平台,通过统计观看进度判断视频的受众程度;如闯关式任务平台,以观看视频为任务,需要实际观看进度大于设定的百分比时才能完成任务。
目前在播放对象时,由前端统计当前播放位置和播放时长,并在以下几种事件发生时提交给后端保存:用户快进、后退、关闭播放器以及对象正常播放完。
1)后端将所有播放时长的累计结果除以总时长,得到播放进度百分比;
2)后端首先判断当前播放位置是否小于目前该用户播放的最大播放位置,若小于,则认为是重复播放,不累计此次播放时长,最终将累加结果除以总时长,得到播放进度百分比。
在实现本发明的过程中,发明人发现现有技术至少存在如下问题:
1)方式一存有多统计的情况:当用户重复播放对象的某个片段时,前端会多次将播放时长发送到后端进行累加,最终表现为该片段播放时长的重复累加,统计得到的播放进度大于实际播放进度。
2)方式二存有漏统计的情况:当用户对象直接快进然后后退播放到小于快进位置暂停,快进时前端将播放位置发送到后端,在后退暂停时由于后端保存的最大播放位置大于当前播放位置,因此此次播放时长不被累加,统计得到的播放进度小于实际播放进度。
发明内容
有鉴于此,本发明实施例提供一种播放进度确定方法和装置,至少能够解决现有技术中统计播放进度不准确,存在多统计、漏统计的情况。
为实现上述目的,根据本发明实施例的一个方面,提供了一种播放进度确定方法,包括:
在监听到对象播放事件被触发后,获取与对象的当前播放位置对应的第一时间点,确定所述第一时间点所处第一记数区间;
在监听到对象暂停事件或播放结束事件被触发后,获取与对象暂停位置或播放结束位置对应的第二时间点,确定所述第二时间点所处第二记数区间;
确定从所述第一记数区间到所述第二记数区间的记数区间,基于所述记数区间的数量确定所述对象的播放进度。
可选的,所述确定所述第一时间点所处第一记数区间,包括:
计算所述第一时间点与记数区间大小的比值,对所述比值进行向下取整或向上取整,以确定所述比值所处第一记数区间。
可选的,所述基于所述记数区间的数量确定所述对象的播放进度,包括:
获取所述对象的记数区间总数量,建立与所述记数区间总数量对应的比特位空间;
确定所述比特位空间中与所述记数区间对应的比特位,将所述比特位的值设置为预定数值;
统计值为所述预定数值的比特位的数量,计算所述比特位的数量与所述记数区间总数量的比值,将所述比值作为所述对象的播放进度。
可选的,所述确定所述比特位空间中与所述记数区间对应的比特位,包括:
将记数区间的编号和对象播放结果一同存储至数组中;
获取所述数组中结果为已播放的记数区间编号,确定所述比特位空间中与所述记数区间编号对应的比特位。
可选的,所述将记数区间的编号和对象播放结果一同存储至数组中,还包括:对于一记数区间,若存有多个播放结果,则对所述多个播放结果进行取并集操作,得到所述一记数区间的播放结果。
可选的,所述获取所述对象的记数区间总数量,包括:获取所述对象的播放总时长,计算所述播放总时长与记数区间大小的比值并向上取整,得到所述记数区间总数量。
可选的,还包括:基于所述对象的标识和用户标识,生成键名,建立所述键名和所述比特位空间的对应关系;以及
响应于查询比特位空间的操作,查询与所述用户标识和所述对象的标识对应的比特位空间。
为实现上述目的,根据本发明实施例的另一方面,提供了一种播放进度确定装置,包括:
播放模块,用于在监听到对象播放事件被触发后,获取与对象的当前播放位置对应的第一时间点,确定所述第一时间点所处第一记数区间;
暂停模块,用于在监听到对象暂停事件或播放结束事件被触发后,获取与对象暂停位置或播放结束位置对应的第二时间点,确定所述第二时间点所处第二记数区间;
计算模块,用于确定从所述第一记数区间到所述第二记数区间的记数区间,基于所述记数区间的数量确定所述对象的播放进度。
可选的,所述播放模块,用于:
计算所述第一时间点与记数区间大小的比值,对所述比值进行向下取整或向上取整,以确定所述比值所处第一记数区间。
可选的,所述计算模块,用于:
获取所述对象的记数区间总数量,建立与所述记数区间总数量对应的比特位空间;
确定所述比特位空间中与所述记数区间对应的比特位,将所述比特位的值设置为预定数值;
统计值为所述预定数值的比特位的数量,计算所述比特位的数量与所述记数区间总数量的比值,将所述比值作为所述对象的播放进度。
可选的,所述计算模块,用于:
将记数区间的编号和对象播放结果一同存储至数组中;
获取所述数组中结果为已播放的记数区间编号,确定所述比特位空间中与所述记数区间编号对应的比特位。
可选的,所述计算模块,还用于:
对于一记数区间,若存有多个播放结果,则对所述多个播放结果进行取并集操作,得到所述一记数区间的播放结果。
可选的,所述计算模块,用于:
获取所述对象的播放总时长,计算所述播放总时长与记数区间大小的比值并向上取整,得到所述记数区间总数量。
可选的,所述计算模块,还用于:
基于所述对象的标识和用户标识,生成键名,建立所述键名和所述比特位空间的对应关系;以及
响应于查询比特位空间的操作,查询与所述用户标识和所述对象的标识对应的比特位空间。
为实现上述目的,根据本发明实施例的再一方面,提供了一种播放进度确定电子设备。
本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的播放进度确定方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的播放进度确定方法。
根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:摒弃累加播放时长的思路,前端基于区间记数的技术,将对象总播放时长划分为多个记数区间,将已播放的记数区间以数组形式保留;后端使用bitMap数据结构使得对于每个记数区间只会统计一次,避免了多统计或漏统计的情况,提高了进度计算的准确性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种播放进度确定方法的主要流程示意图;
图2是根据本发明实施例的一种可选的播放进度确定方法的流程示意图;
图3是根据本发明实施例的一种具体地播放进度确定方法的流程示意图;
图4是根据本发明实施例的一种播放进度确定装置的主要模块示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的移动设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本方案适用于播放总时长固定的视频或语音,主要以播放视频类为例进行说明。
参见图1,示出的是本发明实施例提供的一种播放进度确定方法的主要流程图,包括如下步骤:
S101:在监听到对象播放事件被触发后,获取与对象的当前播放位置对应的第一时间点,确定所述第一时间点所处第一记数区间;
S102:在监听到对象暂停事件或播放结束事件被触发后,获取与对象暂停位置或播放结束位置对应的第二时间点,确定所述第二时间点所处第二记数区间;
S103:确定从所述第一记数区间到所述第二记数区间的记数区间,基于所述记数区间的数量确定所述对象的播放进度。
上述实施方式中,对于步骤S101和S102,首先确定对象的记数区间总数量totalIndexNum=RoundUp(videoLength/interval);其中,Rou ndUp表示向上取整,videoLength表示播放总时长,interval表示记数区间大小,可以由用户或开发人员根据业务特点自定义,如500ms、1s、5s等。
设置currentTime表示对象在当前播放器中的播放位置,记数区间编号为index,可以从0开始,也可以从1开始:
1)index从0开始编号,最大为totalIndexNum-1,如0,1,2,…,totalIndexNum-1。
若currentTime%interval的余数为0,则记数区间编号index=current Time/interval-1,否则为RoundDown(currentTime/interval)。假设当前播放位置的时间点为20s,记数区间大小为3s,两者比值为6.67,向下取整为6,求得记数区间编号6。
2)index从1开始编号,最大为totalIndexNum,如1,2,3,…,totalIndexNum。
若currentTime%interval的余数为0,则记数区间编号index=current Time/interval,否则为RoundUp(currentTime/interval)。同样假设当前播放位置的时间点为20s,记数区间大小为3s,对应于第7个记数区间,记数区间编号为7。
除此之外,每个记数区间均对应于一定的时间点,同样以记数区间大小3s为例,16~18s对应于第6个记数区间,19~21s对应于第7个记数区间。因此,无论index从0或1开始编号,均可以首先确定比值所处记数区间。
在前端设置监听对象播放事件,在该事件被触发,调用setInterval()方法,以指定记数区间大小为周期,统计播放对象的第一记数区间。以及设置对象暂停事件以及对象播放结束事件,当调用clearInterval()或窗口被关闭,setInterval()停止执行函数,并确定暂停或播放停止时所处位置的第二记数区间;其中,对象播放结束包括对象正常播放完成、播放器关闭两种情况。
以视频暂停为例,执行代码如下:
//视频暂停
pauseEventO{
clearlnterval(this.timer);
}
对于步骤S103,在对象播放暂停或播放结束后,前端通过Restful接口,将从第一记数区间到第二记数区间的记数区间(包括第一记数区间、第二记数区间和位于两者之间的记数区间)发送至后端,以在后端基于记数区间的数量和该对象的记数区间总数量,计算播放进度。
实际对象播放进度的公式如下:
progress=bitOneNum/totalIndexNum
其中,progress表示对象播放进度,单位是百分比;bitOneNum表示记数区间累计总数,totalIndexNum表示记数区间总数量。
后续后端处理得到对象播放进度,前端可以通过RestFul接口从后端获取对象播放进度,以此执行不同场景下的播放,如执行任务平台中判断该进度是否符合所要求的百分比,若符合则表示完成任务。
上述实施例所提供的方法,摒弃累加播放时长的思路,将对象总播放时长划分为多个记数区间,根据播放位置确定已播放的记数区间,为计算播放进度提供数据基础。
参见图2,示出了根据本发明实施例的一种可选的播放进度确定流程示意图,包括如下步骤:
S201:在监听到对象播放事件被触发后,获取与对象的当前播放位置对应的第一时间点,确定所述第一时间点所处第一记数区间;
S202:在监听到对象暂停事件或播放结束事件被触发后,获取与对象暂停位置或播放结束位置对应的第二时间点,确定所述第二时间点所处第二记数区间;
S203:确定从所述第一记数区间到所述第二记数区间的记数区间,获取所述对象的记数区间总数量,建立与所述记数区间总数量对应的比特位空间;
S204:确定所述比特位空间中与所述记数区间对应的比特位,将所述比特位的值设置为预定数值;
S205:统计值为所述预定数值的比特位的数量,计算所述比特位的数量与所述记数区间总数量的比值,将所述比值作为所述对象的播放进度。
上述实施方式中,对于步骤S201和S202可参见图1所示步骤S101和S102的描述,在此不再赘述。
上述实施方式中,对于步骤S203~S205,后端提供两个RestfulApi,分别用以保存对象播放区间记数数据、传输播放进度,均为对外提供的接口。
记数区间编号是连续且密集的,通常数量较大,因此为节省后端存储空间,可以使用Bit-map(位图与海量数据处理)或long型数组存储,本方案优选Bit-map。
Bit-map基本思想为使用一个bit位标记某个元素所对应的value,而key即是该元素。由于Bit-map使用了bit位来存储数据,因此可以大大节省存储空间。设计如下:
key=videoId:userId
offset=index
value=0或1
其中,videoId表示所播放对象的id,用以唯一标识一个对象;userId表示播放对象的用户id,用以唯一标识一个用户,offset表示bit位的位置,即已播放对象的每个记数区间的编号index,value是表示对象是否播放,1表示已播放,0表示未播放。
进一步的,还可以针对业务场景在key中添加固定前缀,如user:video:progress,表示用户播放视频的进度,也可以更换为其他字符串表示。
假设要对0-7内的5个记数区间编号(4,7,2,5,3)进行排序(此处假设记数区间没有重复),首先开辟一个8byte的空间,并将这些空间下的所有byte位设为0。遍历这5个记数区间编号,第一个记数区间编号为4,从左往后开始,将第5个byte位的值设置为1,对于剩余记数区间编号同理,最终得到:
0 0 1 1 1 1 0 1
遍历bytes区域,输出值为1的位置(2,3,4,5,7),达到排序目的。建立key与byte空间之间的对应关系,构建Bit-map数据,以将用户标识、对象标识和播放结果存储为一个数据结构。
进一步的,当用户存在前进后退或同一对象片段重复播放情况时,可以基于其所有播放结果进行取并集操作,只要存在一次播放,即将其播放结果设置为已播放。
此时实际对象播放进度的公式如下:
progress=bitOneNum/totalIndexNum
其中,progress表示对象播放进度,单位是百分比;bitOneNum表示bit位值为1的记数区间累计总数,totalIndexNum表示记数区间总数量。
上述实施例所提供的方法,基于区间记数的技术,使用bitMap数据结构使得对于每个记数区间的播放结果进行取并集操作,且只会统计一次播放时长,避免了多统计或漏统计的情况。
参见图3,示出了根据本发明实施例的另一种可选的播放进度确定方法流程示意图,包括如下步骤:
S301:在监听到对象播放事件被触发后,获取与对象的当前播放位置对应的第一时间点,确定所述第一时间点所处第一记数区间;
S302:在监听到对象暂停事件或播放结束事件被触发后,获取与对象暂停位置或播放结束位置对应的第二时间点,确定所述第二时间点所处第二记数区间;
S303:将记数区间的编号和对象播放结果一同存储至数组中;
S304:获取所述对象的记数区间总数量,建立与所述记数区间总数量对应的比特位空间;
S305:获取所述数组中结果为已播放的记数区间编号,确定所述比特位空间中与所述记数区间编号对应的比特位,将所述比特位的值设置为预定数值;
S306:统计值为所述预定数值的比特位的数量,计算所述比特位的数量与所述记数区间总数量的比值,将所述比值作为所述对象的播放进度。
上述实施方式中,对于步骤S301~S302可参见图1所示步骤S101和S102的描述,步骤S304和S306可参见图2所示步骤S203和S205的描述,在此不再赘述。
上述实施方式中,对于步骤S303和S305,为简化数据处理操作,可以以数组形式记录各记数区间的播放结果,已播放的数组设置为预定数值,如1。
以视频播放为例,其操作代码如下所示:
//视频播放事件
playEvent:function(){
this.timer=setlntervaK handler:()=>{
//视频播放统计区间序号
let index=this.player.currentTime/this.interval;
//将此区间设置为1,表示已经观看
this.s[index]=1;
},this.interval);
}
其中,this.s[index]为数组,表示第index个记数区间内的视频是否播放,下标为记数区间编号,1表示已播放,0表示未播放(0/1仅为示例)。例如,记数区间大小为1,用户已播放到第4s,则定义数组A,A[0]=1、A[1]=1、A[2]=1、A[3]=1,表示1~4s都已经播放。
需要说明的是,针对每个已播放对象的记数区间编号的数组有且仅有一个。如上述示例中当前播放位置的时间点为20s,记数区间大小为3s,计算得到第7个记数区间,相应数组为A[7]=1,对于19s的数组相同,仅保留一个。
因而虽数组可以以时间点、记数区间编号和播放结果生成,但本方案目的在于计算播放进度,对于时间点的依赖性较小,所以优选数组中不包含时间点的方式。
另外,记数区间大小不可设置过大。如上例虽得到数组,但实际该记数区间内20~21s的对象仍未播放,存有一定误差。针对该情况,需适应性降低记数区间,如视频类通常以秒为单位播放,因此优选将记数区间大小设置为1s播放单位。
上述实施例所提供的方法,摒弃累加播放时长的思路,前端基于区间记数的技术,将对象总播放时长划分为多个记数区间,将已播放的记数区间以数组形式保留;后端使用bitMap数据结构使得对于每个记数区间的播放时长只会统计一次,避免了多统计或漏统计的情况,提高了进度计算的准确性。
参见图4,示出了本发明实施例提供的一种播放进度确定装置400的主要模块示意图,包括:
播放模块401,用于在监听到对象播放事件被触发后,获取与对象的当前播放位置对应的第一时间点,确定所述第一时间点所处第一记数区间;
暂停模块402,用于在监听到对象暂停事件或播放结束事件被触发后,获取与对象暂停位置或播放结束位置对应的第二时间点,确定所述第二时间点所处第二记数区间;
计算模块403,用于确定从所述第一记数区间到所述第二记数区间的记数区间,基于所述记数区间的数量确定所述对象的播放进度。
本发明实施装置中,所述播放模块401,用于:
计算所述第一时间点与记数区间大小的比值,对所述比值进行向下取整或向上取整,以确定所述比值所处第一记数区间。
本发明实施装置中,所述计算模块403,用于:
获取所述对象的记数区间总数量,建立与所述记数区间总数量对应的比特位空间;
确定所述比特位空间中与所述记数区间对应的比特位,将所述比特位的值设置为预定数值;
统计值为所述预定数值的比特位的数量,计算所述比特位的数量与所述记数区间总数量的比值,将所述比值作为所述对象的播放进度。
本发明实施装置中,所述计算模块403,用于:
将记数区间的编号和对象播放结果一同存储至数组中;
获取所述数组中结果为已播放的记数区间编号,确定所述比特位空间中与所述记数区间编号对应的比特位。
本发明实施装置中,所述计算模块403,还用于:对于一记数区间,若存有多个播放结果,则对所述多个播放结果进行取并集操作,得到所述一记数区间的播放结果。
本发明实施装置中,所述计算模块403,用于:获取所述对象的播放总时长,计算所述播放总时长与记数区间大小的比值并向上取整,得到所述记数区间总数量。
本发明实施装置中,所述计算模块403,还用于:基于所述对象的标识和用户标识,生成键名,建立所述键名和所述比特位空间的对应关系;以及
响应于查询比特位空间的操作,查询与所述用户标识和所述对象的标识对应的比特位空间。
另外,在本发明实施例中所述装置的具体实施内容,在上面所述方法中已经详细说明了,故在此重复内容不再说明。
图5示出了可以应用本发明实施例的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505(仅仅是示例)。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,服务器505可以是提供各种服务的服务器。
需要说明的是,本发明实施例所提供的方法一般由服务器505执行,相应地,装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和播放。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或播放的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括播放模块、暂停模块、计算模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,计算模块还可以被描述为“播放进度计算模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
在监听到对象播放事件被触发后,获取与对象的当前播放位置对应的第一时间点,确定所述第一时间点所处第一记数区间;
在监听到对象暂停事件或播放结束事件被触发后,获取与对象暂停位置或播放结束位置对应的第二时间点,确定所述第二时间点所处第二记数区间;
确定从所述第一记数区间到所述第二记数区间的记数区间,基于所述记数区间的数量确定所述对象的播放进度。
根据本发明实施例的技术方案,前端基于区间记数的技术,将对象总播放时长划分为多个记数区间,将已播放的记数区间以数组形式保留,使得对于每个记数区间的播放时长只会统计一次;后端使用bitMap数据结构处理数组,避免了多统计或漏统计的情况,提高了进度计算的准确性。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种播放进度确定方法,其特征在于,包括:
在监听到对象播放事件被触发后,获取与对象的当前播放位置对应的第一时间点,确定所述第一时间点所处第一记数区间;
在监听到对象暂停事件或播放结束事件被触发后,获取与对象暂停位置或播放结束位置对应的第二时间点,确定所述第二时间点所处第二记数区间;
确定从所述第一记数区间到所述第二记数区间的记数区间,基于所述记数区间的数量确定所述对象的播放进度。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一时间点所处第一记数区间,包括:
计算所述第一时间点与记数区间大小的比值,对所述比值进行向下取整或向上取整,以确定所述比值所处第一记数区间。
3.根据权利要求1所述的方法,其特征在于,所述基于所述记数区间的数量确定所述对象的播放进度,包括:
获取所述对象的记数区间总数量,建立与所述记数区间总数量对应的比特位空间;
确定所述比特位空间中与所述记数区间对应的比特位,将所述比特位的值设置为预定数值;
统计值为所述预定数值的比特位的数量,计算所述比特位的数量与所述记数区间总数量的比值,将所述比值作为所述对象的播放进度。
4.根据权利要求3所述的方法,其特征在于,所述确定所述比特位空间中与所述记数区间对应的比特位,包括:
将记数区间的编号和对象播放结果一同存储至数组中;
获取所述数组中结果为已播放的记数区间编号,确定所述比特位空间中与所述记数区间编号对应的比特位。
5.根据权利要求4所述的方法,其特征在于,所述将记数区间的编号和对象播放结果一同存储至数组中,还包括:
对于一记数区间,若存有多个播放结果,则对所述多个播放结果进行取并集操作,得到所述一记数区间的播放结果。
6.根据权利要求3所述的方法,其特征在于,所述获取所述对象的记数区间总数量,包括:
获取所述对象的播放总时长,计算所述播放总时长与记数区间大小的比值并向上取整,得到所述记数区间总数量。
7.根据权利要求3所述的方法,其特征在于,还包括:
基于所述对象的标识和用户标识,生成键名,建立所述键名和所述比特位空间的对应关系;以及
响应于查询比特位空间的操作,查询与所述用户标识和所述对象的标识对应的比特位空间。
8.一种播放进度确定装置,其特征在于,包括:
播放模块,用于在监听到对象播放事件被触发后,获取与对象的当前播放位置对应的第一时间点,确定所述第一时间点所处第一记数区间;
暂停模块,用于在监听到对象暂停事件或播放结束事件被触发后,获取与对象暂停位置或播放结束位置对应的第二时间点,确定所述第二时间点所处第二记数区间;
计算模块,用于确定从所述第一记数区间到所述第二记数区间的记数区间,基于所述记数区间的数量确定所述对象的播放进度。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202010875821.5A 2020-08-25 2020-08-25 一种播放进度确定方法和装置 Pending CN113779306A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010875821.5A CN113779306A (zh) 2020-08-25 2020-08-25 一种播放进度确定方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010875821.5A CN113779306A (zh) 2020-08-25 2020-08-25 一种播放进度确定方法和装置

Publications (1)

Publication Number Publication Date
CN113779306A true CN113779306A (zh) 2021-12-10

Family

ID=78835240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010875821.5A Pending CN113779306A (zh) 2020-08-25 2020-08-25 一种播放进度确定方法和装置

Country Status (1)

Country Link
CN (1) CN113779306A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104509061A (zh) * 2013-02-17 2015-04-08 华为技术有限公司 流媒体数据传输的调节方法及装置
CN106658228A (zh) * 2015-10-29 2017-05-10 北京国双科技有限公司 视频时长的划分方法及装置
CN107181803A (zh) * 2017-05-23 2017-09-19 百度在线网络技术(北京)有限公司 用于播放视频的方法和装置
US20170285924A1 (en) * 2016-03-31 2017-10-05 Le Holdings (Beijing) Co., Ltd. Method for adjusting play progress and electronic device
CN108882043A (zh) * 2018-05-31 2018-11-23 维沃移动通信有限公司 一种播放控制方法及移动终端
CN109040811A (zh) * 2018-08-16 2018-12-18 北京奇艺世纪科技有限公司 一种视频播放方法及装置
CN109151602A (zh) * 2018-09-26 2019-01-04 浙江浙大万朋软件有限公司 一种视频课记录在线学习时长的方法
CN109246233A (zh) * 2018-09-30 2019-01-18 北京奇虎科技有限公司 基于在线监控的数据处理方法、装置、设备及存储介质
CN109587548A (zh) * 2017-09-29 2019-04-05 北京国双科技有限公司 视频播放数据的计算方法及装置
CN110659389A (zh) * 2019-09-05 2020-01-07 北京字节跳动网络技术有限公司 排序方法、装置、电子设备和计算机可读存储介质
CN111225246A (zh) * 2020-03-20 2020-06-02 北京奇艺世纪科技有限公司 一种视频推荐方法、装置及电子设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104509061A (zh) * 2013-02-17 2015-04-08 华为技术有限公司 流媒体数据传输的调节方法及装置
CN106658228A (zh) * 2015-10-29 2017-05-10 北京国双科技有限公司 视频时长的划分方法及装置
US20170285924A1 (en) * 2016-03-31 2017-10-05 Le Holdings (Beijing) Co., Ltd. Method for adjusting play progress and electronic device
CN107181803A (zh) * 2017-05-23 2017-09-19 百度在线网络技术(北京)有限公司 用于播放视频的方法和装置
CN109587548A (zh) * 2017-09-29 2019-04-05 北京国双科技有限公司 视频播放数据的计算方法及装置
CN108882043A (zh) * 2018-05-31 2018-11-23 维沃移动通信有限公司 一种播放控制方法及移动终端
CN109040811A (zh) * 2018-08-16 2018-12-18 北京奇艺世纪科技有限公司 一种视频播放方法及装置
CN109151602A (zh) * 2018-09-26 2019-01-04 浙江浙大万朋软件有限公司 一种视频课记录在线学习时长的方法
CN109246233A (zh) * 2018-09-30 2019-01-18 北京奇虎科技有限公司 基于在线监控的数据处理方法、装置、设备及存储介质
CN110659389A (zh) * 2019-09-05 2020-01-07 北京字节跳动网络技术有限公司 排序方法、装置、电子设备和计算机可读存储介质
CN111225246A (zh) * 2020-03-20 2020-06-02 北京奇艺世纪科技有限公司 一种视频推荐方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王东;林宏;左欣;: "基于在线视频学习的用户观看行为抽取方法", 四川理工学院学报(自然科学版), no. 06, 20 December 2015 (2015-12-20) *

Similar Documents

Publication Publication Date Title
CN108062409B (zh) 直播视频摘要的生成方法、装置及电子设备
CN109104336B (zh) 服务请求处理方法、装置、计算机设备及存储介质
CN108427725B (zh) 数据处理方法、装置和系统
CN106604137B (zh) 一种预测视频观看时长的方法及装置
US20170185454A1 (en) Method and Electronic Device for Determining Resource Consumption of Task
US9472241B2 (en) Identifying and rerecording only the incomplete units of a program broadcast recording
CN109120954B (zh) 视频消息推送方法、装置、计算机设备及存储介质
CN112199174A (zh) 消息发送的控制方法、装置、电子设备及计算机可读存储介质
CN110620699A (zh) 消息到达率确定方法、装置、设备和计算机可读存储介质
CN110636367A (zh) 一种视频加载方法、装置、终端设备及介质
CN111177513B (zh) 异常访问地址的确定方法、装置、电子设备及存储介质
CN111405370B (zh) 一种视频回放方法和装置
CN111510777A (zh) 测量网速的方法、装置、计算机设备及可读存储介质
CN110856004B (zh) 消息处理方法、装置、可读存储介质及电子设备
CN108764866B (zh) 用于分配资源、领取资源的方法和设备
CN108235126B (zh) 在视频中插入推荐信息的方法和装置
CN113590017B (zh) 用于处理数据的方法、电子设备和计算机程序产品
CN112804574A (zh) 多媒体内容的传输、播放方法和装置
CN113779306A (zh) 一种播放进度确定方法和装置
CN110351577B (zh) 直播信息处理方法及装置、存储介质、电子设备
CN107277640A (zh) 基于直播平台的互动方法、装置和存储介质
CN114579416B (zh) 一种指标确定方法、装置、服务器和介质
CN115243066A (zh) 信息的推送方法、装置、电子设备及计算机可读介质
CN113760989A (zh) 一种无界流数据处理方法、装置、设备及存储介质
CN110908886A (zh) 一种数据发送方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination