获取视频数据的方法、服务器和系统与流程

文档序号:15981885发布日期:2018-11-17 00:25阅读:280来源:国知局

本申请涉及计算机技术领域,特别涉及一种获取视频数据的方法、服务器和系统。

背景技术

随着计算机技术和网络技术的发展,网络直播得到了广泛的普及,用户可以登录网络直播的应用程序,进入感兴趣的直播间,观看主播的直播节目。

相关技术中,用户进入直播间观看主播的直播时,可以点播节目,让主播表演点播的节目(如演唱一首歌曲等),用户可以观看,在直播结束之后,如果用户想要再看自己点播的节目,则需要浏览主播此次直播的全部视频数据,找到自己点播的节目,进行观看。

由于用户需要浏览主播此次直播的全部视频数据,会花费大量的时间,用户体验比较差。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种获取视频数据的方法、服务器和系统。所述技术方案如下:

第一方面,提供了一种获取视频数据的方法,所述方法包括:

在直播过程中,第一服务器从第二服务器接收自主播终端的直播视频流中获取第一视频数据;

当所述第一服务器确定所述第一视频数据获取失败时,向所述第二服务器发送第一视频数据的获取请求,其中,所述获取请求中携带有直播间标识;

所述第一服务器接收所述第二服务器发送的基于所述直播间标识确定的第二视频数据;

所述第一服务器根据所述第一视频数据的开始标识和结束标识,在所述第二视频数据中,截取所述第一视频数据;

所述第一服务器将所述第一视频数据和所述直播间标识对应存储,并在所述直播间标识对应的回放界面添加所述第一视频数据的标识。

可选的,所述方法还包括:

在所述第一视频数据的开始位置处添加片头视频数据,其中,所述片头视频数据中至少包括直播间中主播的账户信息;

所述第一服务器将所述第一视频数据和所述直播间标识对应存储,包括:

所述第一服务器将添加片头视频数据的第一视频数据与所述直播间标识对应存储。

可选的,所述方法还包括:

在所述第一视频数据的结束位置处添加片尾视频数据,其中,所述片尾视频数据中至少包括直播间所属应用程序的标识;

所述第一服务器将所述第一视频数据和所述直播间标识对应存储,包括:

所述第一服务器将添加片尾视频数据的第一视频数据与所述直播间标识对应存储。

可选的,所述获取请求中还携带有所述第一视频数据的结束标识和所述第一视频数据的时长;

所述第一服务器接收所述第二服务器发送的基于所述直播间标识确定的第二视频数据,包括:

所述第一服务器接收所述第二服务器发送的基于所述直播间标识、所述结束标识和所述第一视频数据的时长,确定的第二视频数据。

可选的,所述获取请求中还携带有所述第一视频数据的开始标识和结束标识;

所述第一服务器接收所述第二服务器发送的基于所述直播间标识确定的第二视频数据,包括:

所述第一服务器接收所述第二服务器发送的基于所述直播间标识、所述第一视频数据的开始标识和结束标识,确定的第二视频数据。

可选的,所述第二视频数据中包括按时间顺序排列的多个视频数据片段;

所述第一服务器根据第一视频数据的开始标识和结束标识,在所述第二视频数据中,截取所述第一视频数据,包括:

所述第一服务器在所述多个视频数据片段中的第一个视频数据片段中,截取所述第一视频数据的开始标识之后的视频数据,并在所述多个视频数据片段中的最后一个视频数据片段中,截取所述第一视频数据的结束标识之前的视频数据;

将所述开始标识之后的视频数据、所述多个视频数据片段中除所述第一个视频数据片段和所述最后一个视频数据片段之外的视频数据片段、所述结束标识之前的视频数据,合并成第一视频数据。

可选的,所述方法还包括:

当接收到终端发送的所述第一视频数据的停止获取请求时,如果所述第一视频数据的时长小于录制时长,则确定所述第一视频数据获取失败;或者,

当接收到终端发送的所述第一视频数据的停止获取请求时,如果所述第一视频数据损坏,则确定所述第一视频数据获取失败。

第二方面,提供了一种获取视频数据的方法,所述方法包括:

第二服务器接收第一服务器在确定第一视频数据获取失败时,发送的所述第一视频数据的获取请求,其中,所述获取请求中携带有直播间标识;

所述第二服务器根据所述直播间标识,在存储的视频存档文件中,确定第二视频数据;

所述第二服务器向所述第一服务器发送所述第二视频数据。

可选的,所述获取请求中还携带有所述第一视频数据的结束标识和所述第一视频数据的时长;

所述第二服务器根据所述直播间标识,在存储的视频存档文件中,确定第二视频数据,包括:

所述第二服务器在存储的视频存档文件中,确定所述直播间标识对应的视频数据;

所述第二服务器根据所述第一视频数据的结束标识和所述第一视频数据的时长,在所述直播间标识对应的视频数据中,截取第二视频数据。

可选的,所述直播间的标识对应的视频数据包括按照时间顺序排列的多个视频数据片段;

所述第二服务器根据所述第一视频数据的结束标识和所述第一视频数据的时长,在所述直播间标识对应的视频数据中,截取第二视频数据,包括:

所述第二服务器在所述直播间标识对应的视频数据中,获取所述第一视频数据的结束标识所在的第一视频数据片段,并根据所述结束标识和所述时长,确定出所述第一视频数据的开始标识;

所述第二服务器获取所述第一视频数据的开始标识所在的第二视频数据片段;

所述第二服务器将所述第二视频数据片段、所述直播间标识对应的视频数据中所述第二视频数据片段和所述第一视频数据片段之间的视频数据片段、所述第一视频数据片段,合并成所述第二视频数据。

可选的,所述获取请求中还携带有所述第一视频数据的开始标识和结束标识;

所述第二服务器根据所述直播间标识,在存储的视频存档文件中,确定第二视频数据,包括:

所述第二服务器在存储的视频存档文件中,确定所述直播间标识对应的视频数据;

所述第二服务器基于所述开始标识和所述结束标识,在所述直播间标识对应的视频数据中,截取第二视频数据。

可选的,所述直播间的标识对应的视频数据包括按照时间顺序排列的多个视频数据片段;

所述第二服务器基于所述开始标识和所述结束标识,在所述直播间标识对应的视频数据中,截取第二视频数据,包括:

所述第二服务器在所述直播间标识对应的视频数据中,获取所述第一视频数据的开始标识所在的第三视频数据片段,并且获取所述第一视频数据的结束标识所在的第四视频数据片段;

所述第二服务器将所述第三视频数据片段、所述直播间标识对应的视频数据中所述第三视频数据片段和所述第四视频数据片段之间的视频数据片段、所述第四视频数据片段,合并成所述第二视频数据。

第三方面,提供了一种获取视频数据的第一服务器,第一服务器包括:

获取模块,用于在直播过程中,从第二服务器接收自主播终端的直播视频流中获取第一视频数据;

发送模块,用于当确定所述第一视频数据获取失败时,向所述第二服务器发送第一视频数据的获取请求,其中,所述获取请求中携带有直播间标识;

接收模块,用于接收所述第二服务器发送的基于所述直播间标识确定的第二视频数据;

截取模块,用于根据所述第一视频数据的开始标识和结束标识,在所述第二视频数据中,截取所述第一视频数据;

存储模块,用于将所述第一视频数据和所述直播间标识对应存储,并在所述直播间标识对应的回放界面添加所述第一视频数据的标识。

可选的,所述第一服务器还包括:

第一添加模块,用于在所述第一视频数据的开始位置处添加片头视频数据,其中,所述片头视频数据中至少包括直播间中主播的账户信息;

所述存储模块,用于将添加片头视频数据的第一视频数据与所述直播间标识对应存储。

可选的,所述第一服务器还包括:

第一添加模块,用于在所述第一视频数据的结束位置处添加片尾视频数据,其中,所述片尾视频数据中至少包括直播间所属应用程序的标识;

所述存储模块,用于将添加片尾视频数据的第一视频数据与所述直播间标识对应存储。

可选的,所述获取请求中还携带有所述第一视频数据的结束标识和所述第一视频数据的时长;

所述接收模块,用于:

接收所述第二服务器发送的基于所述直播间标识、所述结束标识和所述第一视频数据的时长,确定的第二视频数据。

可选的,所述获取请求中还携带有所述第一视频数据的开始标识和结束标识;

所述接收模块,用于:

接收所述第二服务器发送的基于所述直播间标识、所述第一视频数据的开始标识和结束标识,确定的第二视频数据。

可选的,所述第二视频数据中包括按时间顺序排列的多个视频数据片段;

所述截取模块,用于:

所述第一服务器在所述多个视频数据片段中的第一个视频数据片段中,截取所述第一视频数据的开始标识之后的视频数据,并在所述多个视频数据片段中的最后一个视频数据片段中,截取所述第一视频数据的结束标识之前的视频数据;

将所述开始标识之后的视频数据、所述多个视频数据片段中除所述第一个视频数据片段和所述最后一个视频数据片段之外的视频数据片段、所述结束标识之前的视频数据,合并成第一视频数据。

可选的,所述第一服务器还包括:

确定模块,用于:

当接收到终端发送的所述第一视频数据的停止获取请求时,如果所述第一视频数据的时长小于录制时长,则确定所述第一视频数据获取失败;或者,

当接收到终端发送的所述第一视频数据的停止获取请求时,如果所述第一视频数据损坏,则确定所述第一视频数据获取失败。

第四方面,提供了一种获取视频数据的第二服务器,第二服务器包括:

接收模块,用于接收第一服务器在确定第一视频数据获取失败时,发送的所述第一视频数据的获取请求,其中,所述获取请求中携带有直播间标识;

确定模块,用于根据所述直播间标识,在存储的视频存档文件中,确定第二视频数据;

发送模块,用于向所述第一服务器发送所述第二视频数据。

可选的,所述获取请求中还携带有所述第一视频数据的结束标识和所述第一视频数据的时长;

所述确定模块,用于:

在存储的视频存档文件中,确定所述直播间标识对应的视频数据;

根据所述第一视频数据的结束标识和所述第一视频数据的时长,在所述直播间标识对应的视频数据中,截取第二视频数据。

可选的,所述直播间的标识对应的视频数据包括按照时间顺序排列的多个视频数据片段;

所述确定模块,用于:

在所述直播间标识对应的视频数据中,获取所述第一视频数据的结束标识所在的第一视频数据片段,并根据所述结束标识和所述时长,确定出所述第一视频数据的开始标识;

获取所述第一视频数据的开始标识所在的第二视频数据片段;

将所述第二视频数据片段、所述直播间标识对应的视频数据中所述第二视频数据片段和所述第一视频数据片段之间的视频数据片段、所述第一视频数据片段,合并成所述第二视频数据。

可选的,所述获取请求中还携带有所述第一视频数据的开始标识和结束标识;

所述确定模块,用于:

在存储的视频存档文件中,确定所述直播间标识对应的视频数据;

基于所述开始标识和所述结束标识,在所述直播间标识对应的视频数据中,截取第二视频数据。

可选的,所述直播间的标识对应的视频数据包括按照时间顺序排列的多个视频数据片段;

所述确定模块,用于:

在所述直播间标识对应的视频数据中,获取所述第一视频数据的开始标识所在的第三视频数据片段,并且获取所述第一视频数据的结束标识所在的第四视频数据片段;

将所述第三视频数据片段、所述直播间标识对应的视频数据中所述第三视频数据片段和所述第四视频数据片段之间的视频数据片段、所述第四视频数据片段,合并成所述第二视频数据。

第五方面,提供了一种获取视频数据的系统,所述系统包括第一服务器和第二服务器,其中:

所述第一服务器,如上述第三方面所述的第一服务器;

所述第二服务器,如上述第四方面所述的第二服务器。

本发明实施例提供的技术方案带来的有益效果至少包括:

本发明实施例中,第一服务器在获取第一视频数据失败后,可以从第二服务器存储的视频存档文件中,恢复出第一视频数据,第一视频数据对应用户点播的节目,后续用户想查看点播的节目的视频数据时,可以直接观看第一视频数据即可,而不需要浏览直播间标识对应的全部视频数据,所以可以节约时间,体检比较好。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种获取视频数据的系统场景图;

图2是本发明实施例提供的一种获取视频数据的方法流程图;

图3是本发明实施例提供的一种回放界面的显示界面图;

图4是本发明实施例提供的一种确定第二音频数据的流程示意图;

图5是本发明实施例提供的一种确定第二音频数据的流程示意图;

图6是本发明实施例提供的一种第一服务器的结构示意图;

图7是本发明实施例提供的一种第一服务器的结构示意图;

图8是本发明实施例提供的一种第一服务器的结构示意图;

图9是本发明实施例提供的一种第一服务器的结构示意图;

图10是本发明实施例提供的一种第二服务器的结构示意图;

图11是本发明实施例提供的一种第一服务器的结构示意图;

图12是本发明实施例提供的一种第二服务器的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种获取视频数据的方法,该方法的执行主体可以是服务器。服务器可以包括直播应用程序的后台服务器和cdn(contentdeliverynetwork,内容分发网络)服务器,后台服务器可以用于存储直播视频数据等,内容分发服务器可以用于对直播间的视频数据进行分发处理,如将视频数据分发给直播间中各账户的登录终端。

后台服务器中可以设置有处理器、存储器和收发器等,处理器可以用于获取视频数据的处理,存储器可以用于获取视频数据过程中需要的数据以及产生的数据,收发器可以用于接收以及发送消息等。

cdn服务器中可以设置有处理器、存储器和收发器等,处理器可以用于获取视频数据的处理,存储器可以用于获取视频数据过程中需要的数据以及产生的数据,收发器可以用于接收以及发送消息等。

在进行实施前,首先介绍一下本发明实施例的应用场景:

用户在直播间中观看主播直播的过程中,想要请主播演唱歌曲,可以点击直播界面中显示的邀请演唱选项,终端则会检测到邀请演唱选项的点击指令,显示收费标准。每个费用对应有演唱时长,用户可以选择演唱时长,并且输入演唱的歌曲的名称,然后点击确认按键,终端则会检测到确认按键的点击指令,显示支付界面,用户可以支付相应的费用。

在支付成功后,终端可以生成演唱请求,并在其中添加用户选择的歌曲的名称和演唱时长,向后台服务器发送演唱请求。后台服务器接收到演唱请求后,可以从中解析得到演唱时长和演唱的歌曲的名称。然后向主播账户的登录终端(后续可以称为是主播终端)发送演唱通知,并在其中携带选取的歌曲的名称和用户的账户标识。该主播终端接收到演唱通知后,可以显示演唱通知中的歌曲的名称和用户的账户标识,并在主播终端显示的直播界面中,显示开始演唱选项。主播可以点击开始演唱的选项,主播终端则会检测到该选项的点击指令,向后台服务器发送开始演唱请求,在该开始演唱请求中携带有开始标识和直播间标识(开始标识可以是主播终端接收到开始演唱选项的点击指令的时间点),同时主播可以演唱用户选择的歌曲。

如图1所示,后台服务器接收到主播终端发送的开始演唱请求后,可以从中解析得到开始标识和直播间标识,向cdn服务器发送视频数据的获取请求,并在获取请求中携带直播间标识。cdn服务器接收到获取请求后,可以从中解析得到直播间标识,cdn服务器可以向后台服务器发送当前接收到的直播间标识对应的视频数据。后台服务器接收到视频数据后,可以对应直播间标识进行存储。

在后台服务器从cdn服务器获取视频数据的过程中,用户不想听主播演唱歌曲,可以通过自己的终端向后台服务器发送停止获取请求,该停止获取请求中携带有直播间标识,后台服务器接收到停止获取请求后,可以向cdn服务器发送停止发送视频数据请求,并且向主播终端发送停止演唱通知。cdn服务器停止向后台服务器发送视频数据,主播可以基于停止演唱通知,不再演唱歌曲,主播可以进行其他表演。

另外,如果在用户选择的时长结束时,后台服务器还未接收到用户的终端发送的停止获取请求,在用户选择的时长结束时,后台服务器可以向cdn服务器发送停止发送视频数据请求,并且向主播终端发送停止演唱通知。cdn服务器停止向后台服务器发送视频数据,主播可以基于停止演唱通知,不再演唱歌曲,主播可以进行其他表演。

在后台服务器与cdn服务器之间的网络质量比较差时,后台服务器有可能接收不到cdn服务器发送的视频数据,导致视频数据获取失败,所以本发明实施例基于此,提出了如下方案。

如图2所示,本发明实施例中第一服务器为上述提到的后台服务器,第二服务器为上述提到的cdn服务器,该方法的处理流程可以包括如下的步骤:

步骤201,在直播过程中,第一服务器从第二服务器接收自主播终端的直播视频流中获取第一视频数据。

在实施中,如应用场景中的介绍,第一服务器会从第二服务器接收自主播终端的直播流中,实时获取主播演唱歌曲的视频数据(即第一视频数据)。

步骤202,当第一服务器确定第一视频数据获取失败时,向第二服务器发送第一视频数据的获取请求。

在实施中,第一服务器在接收到停止获取请求时,可以判断第一视频数据是否完整,如果不完整,则可以生成获取请求,并确定发送停止获取请求的账户当前所在的直播间,进而确定该直播间的直播间标识,将直播间标识添加至获取请求中。然后向第二服务器发送第一视频数据的获取请求,以使第二服务器在存储的视频存档文件中,为第一服务器恢复出第一视频数据。

可选的,有多种方式可以确定第一视频数据获取失败,以下给出两种可行的方式:

方式一,当接收到终端发送的第一视频数据的停止获取请求时,如果第一视频数据的时长小于录制时长,则确定第一视频数据获取失败。

在实施中,服务器在接收到用户的终端发送的第一视频数据的停止获取请求时,可以计算接收到停止获取请求时的时间点与开始标识对应的时间点的时间差(也就是录制时长),如果该时间差大于自身获取到的第一视频数据的时长,可以确定第一视频数据获取失败。或者停止获取请求中携带有结束标识,结束标识可以是用户的终端生成停止获取请求的时间点,录制时长也就是该时间点与开始标识对应的时间点的差值。

另外,如果该时间差小于或等于自身获取到的第一视频数据的时长,则可以确定第一视频数据未获取失败。

方式二,当接收到终端发送的第一视频数据的停止获取请求时,如果第一视频数据损坏,则确定第一视频数据获取失败。

在实施中,服务器在接收到用户的终端发送的第一视频数据的停止获取请求时,可以查看第一视频数据是否能正常播放,如果不能播放,则可以确定第一视频数据获取失败。

另外,如果第一视频数据可以正常播放,则可以确定第一视频数据未获取失败。

步骤203,第二服务器接收第一服务器在确定第一视频数据获取失败时,发送的第一视频数据的获取请求,其中,获取请求中携带有直播间标识。

在实施中,第二服务器接收到第一服务器发送的第一视频数据的获取请求后,可以解析该获取请求,从中获取到直播间标识。

步骤204,第二服务器根据直播间标识,在存储的视频存档文件中,确定第二视频数据。

在实施中,第二服务器确定出直播间标识后,可以根据直播间标识,在存储的视频存档文件中查找到第二视频数据。

可选的,第二服务器可以使用直播间标识,在存储的视频存档文件中,查找到直播间标识对应的视频数据,确定为第二视频数据,也就是说将直播间标识对应的视频数据全部发送至第一服务器,第一服务器从中查找到第一视频数据。

需要说明的是,目前,由于直播的监管需要,第二服务器作为cdn服务器,一般会存储一段时间直播间的直播视频数据(也就是视频存档文件),才进行删除。

步骤205,第二服务器向第一服务器发送第二视频数据。

在实施中,第二服务器确定出第二视频数据后,可以向第一服务器发送第二视频数据。

步骤206,第一服务器接收第二服务器发送的基于直播间标识确定的第二视频数据。

步骤207,第一服务器根据第一视频数据的开始标识和结束标识,在第二视频数据中,截取第一视频数据。

在实施中,第一服务器可以获取第一视频数据的开始标识(也就是前面主播终端发送的开始演唱请求中携带的开始标识),并且可以获取第一视频数据的结束标识(也就是前面第一服务器接收到停止获取请求时的时间点),然后使用开始标识和结束标识在第二视频数据中,截取第一视频数据。由于有第一视频数据的开始标识和结束标识,所以可以从第二视频数据中,截取到第一视频数据。

另外,开始标识还可以是主播终端在检测到开始演唱的选项的点击指令时,在发送至第二服务器的视频数据中,添加的某个标记,用于记录从此时开始录制第一视频数据。

可选的,在第二服务器存储视频存档文件时,一般都是按照视频数据片段的形式进行存储,那么获取到的第二视频数据中也包括按时间顺序排列的多个视频数据片段,相应的步骤207的处理可以如下:

第一服务器在多个视频数据片段中的第一个视频数据片段中,截取第一视频数据的开始标识之后的视频数据,并在多个视频数据片段中的最后一个视频数据片段中,截取第一视频数据的结束标识之前的视频数据;将开始标识之后的视频数据、多个视频数据片段中除第一个视频数据片段和最后一个视频数据片段之外的视频数据片段、结束标识之前的视频数据,合并成第一视频数据。

在实施中,第一服务器可以确定第二视频数据中的第一个视频数据片段,然后使用第一视频数据的开始标识,在第一个视频数据片段中,截取出开始标识之后的视频数据。并且确定第二视频数据中的最后一个视频数据片段,使用第一视频数据的结束标识,在最后一个视频数据片段中,截取出结束标识之前的视频数据。然后确定第二视频数据中除第一个视频数据片段和最后一个视频数据片段之外的其它视频数据片段,依次将开始标识之后的视频数据、其它视频数据片段和结束标识之前的视频数据进行合成,得到第一视频数据。

例如,第二视频数据包括5个视频数据片段,按照时间顺序依次是a1、a2、a3、a4、a5,在a1中截取出开始标识之后的视频数据b1,并且在a5中截取出结束标识之前的视频数据b5,合成后的第一视频数据为b1、a2、a3、a4、b5。

需要说明的是,此处第二视频数据是第二服务器根据第一视频数据的结束标识和第一视频数据的时长,在直播间标识对应的视频数据中,截取第二视频数据,或者,第二服务器基于开始标识和结束标识,在直播间标识对应的视频数据中,截取第二视频数据。(处理过程在后面说明)

步骤208,第一服务器将第一视频数据和直播间标识对应存储,并在直播间标识对应的回放界面添加第一视频数据的标识。

在实施中,第一服务器在截取出第一视频数据后,可以将第一视频数据和直播间标识对应存储,并且在直播间的回放界面中,添加第一视频数据的标识,这样,后续用户想要浏览第一视频数据时,可以直接打开直播间的回放界面,通过触发第一视频数据的标识,获取第一视频数据进行播放,而不需要去直播间此次直播的所有视频数据中查找。例如,如图3所示,第一视频数据的标识为“主播a首次演唱歌曲”,可以在回放界面中显示该标识。

另外,第一服务器可以将向第二服务器发送获取请求之前获取到的第一视频数据删除,这样可以节约存储资源。

可选的,为了使第一视频数据展示更美观,还可以设置片头视频数据,可以进行如下处理:

在第一视频数据的开始位置处添加片头视频数据,其中,片头视频数据中至少包括直播间中主播的账户信息。第一服务器将添加片头视频数据的第一视频数据与直播间标识对应存储。

在实施中,第一服务器中可以存储有片头视频数据的模板,模板中设置有主播的账户信息的填写位置。第一服务器可以获取直播间中主播的账户信息,然后将账户信息填写至模板的相应位置处。然后第一服务器可以在第一视频数据的开始位置处增加片头视频数据,然后将添加片头视频数据的第一视频数据与直播间标识对应存储。

另外,片头视频数据中还可以包括用户的账户信息(该账户信息指请求第一服务器获取第一视频数据的账户的账户信息)。

可选的,为了使第一视频数据展示更美观,还可以设置片尾视频数据,可以进行如下处理:

在第一视频数据的结束位置处添加片尾视频数据,其中,片尾视频数据中至少包括直播间所属应用程序的标识;第一服务器将添加片尾视频数据的第一视频数据与直播间标识对应存储。

在实施中,第一服务器中可以存储有片尾视频数据的模板,模板中设置有应用程序的标识的填写位置。第一服务器可以获取直播间所属应用程序的标识,然后将该标识填写至模板的相应位置处。然后第一服务器可以在第一视频数据的末端位置处增加片尾视频数据,然后将添加片尾视频数据的第一视频数据与直播间标识对应存储。

另外,片尾视频数据中还可以包括用户的账户信息(该账户信息指请求第一服务器获取第一视频数据的账户的账户信息)。

另外,还可以同时在第一视频数据中,添加片头视频数据和片尾视频数据,添加方法与上述方式完全相同,此处不再赘述。

需要说明的是,添加片头视频数据和/或片尾视频数据后,可以使第一视频数据更完整,用户体验更好。

另外,本发明实施例中,还提供了获取请求中携带第一视频数据的结束标识和第一视频数据的时长时,如何获取第二视频数据的处理,如图4所示,相应的处理步骤可以如下:

步骤401,第二服务器在存储的视频存档文件中,确定直播间标识对应的视频数据。

在实施中,第二服务器在接收到第一视频数据的获取请求时,可以从中解析到直播间标识、第一视频数据的时长和第一视频数据的结束标识。

然后第二服务器可以使用直播间标识,在自身存储的视频存档文件中查找直播间标识对应的视频数据。

步骤402,第二服务器根据第一视频数据的结束标识和第一视频数据的时长,在直播间标识对应的视频数据中,截取第二视频数据。

在实施中,第二服务器可以根据第一视频数据的结束标识,在查找到的视频数据中,确定第二视频数据的结束位置,然后从结束位置,向前推移第一视频数据的时长,确定出第二视频数据的开始位置,基于开始位置和结束位置在直播间标识对应的视频数据中,截取出第二视频数据。然后第二服务器可以向第一服务器发送第二视频数据。

可选的,直播间的标识对应的视频数据包括按照时间顺序排列的多个视频数据片段,步骤402的处理可以如下:

第二服务器在直播间标识对应的视频数据中,获取第一视频数据的结束标识所在的第一视频数据片段,并根据结束标识和时长,确定出第一视频数据的开始标识;第二服务器获取第一视频数据的开始标识所在的第二视频数据片段;第二服务器将第二视频数据片段、直播间标识对应的视频数据中第二视频数据片段和第一视频数据片段之间的视频数据片段、第一视频数据片段,合并成第二视频数据。

在实施中,直播间标识对应的视频数据中包括多个按照时间顺序排列的视频数据片段,每个视频数据片段都是等长的(如1分钟等),均对应有一个时间标识,对于任一视频数据片段,时间标识一般是第二服务器开始截取该视频数据片段的时间点,由于第二服务器是分发视频数据服务器,所以开始截取该视频数据片段的时间点,也就是第二服务器接收到视频数据片段的时间点。

第二服务器可以根据第一视频数据的结束标识,在查找到的多个视频数据片段中,基于各视频数据片段的时间点,确定结束标识所在的第一视频数据片段。并且可以使用结束标识和第一视频数据的时长,确定出第一视频数据的开始标识(如果结束标识为结束时间点,可以将结束时间点的时间减去第一视频数据的时长,得到开始时间点,也就是开始标识)。然后基于各视频数据片段的时间点,确定出开始时间点所在的第二视频数据片段。

然后第二服务器确定直播间标识对应的视频数据中第二视频数据片段和第一视频数据片段之间的视频数据片段,将第二视频数据片段、直播间标识对应的视频数据中第二视频数据片段和第一视频数据片段之间的视频数据片段、第一视频片段按照时间顺序进行合成,得到第二视频数据。然后向第一服务器发送第二视频数据。

例如,直播间标识对应的视频数据中包括了8个视频数据片段,视频数据片段时间点依次为15:30:25、15:31:25、15:32:25、15:33:25、15:34:25、15:35:25、15:36:25、15:37:25、15:38:25。第一视频数据的结束标识为15:37:10,第一视频数据的时长为5分钟,第一视频数据的开始标识可以为15:32:10,第一视频数据的开始标识所在的视频数据片段为15:31:25的视频数据片段,第一视频数据的结束标识所在的视频数据片段为15:36:25的视频数据片段,那么第二视频数据由15:31:25、15:32:25、15:33:25、15:34:25、15:35:25、15:36:25的视频数据片段组成。

这样,使用了第一视频数据的结束标识和第一视频数据的时长,确定出第二视频数据,而不需要将直播间标识对应的全部视频数据发送至第一服务器,所以可以减少传输资源的浪费。

步骤403,第一服务器接收第二服务器发送的基于直播间标识、结束标识和第一视频数据的时长,确定的第二视频数据。

另外,本发明实施例中,还提供了获取请求中携带第一视频数据的开始标识和结束标识时,如何获取第二视频数据的处理,如图5所示,相应的处理步骤可以如下:

步骤501,第二服务器在存储的视频存档文件中,确定直播间标识对应的视频数据。

在实施中,第二服务器在接收到第一视频数据的获取请求时,可以从中解析到直播间标识、第一视频数据的开始标识和结束标识。

然后第二服务器可以使用直播间标识,在自身存储的视频存档文件中查找直播间标识对应的视频数据。

步骤502,第二服务器基于开始标识和结束标识,在直播间标识对应的视频数据中,截取第二视频数据。

在实施中,第二服务器可以根据第一视频数据的开始标识,在查找到的视频数据中,确定第二视频数据的开始位置,并且可以根据第一视频数据的结束标识,在查找到的视频数据中,确定第二视频数据的结束位置。基于开始位置和结束位置在直播间标识对应的视频数据中,截取出第二视频数据。然后第二服务器可以向第一服务器发送第二视频数据。

可选的,直播间的标识对应的视频数据包括按照时间顺序排列的多个视频数据片段,步骤502的处理可以如下:

第二服务器在直播间标识对应的视频数据中,获取第一视频数据的开始标识所在的第三视频数据片段,并且获取第一视频数据的结束标识所在的第四视频数据片段;第二服务器将第三视频数据片段、直播间标识对应的视频数据中第三视频数据片段和第四视频数据片段之间的视频数据片段、第四视频数据片段,合并成第二视频数据。

在实施中,直播间标识对应的视频数据中包括多个按照时间顺序排列的视频数据片段,每个视频数据片段都是等长的(如1分钟等),均对应有一个时间标识,对于任一视频数据片段,时间标识一般是第二服务器开始截取该视频数据片段的时间点,由于第二服务器是分发视频数据服务器,所以开始截取该视频数据片段的时间点,也就是第二服务器接收到视频数据片段的时间点。

第二服务器可以根据第一视频数据的开始标识,在查找到的多个视频数据片段中,基于各视频数据片段的时间点,确定开始标识所在的第三视频数据片段。并且可以根据第一视频数据的结束标识,在查找到的多个视频数据片段中,基于各视频数据片段的时间点,确定结束标识所在的第四视频数据片段。

然后第二服务器确定直播间标识对应的视频数据中第三视频数据片段和第四视频数据片段之间的视频数据片段,将第三视频数据片段、直播间标识对应的视频数据中第三视频数据片段和第四视频数据片段之间的视频数据片段、第四视频片段按照时间顺序进行合成,得到第二视频数据。然后向第一服务器发送第二视频数据。

例如,直播间标识对应的视频数据中包括了8个视频数据片段,视频数据片段时间点依次为15:30:25、15:31:25、15:32:25、15:33:25、15:34:25、15:35:25、15:36:25、15:37:25、15:38:25。第一视频数据的开始标识为15:31:50,结束标识为15:37:10,第一视频数据的开始标识所在的视频数据片段为15:31:25的视频数据片段,第一视频数据的结束标识所在的视频数据片段为15:36:25的视频数据片段,那么第二视频数据由15:31:25、15:32:25、15:33:25、15:34:25、15:35:25、15:36:25的视频数据片段组成。

这样,使用了第一视频数据的开始标识和第一视频数据的结束标识,确定出第二视频数据,而不需要将直播间标识对应的全部视频数据发送至第一服务器,所以可以减少传输资源的浪费。

步骤503,第一服务器接收第二服务器发送的基于直播间标识、第一视频数据的开始标识和结束标识,确定的第二视频数据。

在实施中,第一服务器可以接收第二服务器发送的第二视频数据。

本发明实施例中,第一服务器在获取第一视频数据失败后,可以从第二服务器存储的视频存档文件中恢复出第一视频数据,第一视频数据对应用户点播的节目,后续用户想查看点播的节目的视频数据时,可以直接观看第一视频数据即可,而不需要浏览直播间标识对应的全部视频数据,所以可以节约时间,体检比较好。

基于相同的技术构思,本发明实施例还提供了一种获取视频数据的第一服务器,如图6所示,该第一服务器包括:

获取模块610,用于在直播过程中,从第二服务器接收自主播终端的直播视频流中获取第一视频数据;

发送模块620,用于当确定所述第一视频数据获取失败时,向所述第二服务器发送第一视频数据的获取请求,其中,所述获取请求中携带有直播间标识;

接收模块630,用于接收所述第二服务器发送的基于所述直播间标识确定的第二视频数据;

截取模块640,用于根据所述第一视频数据的开始标识和结束标识,在所述第二视频数据中,截取所述第一视频数据;

存储模块650,用于将所述第一视频数据和所述直播间标识对应存储,并在所述直播间标识对应的回放界面添加所述第一视频数据的标识。

可选的,如图7所示,所述第一服务器还包括:

第一添加模块660,用于在所述第一视频数据的开始位置处添加片头视频数据,其中,所述片头视频数据中至少包括直播间中主播的账户信息;

所述存储模块650,用于将添加片头视频数据的第一视频数据与所述直播间标识对应存储。

可选的,如图8所示,所述第一服务器还包括:

第二添加模块670,用于在所述第一视频数据的结束位置处添加片尾视频数据,其中,所述片尾视频数据中至少包括直播间所属应用程序的标识;

所述存储模块650,用于将添加片尾视频数据的第一视频数据与所述直播间标识对应存储。

可选的,所述获取请求中还携带有所述第一视频数据的结束标识和所述第一视频数据的时长;

所述接收模块630,用于:

接收所述第二服务器发送的基于所述直播间标识、所述结束标识和所述第一视频数据的时长,确定的第二视频数据。

可选的,所述获取请求中还携带有所述第一视频数据的开始标识和结束标识;

所述接收模块630,用于:

接收所述第二服务器发送的基于所述直播间标识、所述第一视频数据的开始标识和结束标识,确定的第二视频数据。

可选的,所述第二视频数据中包括按时间顺序排列的多个视频数据片段;

所述截取模块640,用于:

所述第一服务器在所述多个视频数据片段中的第一个视频数据片段中,截取所述第一视频数据的开始标识之后的视频数据,并在所述多个视频数据片段中的最后一个视频数据片段中,截取所述第一视频数据的结束标识之前的视频数据;

将所述开始标识之后的视频数据、所述多个视频数据片段中除所述第一个视频数据片段和所述最后一个视频数据片段之外的视频数据片段、所述结束标识之前的视频数据,合并成第一视频数据。

可选的,如图9所示,所述第一服务器还包括:

确定模块680,用于:

当接收到终端发送的所述第一视频数据的停止获取请求时,如果所述第一视频数据的时长小于录制时长,则确定所述第一视频数据获取失败;或者,

当接收到终端发送的所述第一视频数据的停止获取请求时,如果所述第一视频数据损坏,则确定所述第一视频数据获取失败。

本发明实施例中,第一服务器在获取第一视频数据失败后,可以从第二服务器存储的视频存档文件中恢复出第一视频数据,第一视频数据对应用户点播的节目,后续用户想查看点播的节目的视频数据时,可以直接观看第一视频数据即可,而不需要浏览直播间标识对应的全部视频数据,所以可以节约时间,体检比较好。

需要说明的是:上述实施例提供的服务器在获取视频数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的服务器与获取视频数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

基于相同的技术构思,本发明实施例还提供了一种获取视频数据的第二服务器,如图10所示,该第二服务器包括:

接收模块1010,用于接收第一服务器在确定第一视频数据获取失败时,发送的所述第一视频数据的获取请求,其中,所述获取请求中携带有直播间标识;

确定模块1020,用于根据所述直播间标识,在存储的视频存档文件中,确定第二视频数据;

发送模块1030,用于向所述第一服务器发送所述第二视频数据。

可选的,所述获取请求中还携带有所述第一视频数据的结束标识和所述第一视频数据的时长;

所述确定模块1020,用于:

在存储的视频存档文件中,确定所述直播间标识对应的视频数据;

根据所述第一视频数据的结束标识和所述第一视频数据的时长,在所述直播间标识对应的视频数据中,截取第二视频数据。

可选的,所述直播间的标识对应的视频数据包括按照时间顺序排列的多个视频数据片段;

所述确定模块1020,用于:

在所述直播间标识对应的视频数据中,获取所述第一视频数据的结束标识所在的第一视频数据片段,并根据所述结束标识和所述时长,确定出所述第一视频数据的开始标识;

获取所述第一视频数据的开始标识所在的第二视频数据片段;

将所述第二视频数据片段、所述直播间标识对应的视频数据中所述第二视频数据片段和所述第一视频数据片段之间的视频数据片段、所述第一视频数据片段,合并成所述第二视频数据。

可选的,所述获取请求中还携带有所述第一视频数据的开始标识和结束标识;

所述确定模块1020,用于:

在存储的视频存档文件中,确定所述直播间标识对应的视频数据;

基于所述开始标识和所述结束标识,在所述直播间标识对应的视频数据中,截取第二视频数据。

可选的,所述直播间的标识对应的视频数据包括按照时间顺序排列的多个视频数据片段;

所述确定模块1020,用于:

在所述直播间标识对应的视频数据中,获取所述第一视频数据的开始标识所在的第三视频数据片段,并且获取所述第一视频数据的结束标识所在的第四视频数据片段;

将所述第三视频数据片段、所述直播间标识对应的视频数据中所述第三视频数据片段和所述第四视频数据片段之间的视频数据片段、所述第四视频数据片段,合并成所述第二视频数据。

本发明实施例中,第一服务器在获取第一视频数据失败后,可以从第二服务器存储的视频存档文件中恢复出第一视频数据,第一视频数据对应用户点播的节目,后续用户想查看点播的节目的视频数据时,可以直接观看第一视频数据即可,而不需要浏览直播间标识对应的全部视频数据,所以可以节约时间,体检比较好。

需要说明的是:上述实施例提供的服务器在获取视频数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的服务器与获取视频数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图11是本发明实施例提供的一种第一服务器的结构示意图,该第一服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1101和一个或一个以上的存储器1102,其中,所述存储器1102中存储有至少一条指令,所述至少一条指令由所述处理器1101加载并执行上述获取视频数据的方法的处理。

图12是本发明实施例提供的一种第二服务器的结构示意图,该第二服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1201和一个或一个以上的存储器1202,其中,所述存储器1202中存储有至少一条指令,所述至少一条指令由所述处理器1201加载并执行上述获取视频数据的方法的处理。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1