视频的播放方法及装置、电子设备、存储介质与流程

文档序号:30364455发布日期:2022-06-10 22:23阅读:74来源:国知局
视频的播放方法及装置、电子设备、存储介质与流程

1.本技术涉及多媒体技术领域,尤其涉及一种视频的播放方法及装置、电子设备、存储介质。


背景技术:

2.随着人们生活水平的发展,当前多媒体技术也是不断地提高发展,其中视频的播放就占有大部分的主流。
3.现有的视频播放方法,主要是当用户请求播放某个视频时,根据视频的标识查找到用户请求播放的视频的地址,然后根据视频的地址获取到该视频对应的视频流,并返回给客户端进行播放。
4.但是,现有的方式用户只能自己观看视频,无法做到朋友之间的实时交流与分享,所以缺少了人与人之间的互动环节。


技术实现要素:

5.基于上述现有技术的不足,本技术提供了一种视频的播放方法及装置、电子设备、存储介质,以解决现有技术缺少互动环节的问题。
6.为了实现上述目的,本技术提供了以下技术方案:本技术第一方面提供了一种视频的播放方法,包括:接收目标用户发起的创建目标放映厅的处理请求;其中,所述目标放映厅指代所述目标用户请求为目标视频创建的放映厅;所述目标放映厅至少包括互动区域以及播放区域;创建所述目标放映厅;生成所述目标放映厅对应的推流地址以及对应的拉流地址;将所述目标视频转码成直播流数据,并将所述直播流数据推送至所述目标放映厅对应的所述推流地址上;根据所述目标放映厅对应的所述拉流地址拉取所述直播流数据,并在所述目标放映厅的所述播放区域进行播放。
7.可选地,在上述的视频的播放方法中,所述生成所述目标放映厅对应的推流地址以及拉取地址,包括:获取所述目标放映厅的信息;根据所述目标放映厅的信息请求智能调度与分发中心分配所述目标放映厅对应的所述推流地址;基于所述目标放映厅对应的推流地址,请求所述智能调度与分发中心确定出所述目标放映厅对应的所述拉流地址。
8.可选地,在上述的视频的播放方法中,其特征在于,所述接收目标用户创建目标放映厅的处理请求之后,还包括:
判断所述目标放映厅是否已存在;其中,若判断出所述目标放映厅不存在,则执行所述生成所述目标放映厅对应的推流地址以及对应的拉取地址;若判断出所述目标放映厅已存在,则判断所述目标放映厅的状态是否为停流状态;其中,若判断出所述目标放映厅的状态不为所述停流状态,则执行所述根据所述目标放映厅对应的拉流地址拉取所述直播流数据,并在所述目标放映厅的所述播放区域进行播放;若判断出所述目标放映厅的状态为所述停流状态,则依次执行所述将所述目标视频转码成直播流数据,并将所述直播流数据推送至所述目标放映厅对应的推流地址上,以及执行所述根据所述目标放映厅对应的拉流地址拉取所述直播流数据,并在所述目标放映厅的所述播放区域进行播放。
9.可选地,在上述的视频的播放方法中,还包括:每间隔第一预设时间长度,分别检测当前存在的各个放映厅中的人数;每当检测到任意一个所述放映厅的人数为零,且redis数据库的第一集合中未存储有所述放映厅对应的键值对时,在所述redis数据库的所述第一集合中生成所述放映厅对应的所述键值对;其中,所述键值对包括所述放映厅对应的标识以及所述键值对的生成时间;每当检测到任意一个所述放映厅的人数不为零,且所述redis数据库的所述第一集合中存储有所述放映厅对应的键值对时,将在所述第一集合中的所述放映厅对应的所述键值对清除。
10.可选地,在上述的视频的播放方法中,还包括:每间隔第二预设时间长度,分别针对在所述第一集合中的每个所述放映厅对应的所述键值对,计算所述放映厅对应的所述键值对中的所述生成时间与当前时间的时间差;判断所述时间差是否超过预设的第一时间阈值;若判断出所述时间差超过预设的第一时间阈值,则将所述放映厅对应的所述键值对从所述第一集合中删除,并将所述放映厅对应的所述键值对缓存至所述redis数据库的第二集合中,以及将所述放映厅的状态更新为停流状态。
11.可选地,在上述的视频的播放方法中,还包括:每间隔第三预设时间长度,分别针对在所述第二集合中的每个所述放映厅对应的所述键值对,计算所述放映厅对应的所述键值对中的所述生成时间与当前时间的目标时间差;判断所述目标时间差是否超过预设的第二时间阈值;若判断出所述目标时间差超过预设的第二时间阈值,则将所述放映厅进行销毁;将所述第二集合中的所述放映厅对应的所述键值对清除。
12.可选地,在上述的视频的播放方法中,所述根据所述目标放映厅对应的所述拉流地址拉取所述直播流数据,并在所述目标放映厅的所述播放区域进行播放之后,还包括:建立所述目标放映厅与互动服务的长连接;响应所述目标用户的邀请操作,向所述目标用户的好友用户发送邀请请求;实时检测所述目标放映厅的互动区域;当检测到在所述目标放映厅的所述互动区域内,任意一个用户输入的聊天内容
时,将所述聊天内容反馈给在所述目标放映厅内的每个用户。
13.本技术第二方面提供了一种视频的播放装置,包括:接收单元,用于接收目标用户发起的创建目标放映厅的处理请求;其中,所述目标放映厅指代所述目标用户请求为目标视频创建的放映厅;所述目标放映厅至少包括互动区域以及播放区域;创建单元,用于创建所述目标放映厅;第一生成单元,用于生成所述目标放映厅对应的推流地址以及对应的拉流地址;推送单元,用于将所述目标视频转码成直播流数据,并将所述直播流数据推送至所述目标放映厅对应的所述推流地址上;播放单元,用于根据所述目标放映厅对应的所述拉流地址拉取所述直播流数据,并在所述目标放映厅的所述播放区域进行播放。
14.可选地,在上述的视频的播放装置中,所述第一生成单元,包括:获取单元,用于获取所述目标放映厅的信息;分配单元,用于根据所述目标放映厅的信息请求智能调度与分发中心分配所述目标放映厅对应的所述推流地址;请求单元,用于基于所述目标放映厅对应的推流地址,请求所述智能调度与分发中心确定出所述目标放映厅对应的所述拉流地址。
15.可选地,在上述的视频的播放装置中,还包括:第一判断单元,用于判断所述目标放映厅是否已存在;其中,所述第一判断单元判断出所述目标放映厅不存在时,所述第一生成单元执行所述生成所述目标放映厅对应的推流地址以及对应的拉取地址;第二判断单元,用于若判断出所述目标放映厅已存在,则判断所述目标放映厅的状态是否为停流状态;其中,所述第二判断单元判断出所述目标放映厅的状态不为所述停流状态时,所述播放单元执行所述根据所述目标放映厅对应的拉流地址拉取所述直播流数据,并在所述目标放映厅的所述播放区域进行播放;所述第二判断单元判断出所述目标放映厅的状态为所述停流状态时,所述推送单元执行所述将所述目标视频转码成直播流数据,并将所述直播流数据推送至所述目标放映厅对应的推流地址上,以及所述播放单元执行所述根据所述目标放映厅对应的拉流地址拉取所述直播流数据,并在所述目标放映厅的所述播放区域进行播放。
16.可选地,在上述的视频的播放装置中,还包括:第一检测单元,用于每间隔第一预设时间长度,分别检测当前存在的各个放映厅中的人数;第二生成单元,用于每当检测到任意一个所述放映厅的人数为零,且redis数据库的第一集合中未存储有所述放映厅对应的键值对时,在所述redis数据库的所述第一集合中生成所述放映厅对应的所述键值对;其中,所述键值对包括所述放映厅对应的标识以及所述键值对的生成时间;第一清除单元,用于每当检测到任意一个所述放映厅的人数不为零,且所述redis数据库的所述第一集合中存储有所述放映厅对应的键值对时,将在所述第一集合中的所述放映厅对应的所述键值对清除。
17.可选地,在上述的视频的播放装置中,还包括:第一计算单元,用于每间隔第二预设时间长度,分别针对在所述第一集合中的每个所述放映厅对应的所述键值对,计算所述放映厅对应的所述键值对中的所述生成时间与当前时间的时间差;第三判断单元,用于判断所述时间差是否超过预设的第一时间阈值;缓存单元,用于若判断出所述时间差超过预设的第一时间阈值,则将所述放映厅对应的所述键值对从所述第一集合中删除,并将所述放映厅对应的所述键值对缓存至所述redis数据库的第二集合中,以及将所述放映厅的状态更新为停流状态。
18.可选地,在上述的视频的播放装置中,还包括:第二计算单元,用于每间隔第三预设时间长度,分别针对在所述第二集合中的每个所述放映厅对应的所述键值对,计算所述放映厅对应的所述键值对中的所述生成时间与当前时间的目标时间差;第四判断单元,用于判断所述目标时间差是否超过预设的第二时间阈值;销毁单元,用于若判断出所述目标时间差超过预设的第二时间阈值,则将所述放映厅进行销毁;第二清除单元,用于将所述第二集合中的所述放映厅对应的所述键值对清除。
19.可选地,在上述的视频的播放装置中,还包括:建立单元,用于建立所述目标放映厅与互动服务的长连接;响应单元,用于响应所述目标用户的邀请操作,向所述目标用户的好友用户发送邀请请求;第二检测单元,用于实时检测所述目标放映厅的互动区域;反馈单元,用于当检测到在所述目标放映厅的所述互动区域内,任意一个用户输入的聊天内容时,将所述聊天内容反馈给在所述目标放映厅内的每个用户。
20.本技术第三方面提供了一种电子设备,包括:存储器和处理器;其中,所述存储器用于存储程序;所述处理器用于执行所述程序,所述程序被执行时具体用于实现如上述任意一项所述的视频的播放方法。
21.本技术第四方面提供了一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,用于实现如上述任意一项所述的视频的播放方法。
22.本技术提供的一种视频的播放方法,通过创建放映厅的方式,以实现用户与好友之间的互动。通过接收目标用户发起的创建目标放映厅的处理请求,其中,目标放映厅指代目标用户请求为目标视频创建的放映厅,目标放映厅至少包括互动区域以及播放区域,其次生成目标放映厅对应的推流地址以及对应的拉流地址,然后将目标视频转码成直播流数据,并将直播流数据推送至目标放映厅对应的推流地址上,最后根据目标放映厅对应的拉流地址拉取直播流数据,并在目标放映厅的播放区域进行播放。从而将视频播放转变为直播,用户不再是自己观看视频,而是可以邀请好友加入放映厅一起观看,并且还实现用户与好友一边观看视频一边参与互动,有效地提高了用户的体验感。
附图说明
23.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
24.图1为本技术实施例提供的一种视频的播放方法的流程图;图2为本技术实施例提供的一种获取放映厅的相关地址的方法的流程图;图3为本技术实施例提供的一种观看视频的互动方法的流程图;图4为本技术实施例提供的一种放映厅的记录方法的流程图;图5为本技术实施例提供的一种放映厅停流的方法的流程图;图6为本技术实施例提供的一种放映厅销毁的方法的流程图;图7为本技术另一实施例提供的一种视频的播放装置的结构示意图;图8为本技术另一实施例提供的一种电子设备的结构示意图。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.在本技术中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
27.本技术实施例提供了一种视频的播放方法,如图1所示,具体包括以下步骤:s101、接收目标用户发起的创建目标放映厅的处理请求。
28.其中,目标放映厅指代目标用户请求为目标视频创建的放映厅,目标放映厅可以包括互动区域以及播放区域,还可以包括播单列表区域。
29.需要说明的是,互动区域指的是用户可以与好友在该区域中通过语言文字、表情以及图片等方式表达自己的想法。播放区域指的是用户与好友一起观看视频的区域。播单列表区域指的是用户和好友可以在该区域中了解到有哪些待播放的视频以及待播放视频的名称等等。
30.可选地,用户可以首先登录系统,选择自己想要观看的视频,其次通过系统所提供的接口发送为该视频创建放映厅的处理请求,相应的系统会获取用户的登录信息以及用户选择观看视频对应的id。其中,登录信息中至少包括了用户id。然后系统会根据用户id以及视频对应的id创建该视频对应的放映厅。还需要说明的是,同一个视频对应的id可以在不同的用户那里可以创建不同的放映厅。
31.考虑到用户不久前可能已经请求创建过目标放映厅,并且创建的目标放映厅还存在。所以可选地,在本技术另一实施例中,在步骤s101之后,在执行步骤s102之前,还可以先进一步执行:判断目标放映厅是否已存在。
32.需要说明的是,步骤s101中接收目标用户发起的创建目标放映厅的处理请求,可能是用户近期请求过为目标视频创建目标放映厅,用户只是将播放内容进行暂停,此时想继续观看已暂停的内容,所以再一次申请创建目标放映厅,所以需要判断目标放映厅是否已存在,若判断出目标放映厅不存在,说明用户未为目标视频请求创建过对应的目标放映厅,或者目标放映厅已经被销户,所以需要创建一个目标视频对应的放映厅为用户进行播放,因此此时执行步骤s103。若判断出目标放映厅已存在,说明用户曾经为目标视频请求创建过对应的目标放映厅,并且创建时间也要满足系统存储目标放映厅的时间,而为了进行播放目标视频,所以此时则需要进一步判断目标放映厅的状态是否为停流状态。
33.停流指的是直播流数据推送至放映厅对应的推流地址上的时间已经失效,所以若判断出目标放映厅的状态不为停流状态,说明直播流数据推送至放映厅对应的推流地址上的时间还没有失效,可以直接根据目标放映厅对应的拉流地址继续拉取直播流数据,并在目标放映厅的播放区域进行播放,即步骤s105。若判断出目标放映厅的状态为停流状态,说明直播流数据推送至放映厅对应的推流地址上的时间已经失效,需要重新将目标视频转码成直播流数据,并将直播流数据推送至目标放映厅对应的推流地址上之后,才能从拉流地址上获取直播流数据进行播放,所以此时需要先执行步骤s104,然后接着执行步骤s105,从而实现目标视频的继续播放。
34.s102、创建目标放映厅。
35.可选地,当接收到用户发起的创建放映厅的指令时,相应地系统需要获取用户id以及请求为观看视频创建放映厅的视频标识,然后系统可以根据用户id以及视频标识插入一条放映厅记录到数据库表,同时将放映厅创建成功的信号反馈给该用户。
36.s103、生成目标放映厅对应的推流地址以及对应的拉流地址。
37.需要说明的是,推流地址指的是将直播流数据推送到服务器上的地址。拉流地址指的是获取直播流的地址。
38.具体的,推流地址主要为直播流数据所推送到的地址。拉流地址主要用于后续根据该地址获取直播流数据进行播放。
39.可选地,在本技术另一实施例中,步骤s103的一种具体实施方式,如图2所示,包括以下步骤:s201、获取目标放映厅的信息。
40.需要说明的是,目标放映厅的信息可以包括放映厅名称(用户昵称+视频名称),视频源地址,放映厅id,创建者id以及创建时间等等。
41.s202、根据目标放映厅的信息请求智能调度与分发中心分配目标放映厅对应的推流地址。
42.需要说明的是,在本技术实施例中,每个放映厅都是独立存在的,所以一个放映厅对应一个推流地址以及一个拉流地址,因此对于新创建的目标放映厅,需要根据目标放映厅的信息请求智能调度与分发中心分配目标放映厅对应的推流地址,避免其他放映厅的直
播流数据可能会推送到目标放映厅对应的推送地址上,从而发生紊乱。
43.s203、基于目标放映厅对应的推流地址,请求智能调度与分发中心确定出目标放映厅对应的拉流地址。
44.需要说明的是,由于推流地址主要用于获知将直播流数据推送到哪个指定地址上,拉流地址用于获取直播流数据进行播放,所以从拉流地址获取到的直播流数据,要与获知将直播流数据推送到哪个指定地址上的直播流数据一致,才能避免目标放映厅出现播放事故,所以需要基于目标放映厅对应的推流地址,确定出目标放映厅对应的拉流地址。
45.s104、将目标视频转码成直播流数据,并将直播流数据推送至目标放映厅对应的推流地址上。
46.其中,直播流数据指的是服务端实时发送直播来源(如系统桌面、摄像头)的数据流,客户端可通过支持流媒体协议(如rtp、rtcp、rtsp)的播放器实时播放同样的视频内容,但不可拖动播放进度。
47.需要说明的是,为了能有效地解决用户只能自己观看视频的孤独感,体验直播形式的视频,所以在本技术实施例中,需要将目标视频转码成直播流数据,并将该直播流数据推送至目标放映厅对应的推流地址上,使得用户可以在放映厅中体验到多人观看同样进度的直播画面,有效地提高了用户观看视频的兴致。
48.可选地,系统可以向直播流服务请求推流,并且请求直播流服务将目标视频转码成直播流数据再将其推送到推流地址上,然后将放映厅的未开始推流的状态更新为开始推流的状态。其中,更新放映厅的状态可以用于后续基于放映厅的状态去判断该放映厅的状态是否为停流的状态。
49.s105、根据目标放映厅对应的拉流地址拉取直播流数据,并在目标放映厅的播放区域进行播放。
50.需要说明的是,预先会将目标视频转码成直播流数据存储到指定的地址上,所以在本技术实施例中,当需要在放映厅播放目标视频对应的直播流数据时,需要先从放映厅对应的拉流地址拉取直播流数据之后,才能成功地为用户进行播放。
51.可选地,待目标视频对应的直播流数据播放完成时,可以根据目标放映厅的播单列表继续播放下一个直播流数据,也可以是用户任意选择一个播单列表中的待播放的直播流数据进行播放,当然,也可以是其他的播放方式,具体可以根据需求设置。需要说明的是,目标放映厅是用户一开始请求为观看视频所申请创建的放映厅,所以当目标放映厅播放的直播流数据切换成下一个直播流数据时,不会重新再创建一个放映厅,还是继续通过该目标放映厅的推流地址以及拉流地址,执行直播流数据的相关操作。还需要说明的是,放映厅可以对应多个视频资源,但是放映厅对应的推流地址以及对应的拉流地址都只有一个。
52.可选地,当用户不想观看标视频对应的直播流数据时,用户可以任意切换某一个视频的直播流数据,但此时不会再为该视频创建一个新的放映厅,还是可以在目标放映厅的播放区域为用户播放该视频的直播流数据,需要说明的是,任意切换视频的直播流数据,并且还可以在目标放映厅进行播放的用户指的是目标放映厅的创建者。
53.可选地,本技术实施例中,为了在放映厅内的每个用户能边看视频边互动,所以如图3所示,在步骤s105之后,本技术实施例提供一种观看视频的互动方法,包括以下步骤:s301、建立目标放映厅与互动服务的长连接。
54.需要说明的是,建立目标放映厅与互动服务的长连接是为了监控目标放映厅内的所有用户的行为,比如:发言、进入、退出等行为,以便于后续能及时的将任意一个用户的行为反馈给在目标放映厅内的每个用户。
55.s302、响应目标用户的邀请操作,向目标用户的好友用户发送邀请请求。
56.可选地,邀请操作指的是用户在界面上发起的邀请操作,比如:用户可以分享放映厅小程序的链接给朋友圈好友,然后好友可通过点击链接进入到放映厅中。
57.s303、实时检测目标放映厅的互动区域。
58.需要说明的是,在本技术实施例中,是对目标放映厅内每个用户进行实时检测,当监测到任意一个用户的互动行为时,都需要将该互动行为反馈给在目标放映厅内的每个用户。
59.s304、当检测到在目标放映厅的互动区域内,任意一个用户输入的聊天内容时,将聊天内容反馈给在目标放映厅内的每个用户。
60.可选地,也可以是当检测到在目标放映厅内任意一个用户的好友退出时,可以将该好友的退出信息反馈给在目标放映厅内的每个用户,当然,也可以是其他的行为,具体可以根据需要设置。
61.可选地,放映厅内可能会存在没人观看直播流数据的情况,为了及时地将放映厅的状态更新为停流状态或者将该放映厅进行销毁,从而可以避免浪费的资源,所以在本技术另一实施例中,还记录没有用户存在的放映厅,以便于后续进行处理。可选地,如图4所示,本技术另一实施例提供一种放映厅的记录方法,包括以下步骤:s401、每间隔第一预设时间长度,分别检测当前存在的各个放映厅中的人数。
62.需要说明的是,在申请实施例中,需要定时的对当前存在的各个放映厅中的人数进行检测,避免当放映厅内的人数为零时,还在继续进行推流,浪费推流资源。
63.可选地,第一预设时间长度为1小时,当然,也可以是其他的时间长度,具体可以根据需求设置。
64.s402、分别针对每个放映厅,判断检测到的该放映厅的人数是否为零。
65.其中,若判断出该放映厅的人数为零,则执行步骤s403。若判断出该放映厅的人数不为零,则步骤s405。
66.s403、判断redis数据库的第一集合中是否未存储有该放映厅对应的键值对。
67.其中,由于该放映厅的人数为零,所以需要将其信息记录到第一集合中。所以若判断出redis数据库的第一集合中未存储有该放映厅对应的键值对,则执行步骤s404,即在本技术实施例中,若判断出redis数据库的第一集合中已存储有该放映厅对应的键值对,说明之前已经记录有该放映厅的信息了,不需要再重复进行记录。
68.s404、在redis数据库的第一集合中生成放映厅对应的键值对。
69.其中,键值对包括放映厅对应的标识以及键值对的生成时间。所以通过键值对中的标识可以获知哪个放映厅的人数为零,而通过键值对的生成时间就可以指的该放映厅人数为零至当前的时间长度。
70.s405、判断redis数据库的第一集合中是否存储有该放映厅对应的键值对。
71.由于此时该放映厅的人数不为零,第一集合中不应该再存储有该放映厅对应的键值对,所以若判断出redis数据库的第一集合中存储有该放映厅对应的键值对,则执行步骤
s406。若判断出redis数据库的第一集合中未存储有该放映厅对应的键值对,则说明第一集合中本来就没有存储有该放映厅对应的键值对,也就不需要再做其他的操作。
72.s406、将在第一集合中的该放映厅对应的键值对清除。
73.需要说明的是,将与响应本次检测到的任意一个放映厅的人数不为零,并且redis数据库的第一集合中存储有放映厅对应的键值对进行删除,避免后续将redis数据库的第一集合中存储有满足系统销毁时间的是放映厅进行销毁。
74.可选地,基于图4提供的一种放映厅的记录方法所记录的数据,可以对在短时间内放映厅内没有存在用户观看直播的放映厅进行停流。可选地,所以如图5所示,本技术实施例提供的一种放映厅停流的方法,包括以下步骤:s501、每间隔第二预设时间长度,分别针对在第一集合中的每个放映厅对应的键值对,计算该放映厅对应的键值对中的生成时间与当前时间的时间差。
75.需要说明的是,在本技术实施例中,计算放映厅对应的键值对中的生成时间与当前时间的时间差,为了后续通过时间差来判断该放映厅对应的键值对中的生成时间是否已超过系统预设的时间,进而相应地对该放映厅对应的键值对进行处理。
76.可选地,第一预设时间长度为1小时,当然,也可以是其他的时间长度,具体可以根据需求设置。
77.s502、判断该时间差是否超过预设的第一时间阈值。
78.需要说明的是,若判断出时间差超过预设的第一时间阈值,则将放映厅对应的键值对从第一集合中删除,并设置该放映厅的状态为停流状态,再将放映厅对应的键值对缓存至redis数据库的第二集合中,即步骤s503,也以便于后续系统可以直接从第二集合中判断放映厅对应的键值对的生成时时间是否已经满足销毁放映厅的时间。若判断出时间差未超过预设的第一时间阈值,则将放映厅对应的键值对继续存储在redis数据库的第一集合中。
79.可选地,预设的第一时间阈值为2小时,当然,也可以是其他的时间长度,具体可以根据需求设置。
80.s503、将该放映厅对应的键值对从第一集合中删除,并将该放映厅对应的键值对缓存至redis数据库的第二集合中,以及将该放映厅的状态更新为停流状态。
81.也就是当一个放映厅在第一时间阈值内,一直没有人在观看时,则停止向该放映厅的推流地址进行推流。而由于已对其进行停流,所以不需要再记录在第一集合中。而为了能继续监测该放映厅,在其在更长时间内没人再返回观看时将其销毁,因此将其记录到第二集合中继续进行监测。
82.可选地,基于图5提供的一种停流的方法得到的数据,对于长时间内放映厅没有存在用户观看直播流数据,则可以将该放映厅进行销毁,避免占用存储空间,所以如图6所示,本技术实施例提供一种放映厅销毁的方法,包括以下步骤:s601、每间隔第三预设时间长度,分别针对在第二集合中的每个放映厅对应的键值对,计算该放映厅对应的键值对中的生成时间与当前时间的目标时间差。
83.需要说明的是,步骤s601的具体实施方式,可相应地参考上述方法实施例中的步骤s501,此处不再赘述。
84.可选地,第三预设时间长度为48小时,当然,也可以是其他的时间长度,具体可以
根据需求设置。
85.s602、判断该目标时间差是否超过预设的第二时间阈值。
86.需要说明的是,在本技术实施例中,系统会预先设置的第二时间阈值,主要用于判断用户近期是否还需要该用户申请创建的放映厅播放直播流数据,所以若判断出放映厅对应的键值对中的生成时间与当前时间的目标时间差,超过预设的第二时间阈值,说明用户可能近期不再需要该用户申请创建的放映厅播放直播流数据,则系统会自动将该放映厅进行销毁,即步骤s603,从而避免占用不必要的存储空间。若判断出放映厅对应的键值对中的生成时间与当前时间的目标时间差未超过预设的第二时间阈值,则继续将该放映厅对应的键值对存储在第二集合中。
87.s603、将该放映厅进行销毁。
88.s604、将第二集合中的该放映厅对应的键值对清除。
89.需要说明的是,当检测到系统销毁记录在第二集合中的放映厅之后,也会将第二集合中的该放映厅对应的键值对清除,避免系统在检测第二集合中的键值对时,还能检测出该放映厅对应的键值对,此时系统的处理对象已不存在,从而会影响系统的处理机制。
90.本技术提供的一种视频的播放方法,通过创建放映厅的方式,以实现用户与好友之间的互动。通过接收目标用户发起的创建目标放映厅的处理请求,其中,目标放映厅指代目标用户请求为目标视频创建的放映厅,目标放映厅至少包括互动区域以及播放区域,其次生成目标放映厅对应的推流地址以及对应的拉流地址,然后将目标视频转码成直播流数据,并将直播流数据推送至目标放映厅对应的推流地址上,最后根据目标放映厅对应的拉流地址拉取直播流数据,并在目标放映厅的播放区域进行播放。从而将视频播放转变为直播,用户不再是自己观看视频,而是可以邀请好友加入放映厅一起观看,并且还实现用户与好友一边观看视频一边参与互动,有效地提高了用户的体验感。
91.本技术另一实施例提供了一种视频的播放装置,如图7所示,包括:接收单元701,用于接收目标用户发起的创建目标放映厅的处理请求。
92.其中,目标放映厅指代目标用户请求为目标视频创建的放映厅,目标放映厅至少包括互动区域以及播放区域。
93.创建单元702,用于创建目标放映厅。
94.第一生成单元703,用于生成目标放映厅对应的推流地址以及对应的拉流地址。
95.推送单元704,用于将目标视频转码成直播流数据,并将直播流数据推送至目标放映厅对应的推流地址上。
96.播放单元705,用于根据目标放映厅对应的拉流地址拉取直播流数据,并在目标放映厅的播放区域进行播放。
97.需要说明的是,本技术实施例中的上述单元的具体工作过程可相应地参考上述方法实施例中的步骤s101~步骤s105,此处不再赘述。
98.可选地,本技术另一实施例中,第一生成单元,包括:获取单元,用于获取目标放映厅的信息。
99.分配单元,用于根据目标放映厅的信息请求智能调度与分发中心分配目标放映厅对应的推流地址。
100.请求单元,用于基于目标放映厅对应的推流地址,请求智能调度与分发中心确定
出目标放映厅对应的拉流地址。
101.需要说明的是,本技术上述实施例提供的各个单元的具体工作过程可相应地参考上述方法实施例中的相应的步骤,此处不再赘述。
102.可选地,本技术另一实施例中,还包括以下单元:第一判断单元,用于判断目标放映厅是否已存在。
103.其中,第一判断单元判断出目标放映厅不存在时,第一生成单元执行生成目标放映厅对应的推流地址以及对应的拉取地址。
104.第二判断单元,用于若判断出目标放映厅已存在,则判断目标放映厅的状态是否为停流状态。
105.其中,第二判断单元判断出目标放映厅的状态不为停流状态时,播放单元执行根据目标放映厅对应的拉流地址拉取直播流数据,并在目标放映厅的播放区域进行播放,第二判断单元判断出目标放映厅的状态为停流状态时,推送单元执行将目标视频转码成直播流数据,并将直播流数据推送至目标放映厅对应的推流地址上,以及播放单元执行根据目标放映厅对应的拉流地址拉取直播流数据,并在目标放映厅的播放区域进行播放。
106.需要说明的是,本技术上述实施例提供的各个单元的具体工作过程可相应地参考上述方法实施例中的相应的步骤,此处不再赘述。
107.可选地,本技术另一实施例中,还包括以下单元:第一检测单元,用于每间隔第一预设时间长度,分别检测当前存在的各个放映厅中的人数。
108.第二生成单元,用于每当检测到任意一个放映厅的人数为零,且redis数据库的第一集合中未存储有放映厅对应的键值对时,在redis数据库的第一集合中生成放映厅对应的键值对。
109.其中,键值对包括放映厅对应的标识以及键值对的生成时间。
110.第一清除单元,用于每当检测到任意一个放映厅的人数不为零,且redis数据库的第一集合中存储有放映厅对应的键值对时,将在第一集合中的放映厅对应的键值对清除。
111.需要说明的是,本技术上述实施例提供的各个单元的具体工作过程可相应地参考上述方法实施例中的相应的步骤,此处不再赘述。
112.可选地,本技术另一实施例中,还包括以下单元:第一计算单元,用于每间隔第二预设时间长度,分别针对在第一集合中的每个放映厅对应的键值对,计算放映厅对应的键值对中的生成时间与当前时间的时间差。
113.第三判断单元,用于判断时间差是否超过预设的第一时间阈值。
114.缓存单元,用于若判断出时间差超过预设的第一时间阈值,则将放映厅对应的键值对从第一集合中删除,并将放映厅对应的键值对缓存至redis数据库的第二集合中,以及将放映厅的状态更新为停流状态。
115.需要说明的是,本技术上述实施例提供的各个单元的具体工作过程可相应地参考上述方法实施例中的相应的步骤,此处不再赘述。
116.可选地,本技术另一实施例中,还包括以下单元:第二计算单元,用于每间隔第三预设时间长度,分别针对在第二集合中的每个放映厅对应的键值对,计算放映厅对应的键值对中的生成时间与当前时间的目标时间差。
117.第四判断单元,用于判断目标时间差是否超过预设的第二时间阈值。
118.销毁单元,用于若判断出目标时间差超过预设的第二时间阈值,则将放映厅进行销毁。
119.第二清除单元,用于将第二集合中的放映厅对应的键值对清除。
120.需要说明的是,本技术上述实施例提供的各个单元的具体工作过程可相应地参考上述方法实施例中的相应的步骤,此处不再赘述。
121.可选地,本技术另一实施例中,还包括以下单元:建立单元,用于建立目标放映厅与互动服务的长连接。
122.响应单元,用于响应目标用户的邀请操作,向目标用户的好友用户发送邀请请求。
123.第二检测单元,用于实时检测目标放映厅的互动区域。
124.反馈单元,用于当检测到在目标放映厅的互动区域内,任意一个用户输入的聊天内容时,将聊天内容反馈给在目标放映厅内的每个用户。
125.需要说明的是,本技术上述实施例提供的各个单元的具体工作过程可相应地参考上述方法实施例中的相应的步骤,此处不再赘述。
126.本技术另一实施例提供了一种电子设备,如图8所示,包括:存储器801和处理器802。
127.其中,存储器801用于存储程序。
128.处理器802用于执行程序,程序被执行时,具体用于实现如上述任意一个实施例提供的视频的播放方法。
129.本技术另一实施例提供了一种计算机存储介质,用于存储计算机程序,计算机程序被执行时,用于实现如上述任意一个实施例提供的视频的播放方法。
130.计算机存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
131.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
132.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1