CN111355972A - 视频流处理方法、服务器、客户端及介质 - Google Patents
视频流处理方法、服务器、客户端及介质 Download PDFInfo
- Publication number
- CN111355972A CN111355972A CN202010136818.1A CN202010136818A CN111355972A CN 111355972 A CN111355972 A CN 111355972A CN 202010136818 A CN202010136818 A CN 202010136818A CN 111355972 A CN111355972 A CN 111355972A
- Authority
- CN
- China
- Prior art keywords
- video stream
- client
- slave
- server
- uploaded
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26241—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种视频流处理方法、服务器、客户端及介质。该方法包括:确定待接收视频流的至少两个从客户端以及各个从客户端分别对应的视频流上传时间,接收各个从客户端在各自对应的视频流上传时间所上传的视频流,当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端。本申请实现了降低服务器压力以及网络拥堵,改善网络状况,使得主客户端可以实时接收到视频流,提升用户体验。
Description
技术领域
本申请涉及直播技术领域,具体而言,本申请涉及一种视频流处理方法、服务器、客户端及介质。
背景技术
随着计算机网络技术的不断发展,互联网直播逐渐兴起,直播内容也越来越多样化。例如,直播内容可以为品牌发布会、电影首映礼等。随着远程教育的兴起,教师在网络向学生授课为主要直播内容的网络课程直播逐渐受到用户的青睐,由于网络课程直播可以随时随地进行教学活动,大大提升了用户的便利性。
现有的网络课程直播大多为一对多的教学形式,即一个教师通过网络向多个学生进行教学活动。具体地,教师客户端录制教师进行课程讲解的视频流,并将录制的视频流通过网络发送至多个学生客户端,以完成一个教师向多个学生的教学活动,同时,各个学生客户端录制各个学生听课状态的视频流,并通过网络发送至教师客户端,以使教师随时了解各个学生的听课状态。当学生数量较多时,服务器接收各个学生客户端的视频流,并发送至教师客户端以及各个学生客户端时,容易造成服务器压力大以及网络拥堵,导致教师和/或学生无法实时接收到视频流,降低用户体验。
发明内容
本申请提供了一种视频流处理方法、服务器、客户端及介质,可以解决以上至少一种技术问题。
第一方面,提供了一种视频流处理方法,由服务器执行,该方法包括:
确定待接收视频流的至少两个从客户端以及各个从客户端分别对应的视频流上传时间;
接收各个从客户端在各自对应的视频流上传时间所上传的视频流;
当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端。
第二方面,提供了一种视频流处理方法,由主客户端执行,该方法包括:
针对至少两个从客户端,接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流;
当接收到服务器发送的任一个从客户端上传的视频流时,显示接收到的视频流。
第三方面,提供了一种视频流处理方法,由任一个从客户端执行,该方法包括:
确定视频流上传时间,并向服务器上传在视频流上传时间所录制的视频流;
接收服务器发送的至少两个从客户端在各自对应的视频流上传时间所上传的视频流;
当接收到任一个从客户端上传的视频流时,显示接收到的视频流。
第四方面,提供了一种服务器,该服务器包括:
确定模块,用于确定待接收视频流的至少两个从客户端以及各个从客户端分别对应的视频流上传时间;
处理模块,用于接收各个从客户端在各自对应的视频流上传时间所上传的视频流;
处理模块,还用于当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端。
第五方面,提供了一种主客户端,该主客户端包括:
处理模块,用于针对至少两个从客户端,接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流;
处理模块,还用于当接收到服务器发送的任一个从客户端上传的视频流时,显示接收到的视频流。
第六方面,提供了一种从客户端,该从客户端包括:
确定上传模块,用于确定视频流上传时间,并向服务器上传在视频流上传时间所录制的视频流;
处理模块,用于接收服务器发送的至少两个从客户端在各自对应的视频流上传时间所上传的视频流;
处理模块,还用于当接收到任一个从客户端上传的视频流时,显示接收到的视频流。
第七方面,提供了一种服务器,该服务器包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第一方面所示的视频流处理方法对应的操作。
第八方面,提供了一种主客户端,该主客户端包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第二方面所示的视频流处理方法对应的操作。
第九方面,提供了一种从客户端,该从客户端包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第三方面所示的视频流处理方法对应的操作。
第十方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所示的视频流处理方法。
第十一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第二方面所示的视频流处理方法。
第十二方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第三方面所示的视频流处理方法。
本申请提供的技术方案带来的有益效果是:
本申请提供了一种视频流处理方法、服务器及介质,与现有技术相比,本申请通过确定待接收视频流的至少两个从客户端以及各个从客户端分别对应的视频流上传时间,接收各个从客户端在各自对应的视频流上传时间所上传的视频流,当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端,实现了仅接收各个从客户端在各自对应的视频流上传时间所上传的视频流,并将接收到的任一个从客户端上传的视频流发送至主客户端,避免同时接收各个从客户端实时上传的视频流及将各个从客户端实时上传的视频流发送至主客户端,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻接收的视频流数量以及发送的视频流数量,降低服务器压力以及网络拥堵,改善网络状况,进而使得主客户端可以实时接收到视频流,提升用户体验。
本申请提供了一种视频流处理方法、主客户端及介质,与现有技术相比,本申请通过针对至少两个从客户端,接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,当接收到服务器发送的任一个从客户端上传的视频流时,显示接收到的视频流,实现了仅接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,避免同时接收服务器发送的各个从客户端实时上传的视频流,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻发送的视频流数量,有效降低服务器压力以及网络拥堵,改善网络状况,进而使得主客户端可以实时接收到视频流,提升用户体验。
本申请提供了一种视频流处理方法、从客户端及介质,与现有技术相比,本申请通过确定视频流上传时间,并向服务器上传在视频流上传时间所录制的视频流,接收服务器发送的至少两个从客户端在各自对应的视频流上传时间所上传的视频流,当接收到任一个从客户端上传的视频流时,显示接收到的视频流,实现了仅在视频流上传时间上传所录制的视频流,避免实时向服务器上传视频流,其次仅接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,避免同时接收服务器发送的各个从客户端实时上传的视频流,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻发送的视频流数量,有效降低服务器压力以及网络拥堵,改善网络状况,进而使得从客户端可以实时接收到视频流,提升用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种视频流处理方法的流程示意图;
图2为本申请实施例提供的另一种视频流处理方法的流程示意图;
图3为本申请实施例提供的另一种视频流处理方法的流程示意图;
图4为本申请实施例提供的一种视频流处理方法的交互流程示意图;
图5为本申请实施例提供的一种服务器的结构示意图;
图6为本申请实施例提供的一种主客户端的结构示意图;
图7为本申请实施例提供的一种从客户端的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例中提供了一种视频流处理方法,如图1所示,该方法由服务器执行,该方法包括:
步骤S101,确定待接收视频流的至少两个从客户端以及各个从客户端分别对应的视频流上传时间。
对于本申请实施例,从客户端指观看直播的客户端,如学生客户端等。在本申请实施例中,任一从客户端存在其对应的至少一个视频流上传时间,任两个从客户端对应的视频流上传时间可以相同,也可以不同,在本公开实施例中不做限定。例如,学生客户端1对应的视频流上传时间可以为8:00-8:05以及8:15-8:20,学生客户端2对应的视频流上传时间可以为8:05-8:15。
对于本申请实施例,服务器可以确定各个从客户端分别对应的视频流上传时间,并向各个从客户端发送各自对应的视频流上传时间。
步骤S102,接收各个从客户端在各自对应的视频流上传时间所上传的视频流。
对于本申请实施例,服务器可以接收任一从客户端在其对应的视频流上传时间内上传的视频流,如服务器可以接收学生客户端1分别在8:00-8:05以及8:15-8:20内上传的视频流,以及接收学生客户端2在8:05-8:15内上传的视频流。
步骤S103,当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端。
对于本申请实施例,服务器每当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端,其中,主客户端指直播的客户端,如教师客户端等。例如,服务器当接收到学生客户端1在8:00-8:05内上传的视频流时,将学生客户端1在8:00-8:05内上传的视频流发送至教师客户端;当接收到学生客户端2在8:05-8:15内上传的视频流时,将学生客户端2在8:05-8:15内上传的视频流发送至教师客户端;当接收到学生客户端1在8:15-8:20内上传的视频流时,将学生客户端1在8:15-8:20内上传的视频流发送至教师客户端。
对于本申请实施例,服务器每当接收到任一个从客户端上传的视频流时,还可以将接收到的视频流发送至各个从客户端。例如,服务器当接收到学生客户端1在8:00-8:05内上传的视频流时,将学生客户端1在8:00-8:05内上传的视频流分别发送至学生客户端1以及学生客户端2;当接收到学生客户端2在8:05-8:15内上传的视频流时,将学生客户端2在8:05-8:15内上传的视频流分别发送至学生客户端1以及学生客户端2;当接收到学生客户端1在8:15-8:20内上传的视频流时,将学生客户端1在8:15-8:20内上传的视频流分别发送至学生客户端1以及学生客户端2。其中,在本申请实施例以及下述实施例中仅描述服务器将接收到的任一个从客户端上传的视频流发送至主客户端的实现方式,服务器将接收到的任一个从客户端上传的视频流发送至各个从客户端的实现方式,与服务器将接收到的任一个从客户端上传的视频流发送至主客户端的实现方式相同,下面将不再赘述。
本申请实施例提供了一种视频流处理方法,与现有技术相比,本申请实施例通过确定待接收视频流的至少两个从客户端以及各个从客户端分别对应的视频流上传时间,接收各个从客户端在各自对应的视频流上传时间所上传的视频流,当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端,实现了仅接收各个从客户端在各自对应的视频流上传时间所上传的视频流,并将接收到的任一个从客户端上传的视频流发送至主客户端,避免同时接收各个从客户端实时上传的视频流及将各个从客户端实时上传的视频流发送至主客户端,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻接收的视频流数量以及发送的视频流数量,降低服务器压力以及网络拥堵,改善网络状况,进而使得主客户端可以实时接收到视频流,提升用户体验。
上述简单介绍了本申请的视频流处理方法,下面将对各个步骤进行详细说明,其中,步骤S101将从确定待接收视频流的任一个从客户端以及确定各个从客户端分别对应的视频流上传时间两方面进行详细说明。
本申请实施例中提供了另一种可能的实现方式,确定待接收视频流的任一个从客户端,之前还可以包括:接收预设客户端针对主客户端发送的直播连接请求;向主客户端发送直播连接请求。
其中,确定待接收视频流的任一个从客户端,可以包括:当接收到主客户端针对直播连接请求的响应信息时,将预设客户端确定为待接收视频流的任一个从客户端。
对于本申请实施例,服务器可以接收预设客户端针对主客户端发送的直播连接请求,并将直播连接请求发送至主客户端,以使主客户端接收该直播连接请求并显示相应的信息,如“XXX请求直播连接”,进而便于用户触发针对直播连接请求的相应操作,其中,任意针对主客户端发起直播连接请求的客户端均可作为预设客户端。例如,客户端1以及客户端2均针对主客户端发起直播连接请求,服务器可以分别接收客户端1以及客户端2发送的直播连接请求并发送至教师客户端,教师客户端接收客户端1以及客户端2发送的直播连接请求并分别显示相应的信息,以使用户可以分别触发针对客户端1以及客户端2发送的直播连接请求的相应操作,如接受操作或者拒绝操作。
进一步地,主客户端可以检测用户针对直播连接请求的相应操作,基于用户针对直播连接请求的相应操作生成对应的信息,并发送至服务器。例如,主客户端检测到用户触发针对客户端1发送的直播连接请求的接受操作时,生成响应信息并发送至服务器;主客户端检测到用户触发针对客户端2发送的直播连接请求的拒绝操作时,生成拒绝信息并发送至服务器。
对于本申请实施例,当服务器接收到主客户端发送的针对直播连接请求的响应信息时,可以将预设客户端确定为待接收视频流的任一个从客户端。例如,服务器接收到主客户端针对客户端1的直播连接请求的响应信息时,将客户端1确定为学生客户端。
本申请实施例中提供了另一种可能的实现方式,确定各个从客户端分别对应的视频流上传时间,可以包括方式A1、方式A2以及方式A3中的至少一项。
方式A1,基于预设时间间隔以及各个从客户端各自对应的视频流上传顺序,确定各个从客户端分别对应的视频流上传时间。
对于本申请实施例,服务器可以将预先设定的时间值确定为预设时间间隔,如服务器将预先设定的时间值5分钟确定为预设时间间隔;服务器还可以接收主客户端发送的用户输入的时间信息,并将时间信息确定为预设时间间隔,如用户输入时间信息10分钟,服务器接收到教师客户端发送的时间信息10分钟后,确定预设时间间隔为10分钟。
对于本申请实施例,服务器可以随机确定各个从客户端各自对应的视频流上传顺序,如针对学生客户端A-C,可以随机确定学生客户端A-C分别各自对应的视频流上传顺序为213,即视频流上传顺序依次为学生客户端B、学生客户端A以及学生客户端C;服务器还可以基于主客户端发送的各个从客户端分别对应的视频流上传顺序,确定各个从客户端各自对应的视频流上传顺序,如教师客户端发送的学生客户端A-C分别对应的视频流上传顺序为213,则服务器确定学生客户端A-C各自对应的视频流上传顺序为213;服务器还可以按照各个从客户端与主客户端进行直播连接的时间信息,确定各个从客户端各自对应的视频流上传顺序,如学生客户端A-C与教师客户端进行直播连接的初始时间信息依次为7:58、7:55以及7:59,则基于初始时间信息确定学生客户端A-C各自对应的视频流上传顺序为213。
对于本申请实施例,服务器可以基于预设时间间隔以及各个从客户端各自对应的视频流上传顺序,确定各个从客户端分别对应的视频流上传时间。如,若预设时间间隔为5分钟,学生客户端A-C各自对应的视频流上传顺序为213,则服务器可以确定学生客户端A对应的视频流上传时间为8:05-8:10,学生客户端B对应的视频流上传时间为8:00-8:05,学生客户端B对应的视频流上传时间为8:10-8:15。
方式A2,基于主客户端发送的各个从客户端各自对应的视频流上传时间,确定各个从客户端分别对应的视频流上传时间。
对于本申请实施例,主客户端可以获取用户输入的各个从客户端各自对应的视频流上传时间并发送至服务器,服务器基于接收到的主客户端发送的各个从客户端各自对应的视频流上传时间,确定各个从客户端分别对应的视频流上传时间。例如,用户输入学生客户端1对应的视频流上传时间可以为8:00-8:05以及8:15-8:20,学生客户端2对应的视频流上传时间可以为8:05-8:15,则主客户端获取学生客户端1对应的8:00-8:05以及8:15-8:20、学生客户端2对应的8:05-8:15,并发送至服务器,服务器基于学生客户端1对应的8:00-8:05以及8:15-8:20、学生客户端2对应的8:05-8:15,确定学生客户端1对应的视频流上传时间为8:00-8:05以及8:15-8:20,学生客户端2对应的视频流上传时间为8:05-8:15。
方式A3,基于各个从客户端的历史信息确定各个从客户端分别对应的视频流上传时间。
其中,历史信息包括网速信息满足预设网速阈值的历史时间信息以及历史视频流上传时间中的至少一项。
对于本申请实施例,服务器可以基于各个从客户端的网速信息满足预设网速阈值的历史时间信息,确定各个从客户端分别对应的视频流上传时间,如学生客户端a的网速信息大于1.5兆比特每秒(Million bits persecond,Mbps)的历史时间信息为8:00-8:30,学生客户端b的网速信息大于1.5兆比特每秒的历史时间信息为8:20-9:00,则服务器可以基于学生客户端a对应的历史时间信息8:00-8:30,确定学生客户端a对应的视频流上传时间为8:00-8:20以及8:25-8:30,并基于学生客户端b对应的历史时间信息8:20-9:00,确定学生客户端b对应的视频流上传时间为8:20-8:25以及8:30-9:00。
对于本申请实施例,服务器还可以基于各个从客户端的历史视频流上传时间,确定各个从客户端分别对应的视频流上传时间。如,学生客户端x的历史视频流上传时间为8:00-8:30,学生客户端y的历史视频流上传时间为8:10-8:25,则服务器可以基于学生客户端x的历史视频流上传时间8:00-8:30,确定学生客户端x的视频流上传时间为8:00-8:10以及8:25-8:30,并基于学生客户端y的历史视频流上传时间8:10-8:25,确定学生客户端y的视频流上传时间为8:10-8:25。
本申请实施例中提供了另一种可能的实现方式,步骤S102以及步骤S103可以包括:步骤B1、步骤B2以及步骤B3,其中,
步骤B1,从至少两个从客户端中确定当前视频流上传时间所对应的目标从客户端。
步骤B2,接收目标从客户端在当前视频流上传时间所上传的视频流并发送至主客户端。
步骤B3,循环执行下一视频流上传时间为当前视频流上传时间,步骤B1以及步骤B2的步骤,直至接收到主客户端发送的停止发送视频流信息。
对于本申请实施例,主客户端可以检测用户触发的停止接收视频流操作,并向服务器发送停止发送视频流信息,当服务器接收到主客户端发送的停止发送视频流信息时,一方面,停止向主客户端发送视频流,另一方面,向各个从客户端发送停止上传视频流信息,且停止接收任一从客户端上传的视频流,再一方面,向各个从客户端发送停止发送视频流信息,且停止向各个从客户端发送视频流。
本申请实施例提供了一个具体实例:若学生客户端1对应的视频流上传时间为8:00-8:05以及8:15-8:20,学生客户端2对应的视频流上传时间为8:05-8:15,且当前视频流上传时间为8:00-8:05,则服务器从学生客户端1以及学生客户端2中确定8:00-8:05所对应的目标学生客户端为学生客户端1,接收学生客户端1在8:00-8:05所上传的视频流并发送至教师客户端,然后确定下一视频流上传时间8:05-8:15为当前视频流上传时间,从学生客户端1以及学生客户端2中确定8:05-8:15所对应的目标学生客户端为学生客户端2,接收学生客户端2在8:05-8:15所上传的视频流并发送至教师客户端,然后确定下一视频流上传时间8:15-8:20为当前视频流上传时间,从学生客户端1以及学生客户端2中确定8:15-8:20所对应的目标学生客户端为学生客户端1,接收学生客户端1在8:15-8:20所上传的视频流并发送至教师客户端,若8:19时接收到教师客户端发送的停止发送信息,则停止向教师客户端发送视频流,即此时仅向教师客户端发送学生客户端1在8:15-8:19所上传的视频流。
本申请实施例的另一种可能实现方式,视频流处理方法还可以包括:当监测到主客户端处于直播状态时,获取主客户端上传的视频流;向各个从客户端发送主客户端上传的视频流。
上述可以在步骤S101之后执行,也可以在步骤S102以及步骤S103中的任一步之前或者任一步之后执行,在本申请实施例中不做限定。
对于本申请实施例,当服务器监测到主客户端处于直播状态时,可以获取主客户端实时上传的视频流,并向各个从客户端以及主客户端分别发送主客户端实时上传的视频流,另外,服务器也可以将接收到的任一个从客户端在其对应的视频流上传时间内上传的视频流分别发送至各个从客户端以及主客户端。例如,服务器可以将教师客户端实时上传的视频流发送至学生客户端1、学生客户端2以及教师客户端,服务器还可以将学生客户端1在8:00-8:05所上传的视频流发送至学生客户端1、学生客户端2以及教师客户端。
上述主要从服务器的角度介绍了本申请的视频流处理方法,下面将从主客户端的角度详细本申请的视频流处理方法,具体如下所示。
本申请实施例中提供了一种视频流处理方法,如图2所示,该方法由主客户端执行,该方法包括:
步骤S201,针对至少两个从客户端,接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流。
对于本申请实施例,主客户端指直播的客户端,从客户端指观看直播的客户端,如主客户端为教师客户端,从客户端为学生客户端。
对于本申请实施例,各个从客户端可以在各自对应的视频流上传时间内向服务器上传视频流,当服务器接收到任一个从客户端上传的视频流时,向主客户端发送该任一个从客户端上传的视频流,即主客户端可以接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流。其中,任一从客户端存在其对应的至少一个视频流上传时间,任两个从客户端对应的视频流上传时间可以相同,也可以不同,具体详见上述实施例的相关说明,这里不再赘述。
步骤S202,当接收到服务器发送的任一个从客户端上传的视频流时,显示接收到的视频流。
对于本申请实施例,主客户端可以在同一时刻接收至少一个从客户端所上传的视频流,并在同一时刻显示所有接收到的视频流。
本申请实施例提供了一种视频流处理方法,与现有技术相比,本申请实施例通过针对至少两个从客户端,接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,当接收到服务器发送的任一个从客户端上传的视频流时,显示接收到的视频流,实现了仅接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,避免同时接收服务器发送的各个从客户端实时上传的视频流,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻发送的视频流数量,有效降低服务器压力以及网络拥堵,改善网络状况,进而使得主客户端可以实时接收到视频流,提升用户体验。
本申请实施例的另一种可能实现方式,步骤S201之前还可以包括:接收服务器发送的直播连接请求,直播连接请求是由预设客户端向服务器发送的针对主客户端的请求;当检测到针对直播连接请求的确认操作时,生成响应信息并发送至服务器,以使服务器基于响应信息,将预设客户端确定为任一个从客户端。
对于本申请实施例,预设客户端可以针对主客户端向服务器发送直播连接请求,服务器接收直播连接请求并发送至主客户端,主客户端接收服务器发送的直播连接请求,生成相应的信息并显示,如“XXX请求直播连接”,检测用户针对显示信息的相应操作(即用户针对直播连接请求的相应操作),如接受操作或者拒绝操作等,若检测到用户针对直播连接请求的确认操作(即接受操作),生成响应信息并发送至服务器,服务器可以接收响应信息并将预设客户端确定为任一个从客户端,具体详见上述实施例的相关说明,这里不再赘述。
本申请实施例的另一种可能实现方式,步骤S201以及步骤S202具体可以包括:步骤C1、步骤C2以及步骤C3。
步骤C1,接收服务器发送的目标从客户端在当前视频流上传时间所上传的视频流。
其中,目标从客户端为从至少两个从客户端中确定的当前视频流上传时间所对应的从客户端。
步骤C2,显示接收到的目标从客户端所上传的视频流。
步骤C3,循环执行确定下一视频流上传时间为当前视频流上传时间,步骤C1以及步骤C2的步骤,直至检测到触发停止接收视频流操作,并向服务器发送停止发送视频流信息。
对于本申请实施例,主客户端可以检测用户触发的停止接收视频流操作,并向服务器发送停止发送视频流信息,当服务器接收到主客户端发送的停止发送视频流信息时,一方面,停止向主客户端发送视频流,另一方面,向各个从客户端发送停止上传视频流信息,且停止接收任一从客户端上传的视频流,再一方面,向各个从客户端发送停止发送视频流信息,且停止向各个从客户端发送视频流。
本申请实施例提供了一个具体实例:若学生客户端1对应的视频流上传时间为8:00-8:05以及8:15-8:20,学生客户端2对应的视频流上传时间为8:05-8:15,且当前视频流上传时间为8:00-8:05,则教师客户端可以接收服务器发送的学生客户端1在8:00-8:05所上传的视频流,并显示学生客户端1在8:00-8:05所上传的视频流;然后确定下一视频流上传时间8:05-8:15为当前视频流上传时间,教师客户端可以接收服务器发送的学生客户端2在8:05-8:15所上传的视频流,并显示学生客户端2在8:05-8:15所上传的视频流;然后确定下一视频流上传时间8:15-8:20为当前视频流上传时间,教师客户端可以接收服务器发送的学生客户端1在8:15-8:20所上传的视频流,并显示学生客户端1在8:15-8:20所上传的视频流,若8:19时,教师客户端检测到用户触发停止接收视频流操作,生成停止发送视频流信息并向服务器发送,则教师客户端停止接收服务器发送的视频流,即此时教师客户端仅接收服务器发送的学生客户端1在8:15-8:19所上传的视频流,并显示学生客户端1在8:15-8:19所上传的视频流。
进一步地,主客户端可以实时获取用户录制的视频流并向服务器上传,以使服务器将主客户端上传的视频流分别发送至主客户端以及各个从客户端;主客户端还可以接收服务器发送的主客户端实时上传的视频流并显示;主客户端还可以接收用户输入的至少两个从客户端各自对应的视频流上传时间或者视频流上传顺序并向服务器发送;主客户端还可以接收用户针对录制视频流的触发操作,基于用户的触发操作确定是否向服务器发送录制的视频流。
上述分别从服务器以及主客户端的角度详细介绍了本申请的视频流处理方法,下面将主要从从客户端的角度详细介绍本申请的视频流处理方法,具体如下所示。
本申请实施例中提供了一种视频流处理方法,如图3所示,该方法由任一从客户端执行,该方法包括:
步骤S301,确定视频流上传时间,并向服务器上传在视频流上传时间所录制的视频流。
对于本申请实施例,从客户端指观看直播的客户端,如学生客户端。在本申请实施例中,任一个从客户端对应至少一个视频流上传时间,且可以在任一个视频流上传时间内向服务器上传所录制的视频流,服务器可以确定至少两个从客户端各自对应的视频流上传时间,并向各个从客户端发送各自对应的视频流上传时间,其中,任两个从客户端对应的视频流上传时间可以相同,也可以不同,在本申请实施例中不做限定。
步骤S302,接收服务器发送的至少两个从客户端在各自对应的视频流上传时间所上传的视频流。
对于本申请实施例,各个从客户端可以在各自对应的视频流上传时间内向服务器上传视频流,当服务器接收到任一个从客户端上传的视频流时,向各个从客户端发送该任一个从客户端上传的视频流,即任一个从客户端可以接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流。
步骤S303,当接收到任一个从客户端上传的视频流时,显示接收到的视频流。
对于本申请实施例,任一个从客户端可以在同一时刻接收至少一个从客户端所上传的视频流,并在同一时刻显示所有接收到的视频流。
其中,步骤S102以及步骤S103可以包括:步骤D1、步骤D2以及步骤D3。
步骤D1,接收服务器发送的目标从客户端在当前视频流上传时间所上传的视频流。
其中,目标从客户端为从至少两个从客户端中确定的当前视频流上传时间所对应的从客户端。
步骤D2,显示接收到的目标从客户端所上传的视频流。
步骤D3,循环执行确定下一视频流上传时间为当前视频流上传时间,步骤D1以及步骤D2的步骤,直至接收到服务器发送的停止发送视频流信息。
对于本申请实施例,步骤D1-D3的相关说明详见上述实施例有关步骤C1-C3的相关说明,这里不再赘述。
对于本公开实施例,步骤S301可以在步骤S302和/或步骤S303之前执行,也可以在步骤S302和/或步骤S303之后执行,还可以与步骤S302和/或步骤S303同步执行,图3仅示意一种可能的执行顺序,在本申请实施例中不做限定。
本申请实施例提供了一种视频流处理方法,与现有技术相比,本申请实施例通过确定视频流上传时间,并向服务器上传在视频流上传时间所录制的视频流,接收服务器发送的至少两个从客户端在各自对应的视频流上传时间所上传的视频流,当接收到任一个从客户端上传的视频流时,显示接收到的视频流,实现了仅在视频流上传时间上传所录制的视频流,避免实时向服务器上传视频流,其次仅接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,避免同时接收服务器发送的各个从客户端实时上传的视频流,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻发送的视频流数量,有效降低服务器压力以及网络拥堵,改善网络状况,进而使得从客户端可以实时接收到视频流,提升用户体验。
本申请实施例提供了另一种可能的实现方式,步骤S301之前还可以包括:向服务器发送针对主客户端的直播连接请求;接收服务器反馈的主客户端针对直播连接请求的响应信息。
对于本申请实施例,从客户端可以接收用户针对主客户端触发的直播连接操作,生成直播连接请求并发送至服务器,以使服务器将直播连接请求发送至主客户端,接收服务器反馈的主客户端针对直播连接请求的响应信息,从而建立与主客户端之间的直播连接,并执行步骤S301,即确定视频流上传时间,并向服务器上传在视频流上传时间所录制的视频流。
本申请实施例提供了另一种可能的实现方式,步骤S301可以包括步骤E1、步骤E2以及步骤E3。
步骤E1,确定当前视频流上传时间。
步骤E2,向服务器上传在当前视频流上传时间所录制的视频流。
步骤E3,循环执行确定下一视频流上传时间为当前视频流上传时间,步骤E2的步骤,直至接收到服务器发送的停止上传视频流信息。
对于本申请实施例,服务器可以向各个从客户端发送停止上传视频流信息,并停止接收任一从客户端上传的视频流,任一从客户端接收到停止上传视频流信息后,停止向服务器发送录制的视频流。
本申请实施例提供了一个具体实例:若学生客户端1对应的视频流上传时间为8:00-8:05以及8:15-8:20,则当学生客户端1确定当前视频流上传时间为8:00-8:05时,可以服务器上传8:00-8:05所录制的视频流;然后学生客户端1可以确定下一视频流上传时间8:15-8:20为当前视频流上传时间,当学生客户端1确定当前视频流上传时间为8:15-8:20时,可以服务器上传8:15-8:20所录制的视频流,若8:19时接收到服务器发送的停止上传视频流信息,则停止向服务器发送录制的视频流,即此时仅向服务器发送学生客户端1在8:15-8:19所上传的视频流。
进一步地,任一个从客户端还可以接收服务器发送的主客户端实时上传的视频流;任一个从客户端还可以接收服务器发送的各个从客户端在各自对应的视频流上传时间内所上传的视频流。
上述分别从服务器、主客户端以及从客户端的角度依次详细阐述了本申请的视频流处理方法,下面将从三者交互的角度介绍本申请的视频流处理方法,具体如下所述。
本申请实施例中提供了一种视频流处理方法,如图4所示,该方法包括:
步骤S401,服务器确定待接收视频流的从客户端1-N以及从客户端1-N各自对应的视频流上传时间。
其中,N为正整数且大于等于2。
步骤S402,服务器向从客户端1-N分别发送各自对应的视频流上传时间。
步骤S403,从客户端1-N分别确定各自对应的视频流上传时间。
步骤S404,从客户端1-N分别向服务器上传在各自对应的视频流上传时间所录制的视频流。
步骤S405,服务器接收从客户端1-N在各自对应的视频流上传时间所上传的视频流。
步骤S406,当服务器接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端。
步骤S407,主客户端接收服务器发送的从客户端1-N在各自对应的视频流上传时间所上传的视频流。
步骤S408,主客户端当接收到服务器发送的任一个从客户端上传的视频流时,显示接收到的视频流。
步骤S409,当服务器接收到任一个从客户端上传的视频流时,将接收到的视频流分别发送至从客户端1-N。
步骤S410,从客户端1-N分别接收服务器发送的从客户端1-N在各自对应的视频流上传时间所上传的视频流。
步骤S411,从客户端1-N当接收到服务器发送的任一个从客户端上传的视频流时,分别显示接收到的视频流。
对于本申请实施例,步骤S401-步骤S411中各个步骤可以详见上述实施例的相关说明,在本申请实施例中不再赘述。其中,步骤S406可以在步骤S409之前或者之后执行,也可以二者同步执行,在本申请实施例中不做限定。
本申请实施例提供了一种视频流处理方法,与现有技术相比,本申请实施例实现了服务器仅接收各个从客户端在各自对应的视频流上传时间所上传的视频流,并将接收到的任一个从客户端上传的视频流发送至主客户端以及各个从客户端,避免服务器同时接收各个从客户端实时上传的视频流,及将各个从客户端实时上传的视频流分别发送至主客户端以及各个从客户端,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻接收的视频流数量以及发送的视频流数量,降低服务器压力以及网络拥堵,改善网络状况,进而使得主客户端以及各个从客户端均可以实时接收到视频流,提升用户体验。
上述从步骤的角度详细介绍了本申请的视频流处理方法,下面将从虚拟装置的角度分别详细介绍本申请中的服务器、主客户端以及从客户端,具体如下所示。
本申请实施例提供了一种服务器,如图5所示,该服务器50可以包括:确定模块501以及处理模块502,其中,
确定模块501,用于确定待接收视频流的至少两个从客户端以及各个从客户端分别对应的视频流上传时间。
处理模块502,用于接收各个从客户端在各自对应的视频流上传时间所上传的视频流。
处理模块502,还用于当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端。
本申请实施例的另一种可能实现方式,服务器50还可以包括接收模块以及第一发送模块,其中,
接收模块,用于接收预设客户端针对主客户端发送的直播连接请求。
第一发送模块,用于向主客户端发送直播连接请求。
确定模块501,具体用于当接收到主客户端针对直播连接请求的响应信息时,将预设客户端确定为待接收视频流的任一个从客户端。
本申请实施例的另一种可能实现方式,确定模块501可以包括第一确定单元、第二确定单元以及第三确定单元中的至少一项,其中,
第一确定单元,用于基于预设时间间隔以及各个从客户端各自对应的视频流上传顺序,确定各个从客户端分别对应的视频流上传时间。
第二确定单元,用于基于主客户端发送的各个从客户端各自对应的视频流上传时间,确定各个从客户端分别对应的视频流上传时间。
第三确定单元,用于基于各个从客户端的历史信息确定各个从客户端分别对应的视频流上传时间,历史信息包括网速信息满足预设网速阈值的历史时间信息以及历史视频流上传时间中的至少一项。
本申请实施例的另一种可能实现方式,处理模块502可以包括第四确定单元、接收发送单元以及循环单元,其中,
第四确定单元,用于从至少两个从客户端中确定当前视频流上传时间所对应的目标从客户端。
接收发送单元,用于接收目标从客户端在当前视频流上传时间所上传的视频流并发送至主客户端。
循环单元,用于循环执行下一视频流上传时间为当前视频流上传时间,第四确定单元以及接收发送单元对应的操作,直至接收到主客户端发送的停止发送视频流信息。
本申请实施例的另一种可能实现方式,服务器50还可以包括获取模块以及第二发送模块,其中,
获取模块,用于当监测到所述主客户端处于直播状态时,获取主客户端上传的视频流。
第二发送模块,用于向各个从客户端发送主客户端上传的视频流。
对于本申请实施例,第一发送模块以及第二发送模块可以为同一个发送模块,也可以为不用的发送模块,第一确定单元、第二确定单元以及第三确定单元可以为同一个确定单元,也可以为不同的确定单元,还可以任意两个为相同的确定单元,在本申请实施例中不做限定。
本申请实施例的服务器可以执行方法实施例中由服务器执行的视频流处理方法,其实现原理类似,在此不再赘述。
本申请实施例提供了一种服务器,与现有技术相比,本申请实施例通过确定待接收视频流的至少两个从客户端以及各个从客户端分别对应的视频流上传时间,接收各个从客户端在各自对应的视频流上传时间所上传的视频流,当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端,实现了仅接收各个从客户端在各自对应的视频流上传时间所上传的视频流,并将接收到的任一个从客户端上传的视频流发送至主客户端,避免同时接收各个从客户端实时上传的视频流及将各个从客户端实时上传的视频流发送至主客户端,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻接收的视频流数量以及发送的视频流数量,降低服务器压力以及网络拥堵,改善网络状况,进而使得主客户端可以实时接收到视频流,提升用户体验。
上述从虚拟装置的角度详细介绍了本申请中的服务器,下面将从虚拟装置的角度详细介绍本申请中的主客户端,具体如下所示。
本申请实施例提供了一种主客户端,如图6所示,该主客户端60可以包括:处理模块601,其中,
处理模块601,用于针对至少两个从客户端,接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流。
处理模块601,还用于当接收到服务器发送的任一个从客户端上传的视频流时,显示接收到的视频流。
本申请实施例的另一种可能实现方式,主客户端60还可以包括接收模块以及生成发送模块,其中,
接收模块,用于接收服务器发送的直播连接请求,直播连接请求是由预设客户端向服务器发送的针对主客户端的请求。
生成发送模块,用于当检测到针对直播连接请求的确认操作时,生成响应信息并发送至服务器,以使服务器基于响应信息,将预设客户端确定为任一个从客户端。
本申请实施例的另一种可能实现方式,处理模块601可以包括接收单元、显示单元以及循环单元,其中,
接收单元,用于接收服务器发送的目标从客户端在当前视频流上传时间所上传的视频流,目标从客户端为从至少两个从客户端中确定的当前视频流上传时间所对应的从客户端。
显示单元,用于显示接收到的目标从客户端所上传的视频流。
循环单元,用于循环执行确定下一视频流上传时间为当前视频流上传时间,接收单元以及显示单元对应的操作,直至检测到触发停止接收视频流操作,并向服务器发送停止发送视频流信息。
本申请实施例的主客户端可以执行前述方法实施例中由主客户端执行的视频流处理方法,其实现原理类似,在此不再赘述。
本申请实施例提供了一种主客户端,与现有技术相比,本申请实施例通过针对至少两个从客户端,接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,当接收到服务器发送的任一个从客户端上传的视频流时,显示接收到的视频流,实现了仅接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,避免同时接收服务器发送的各个从客户端实时上传的视频流,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻发送的视频流数量,有效降低服务器压力以及网络拥堵,改善网络状况,进而使得主客户端可以实时接收到视频流,提升用户体验。
上述从虚拟装置的角度分别详细介绍了本申请中的服务器以及主客户端,下面将从虚拟装置的角度详细介绍本申请中的从客户端,具体如下所示。
本申请实施例提供了一种从客户端,如图7所示,该从客户端70可以包括确定上传模块701以及处理模块702,其中,
确定上传模块701,用于确定视频流上传时间,并向服务器上传在视频流上传时间所录制的视频流。
处理模块702,用于接收服务器发送的至少两个从客户端在各自对应的视频流上传时间所上传的视频流。
处理模块702,还用于当接收到任一个从客户端上传的视频流时,显示接收到的视频流。
本申请实施例的另一种可能实现方式,从客户端70还可以包括发送模块以及接收模块,其中,
发送模块,用于向服务器发送针对主客户端的直播连接请求。
接收模块,用于接收服务器反馈的主客户端针对直播连接请求的响应信息。
本申请实施例的另一种可能实现方式,确定上传模块701包括确定单元、上传单元以及循环单元,其中,
确定单元,用于确定当前视频流上传时间。
上传单元,用于向服务器上传在当前视频流上传时间所录制的视频流。
循环单元,用于循环执行确定下一视频流上传时间为当前视频流上传时间,上传单元对应的操作,直至接收到服务器发送的停止上传视频流信息。
本申请实施例的从客户端可以执行前述方法实施例中由从客户端执行的视频流处理方法,其实现原理类似,在此不再赘述。
本申请实施例提供了一种从客户端,与现有技术相比,本申请实施例通过确定视频流上传时间,并向服务器上传在视频流上传时间所录制的视频流,接收服务器发送的至少两个从客户端在各自对应的视频流上传时间所上传的视频流,当接收到任一个从客户端上传的视频流时,显示接收到的视频流,实现了仅在视频流上传时间上传所录制的视频流,避免实时向服务器上传视频流,其次仅接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,避免同时接收服务器发送的各个从客户端实时上传的视频流,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻发送的视频流数量,有效降低服务器压力以及网络拥堵,改善网络状况,进而使得从客户端可以实时接收到视频流,提升用户体验。
上述从虚拟装置的角度分别详细介绍了本申请中的服务器、主客户端以及从客户端,下面将从实体设备的角度分别详细介绍本申请中的服务器从主客户端以及从客户端,具体如下所示。
本申请实施例中提供了一种电子设备,该电子设备可以为服务器,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:仅接收各个从客户端在各自对应的视频流上传时间所上传的视频流,并将接收到的任一个从客户端上传的视频流发送至主客户端,避免同时接收各个从客户端实时上传的视频流及将各个从客户端实时上传的视频流发送至主客户端,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻接收的视频流数量以及发送的视频流数量,降低服务器压力以及网络拥堵,改善网络状况,进而使得主客户端可以实时接收到视频流,提升用户体验。
本申请实施例中还提供了一种电子设备,该电子设备可以为主客户端,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:仅接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,避免同时接收服务器发送的各个从客户端实时上传的视频流,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻发送的视频流数量,有效降低服务器压力以及网络拥堵,改善网络状况,进而使得主客户端可以实时接收到视频流,提升用户体验。
本申请实施例中还提供了一种电子设备,该电子设备可以为从客户端,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:实现了仅在视频流上传时间上传所录制的视频流,避免实时向服务器上传视频流,其次仅接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,避免同时接收服务器发送的各个从客户端实时上传的视频流,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻发送的视频流数量,有效降低服务器压力以及网络拥堵,改善网络状况,进而使得从客户端可以实时接收到视频流,提升用户体验。
在一个可选实施例中提供了一种电子设备,如图8所示,图8所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述由服务器执行的方法实施例中的相应内容。与现有技术相比,实现了仅接收各个从客户端在各自对应的视频流上传时间所上传的视频流,并将接收到的任一个从客户端上传的视频流发送至主客户端,避免同时接收各个从客户端实时上传的视频流及将各个从客户端实时上传的视频流发送至主客户端,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻接收的视频流数量以及发送的视频流数量,降低服务器压力以及网络拥堵,改善网络状况,进而使得主客户端可以实时接收到视频流,提升用户体验。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述由主客户端执行的方法实施例中的相应内容。与现有技术相比,实现了仅接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,避免同时接收服务器发送的各个从客户端实时上传的视频流,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻发送的视频流数量,有效降低服务器压力以及网络拥堵,改善网络状况,进而使得主客户端可以实时接收到视频流,提升用户体验。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述由从客户端执行的方法实施例中的相应内容。与现有技术相比,实现了实现了仅在视频流上传时间上传所录制的视频流,避免实时向服务器上传视频流,其次仅接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,避免同时接收服务器发送的各个从客户端实时上传的视频流,减少同一时刻上传视频流的从客户端数量,从而减少服务器同一时刻发送的视频流数量,有效降低服务器压力以及网络拥堵,改善网络状况,进而使得从客户端可以实时接收到视频流,提升用户体验。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (20)
1.一种视频流处理方法,其特征在于,由服务器执行,包括:
确定待接收视频流的至少两个从客户端以及各个从客户端分别对应的视频流上传时间;
接收各个从客户端在各自对应的视频流上传时间所上传的视频流;
当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端。
2.根据权利要求1所述的方法,其特征在于,确定待接收视频流的任一个从客户端,之前还包括:
接收预设客户端针对所述主客户端发送的直播连接请求;
向所述主客户端发送所述直播连接请求;
所述确定待接收视频流的任一个从客户端,包括:
当接收到所述主客户端针对所述直播连接请求的响应信息时,将所述预设客户端确定为所述待接收视频流的任一个从客户端。
3.根据权利要求1所述的方法,其特征在于,确定各个从客户端分别对应的视频流上传时间,包括以下至少一项:
基于预设时间间隔以及各个从客户端各自对应的视频流上传顺序,确定各个从客户端分别对应的视频流上传时间;
基于所述主客户端发送的各个从客户端各自对应的视频流上传时间,确定各个从客户端分别对应的视频流上传时间;
基于各个从客户端的历史信息确定各个从客户端分别对应的视频流上传时间,所述历史信息包括网速信息满足预设网速阈值的历史时间信息以及历史视频流上传时间中的至少一项。
4.根据权利要求1所述的方法,其特征在于,所述接收各个从客户端在各自对应的视频流上传时间所上传的视频流以及所述当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端,包括:
从所述至少两个从客户端中确定当前视频流上传时间所对应的目标从客户端;
接收所述目标从客户端在所述当前视频流上传时间所上传的视频流并发送至所述主客户端;
循环执行下一视频流上传时间为当前视频流上传时间,所述从至少两个从客户端中确定当前视频流上传时间所对应的目标从客户端以及所述接收所述目标从客户端在所述当前视频流上传时间所上传的视频流并发送至所述主客户端的步骤,直至接收到所述主客户端发送的停止发送视频流信息。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
当监测到所述主客户端处于直播状态时,获取所述主客户端上传的视频流;
向各个从客户端发送所述主客户端上传的视频流。
6.一种视频流处理方法,其特征在于,由主客户端执行,包括:
针对至少两个从客户端,接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流;
当接收到所述服务器发送的任一个从客户端上传的视频流时,显示接收到的视频流。
7.根据权利要求6所述的方法,其特征在于,所述针对至少两个从客户端,接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流,之前还包括:
接收所述服务器发送的直播连接请求,所述直播连接请求是由预设客户端向所述服务器发送的针对所述主客户端的请求;
当检测到针对所述直播连接请求的确认操作时,生成响应信息并发送至所述服务器,以使所述服务器基于所述响应信息,将所述预设客户端确定为任一个从客户端。
8.根据权利要求6所述的方法,其特征在于,所述针对至少两个从客户端,接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流以及所述当接收到所述服务器发送的任一个从客户端上传的视频流时,显示接收到的视频流,包括:
接收所述服务器发送的目标从客户端在当前视频流上传时间所上传的视频流,所述目标从客户端为从至少两个从客户端中确定的当前视频流上传时间所对应的从客户端;
显示接收到的所述目标从客户端所上传的视频流;
循环执行确定下一视频流上传时间为当前视频流上传时间,所述接收所述服务器发送的目标从客户端在当前视频流上传时间所上传的视频流以及所述显示接收到的所述目标从客户端所上传的视频流的步骤,直至检测到触发停止接收视频流操作,并向所述服务器发送停止发送视频流信息。
9.一种视频流处理方法,其特征在于,由任一个从客户端执行,包括:
确定视频流上传时间,并向服务器上传在所述视频流上传时间所录制的视频流;
接收所述服务器发送的至少两个从客户端在各自对应的视频流上传时间所上传的视频流;
当接收到任一个从客户端上传的视频流时,显示接收到的视频流。
10.根据权利要求9所述的方法,其特征在于,确定视频流上传时间,并向服务器上传在所述视频流上传时间所录制的视频流,之前还包括:
向所述服务器发送针对主客户端的直播连接请求;
接收所述服务器反馈的所述主客户端针对所述直播连接请求的响应信息。
11.根据权利要求9所述的方法,其特征在于,所述确定视频流上传时间,并向服务器上传在所述视频流上传时间所录制的视频流,包括:
确定当前视频流上传时间,并向所述服务器上传在所述当前视频流上传时间所录制的视频流;
循环执行确定下一视频流上传时间为当前视频流上传时间,所述向所述服务器上传在所述当前视频流上传时间所录制的视频流的步骤,直至接收到所述服务器发送的停止上传视频流信息。
12.一种服务器,其特征在于,包括:
确定模块,用于确定待接收视频流的至少两个从客户端以及各个从客户端分别对应的视频流上传时间;
处理模块,用于接收各个从客户端在各自对应的视频流上传时间所上传的视频流;
所述处理模块,还用于当接收到任一个从客户端上传的视频流时,将接收到的视频流发送至主客户端。
13.一种主客户端,其特征在于,包括:
处理模块,用于针对至少两个从客户端,接收服务器发送的各个从客户端在各自对应的视频流上传时间所上传的视频流;
所述处理模块,还用于当接收到所述服务器发送的任一个从客户端上传的视频流时,显示接收到的视频流。
14.一种从客户端,其特征在于,包括:
确定上传模块,用于确定视频流上传时间,并向服务器上传在所述视频流上传时间所录制的视频流;
处理模块,用于接收所述服务器发送的至少两个从客户端在各自对应的视频流上传时间所上传的视频流;
所述处理模块,还用于当接收到任一个从客户端上传的视频流时,显示接收到的视频流。
15.一种服务器,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1~5任一项所述的视频流处理方法。
16.一种主客户端,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求6~8任一项所述的视频流处理方法。
17.一种从客户端,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求9~11任一项所述的视频流处理方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5任一项所述的视频流处理方法。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求6-8任一项所述的视频流处理方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求9-11任一项所述的视频流处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010136818.1A CN111355972A (zh) | 2020-03-02 | 2020-03-02 | 视频流处理方法、服务器、客户端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010136818.1A CN111355972A (zh) | 2020-03-02 | 2020-03-02 | 视频流处理方法、服务器、客户端及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111355972A true CN111355972A (zh) | 2020-06-30 |
Family
ID=71195941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010136818.1A Pending CN111355972A (zh) | 2020-03-02 | 2020-03-02 | 视频流处理方法、服务器、客户端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111355972A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507616A (zh) * | 2021-05-26 | 2021-10-15 | 深圳点猫科技有限公司 | 一种在线课堂的巡堂互动控制方法、装置、系统及介质 |
CN113590565A (zh) * | 2021-08-12 | 2021-11-02 | 湖南智领通信科技有限公司 | 一种串联多端的数据传输方法、系统、设备和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561468A (zh) * | 2013-11-08 | 2014-02-05 | 深圳安信卓科技有限公司 | 集群系统中终端定位信息上传的控制方法及装置 |
CN105245932A (zh) * | 2015-10-21 | 2016-01-13 | 天脉聚源(北京)科技有限公司 | 一种移动终端与电视节目互动的匹配方法及装置 |
US20180253954A1 (en) * | 2018-05-04 | 2018-09-06 | Shiv Prakash Verma | Web server based 24/7 care management system for better quality of life to alzheimer, dementia,autistic and assisted living people using artificial intelligent based smart devices |
CN108600850A (zh) * | 2018-03-20 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 视频分享方法、客户端、服务器及存储介质 |
CN109379323A (zh) * | 2018-08-16 | 2019-02-22 | 京信通信系统(中国)有限公司 | 船联网通信方法、装置、系统和存储介质 |
US10349068B1 (en) * | 2011-12-02 | 2019-07-09 | Amazon Technologies, Inc. | Apparatus and method for panoramic video hosting with reduced bandwidth streaming |
CN110830758A (zh) * | 2018-08-07 | 2020-02-21 | 浙江宇视科技有限公司 | 视频轮巡方法、装置、视频服务器及存储介质 |
-
2020
- 2020-03-02 CN CN202010136818.1A patent/CN111355972A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10349068B1 (en) * | 2011-12-02 | 2019-07-09 | Amazon Technologies, Inc. | Apparatus and method for panoramic video hosting with reduced bandwidth streaming |
CN103561468A (zh) * | 2013-11-08 | 2014-02-05 | 深圳安信卓科技有限公司 | 集群系统中终端定位信息上传的控制方法及装置 |
CN105245932A (zh) * | 2015-10-21 | 2016-01-13 | 天脉聚源(北京)科技有限公司 | 一种移动终端与电视节目互动的匹配方法及装置 |
CN108600850A (zh) * | 2018-03-20 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 视频分享方法、客户端、服务器及存储介质 |
US20180253954A1 (en) * | 2018-05-04 | 2018-09-06 | Shiv Prakash Verma | Web server based 24/7 care management system for better quality of life to alzheimer, dementia,autistic and assisted living people using artificial intelligent based smart devices |
CN110830758A (zh) * | 2018-08-07 | 2020-02-21 | 浙江宇视科技有限公司 | 视频轮巡方法、装置、视频服务器及存储介质 |
CN109379323A (zh) * | 2018-08-16 | 2019-02-22 | 京信通信系统(中国)有限公司 | 船联网通信方法、装置、系统和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507616A (zh) * | 2021-05-26 | 2021-10-15 | 深圳点猫科技有限公司 | 一种在线课堂的巡堂互动控制方法、装置、系统及介质 |
CN113590565A (zh) * | 2021-08-12 | 2021-11-02 | 湖南智领通信科技有限公司 | 一种串联多端的数据传输方法、系统、设备和介质 |
CN113590565B (zh) * | 2021-08-12 | 2023-12-22 | 湖南智领通信科技有限公司 | 一种串联多端的数据传输方法、系统、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891177B2 (en) | Message management method and device, and storage medium | |
US20160301765A1 (en) | Method and device for processing service access | |
CN111355972A (zh) | 视频流处理方法、服务器、客户端及介质 | |
CN110691331B (zh) | 基于蓝牙mesh技术的会议演示方法、装置及终端设备 | |
CN107920108A (zh) | 一种媒体资源的推送方法、客户端及服务器 | |
CN113138801B (zh) | 命令分发装置、方法、芯片、计算机设备及存储介质 | |
CN110087141A (zh) | 视频数据传输方法、装置、客户端及服务器 | |
CN109688419A (zh) | 一种直播中的连麦方法、装置及服务器 | |
US11671678B2 (en) | Method and device, equipment, and storage medium for data processing | |
CN104915855B (zh) | 订单抢单率的预估方法及装置 | |
CN110768803B (zh) | 一种电视墙显示方法、装置及服务器 | |
CN112492372A (zh) | 评论消息的显示方法、装置、电子设备、系统及存储介质 | |
CN110995817B (zh) | 请求回调方法、装置及客户端设备 | |
CN112887173B (zh) | 一种存储网络检测方法、装置、设备及可读存储介质 | |
CN105471674A (zh) | 测试服务器性能的方法及系统 | |
CN111026532B (zh) | 用于语音数据的消息队列管理方法 | |
CN104469428A (zh) | 一种视频与文字即时传输的方法及装置 | |
CN114978898B (zh) | 数据传输控制方法、装置、抬头显示器和存储介质 | |
CN113535645B (zh) | 共享文档的展示方法、装置、电子设备及存储介质 | |
CN110251943B (zh) | 一种游戏玩家的匹配方法、装置、设备及存储介质 | |
CN113051077A (zh) | 一种用户请求的处理方法、装置、终端设备及存储介质 | |
CN113296977A (zh) | 一种消息处理方法及装置 | |
CN111614534A (zh) | 通信方法、装置及电子设备 | |
JP6649085B2 (ja) | 分散コンピューティングシステム、放送局、サーバ及び分散コンピューティング方法 | |
CN103731335A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200630 |
|
RJ01 | Rejection of invention patent application after publication |