一种视频直播方法、装置、设备和介质与流程

文档序号:20949288发布日期:2020-06-02 20:02阅读:196来源:国知局
一种视频直播方法、装置、设备和介质与流程

本发明涉及直播技术领域,尤其涉及一种一种视频直播方法、装置、设备和介质。



背景技术:

视频/影视系统已成为当前信息化社会中最具影响力的大众传播媒体。传统视频/影视系统中,观众只能被动地接受拍摄者或导播员的视角选择或镜头切换,导致观众在观看过程中缺乏观看直播视频的自主性要求,而且客户端也无法灵活控制观看全景视频图像任意区域的细节视频。

目前“十亿像素级视频”突破了人眼视觉信息捕获的极限,可实现革命性的多尺度超高分辨率视频捕获,宽空间捕获范围和高空间分辨率都将得到满足,然而将亿级像素视频转换为低分辨率的客户端播放,一方面,容易损失视频质量,客户端依旧无法看到全景视频图像任意区域的细节视频;另一方面,还造成传输超大视频及多余视频数据所造成的的带宽、编解码资源浪费的问题。



技术实现要素:

为了解决上述技术问题,本发明提供了一种视频直播方法及装置。

根据本发明的第一方面,本发明提供一种视频直播方法,适用于服务器,包括:

步骤1、接收客户端请求直播视频的请求,其中,所述请求包括客户端的唯一标识;

步骤2、创建与所述唯一标识对应的控制服务和流媒体服务;

步骤3、将所述控制服务的接入地址和所述流媒体服务的访问地址返回给客户端;

步骤4、基于所述接入地址,接收客户端发送的直播视频的区域坐标信息,基于所述区域坐标信息,获取直播视频数据,将所获取的直播视频数据发布到所述流媒体服务的访问地址;

步骤5、基于所述访问地址,将所述直播视频数据推送给客户端。

上述的视频直播方法还可以具有以下特点:

步骤4中,所述基于所述区域坐标信息,获取直播视频数据包括:

提取所述区域坐标信息,所述区域坐标信息包括基准坐标点、基于基准坐标点的区域宽度和区域高度;

将所述基准坐标点、所述区域宽度和所述区域高度所确定的区域所对应的视频数据作为直播视频数据。

上述的视频直播方法还可以具有以下特点:

步骤4中,还包括获取画布,

所述获取画布包括:

获取多路采集设备同一时刻的帧视频数据,对所有的所述帧视频数据按照预定规则,生成画布,所述画布包括亿级像素图像数据。

上述的视频直播方法还可以具有以下特点:

步骤4中,所述基于所述区域坐标信息,获取直播视频数据包括:

在同一坐标系下,确定所有的所述帧视频数据所对应的画面的位置关系;

在所述画布中确定所述区域坐标信息所对应的区域,将所确定的所述区域坐标信息所对应的区域所对应的视频数据作为直播视频数据。

上述的视频直播方法还可以具有以下特点:

所述基于所述区域坐标信息,获取直播视频数据包括:

在同一坐标系下,确定多路采集设备的画面的位置关系;

根据所确定的多路采集设备的画面的位置关系,确定所述区域坐标信息所对应的视频数据,将所确定所述区域坐标信息所对应的视频数据作为直播视频数据。

上述的视频直播方法还可以具有以下特点:

在步骤2之前,还包括:

基于所述唯一标识查找确定是否已存在与所述唯一标识对应的控制服务和流媒体服务,若存在,则执行步骤3。

上述的视频直播方法还可以具有以下特点:

步骤1中,还包括:所述请求包括客户端的分辨率;

步骤5中,所述将所述直播视频数据推送给客户端包括:将所述直播视频数据根据所述分辨率进行转换后发送给客户端

根据本发明的第二方面,提供一种视频直播装置,适用于服务器,包括:

接收模块,用于接收客户端请求直播视频的请求,其中,所述请求包括客户端的唯一标识;

控制服务模块:用于创建与所述唯一标识对应的控制服务,将控制服务的接入地址返回给客户端;还用于基于所述接入地址,接收客户端发送的直播视频的区域坐标信息,基于所述区域坐标信息,获取直播视频数据,将所获取的直播视频数据发布到所述流媒体服务的访问地址;

流媒体服务模块:用于创建与所述唯一标识对应的流媒体服务,将流媒体服务的访问地址返回给客户端;还用于基于所述流媒体服务的访问地址,将所述直播视频数据推送给客户端。

本发明的第三方面,提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现上述方法的步骤。

本发明的第四方面,提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。

本发明的视频直播方法及装置,具有以下有益效果:

1、每个客户端对控制服务和流媒体服务具有独占性,是一对一的关系,客户端通过对应的控制服务来灵活控制观看的区域;

2、每个客户端的分辨率可以不同,流媒体服务可根据客户端请求的分辨率进行编码,客户端可在适宜的分辨率下观看;

3.根据需求提供服务,节省服务器资源。控制服务和流媒体服务在直播过程中根据需要进行启动,当客户端不再观看直播视频时,则不需要启动;

4、服务器只将客户端指定观看直播视频的区域所对应的视频数据作为直播视频数据发送给客户端,区域以外的其他视频数据则不需要发送,解决了服务器与客户端之间传输多余的视频数据所造成的的带宽、编解码资源浪费的问题;

5、满足客户端发送不同的区域坐标信息,实现由用户指定观看区域、自由切换直播视角的模式来观看直播视频的需求;

6、实现了以亿级像素的超高清视频作为视频源,使得用户能够看到全景视频图像中的任意局部细节图像画面,以满足用户捕捉画面全部细节的重大需求。

参照附图来阅读对于示例性实施例的以下描述,本发明的其他特性特征和优点将变得清晰。

附图说明

图1示例性示出了本发明实施例的一种视频直播方法的流程图;

图2示例性示出了在画布中确定区域坐标信息所对应的区域的示意图;

图3是根据一示例性实施例示出的一种视频直播装置的框图;

图4示例性示出了本发明的一种视频直播方法的交互示意图;

图5是根据一示例性实施例示出的一种计算机设备的框图。

具体实施例

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1示例性示出了本发明的一种视频直播方法具体实施例的流程图。

如图1所示,该视频直播方法,适用于服务器,其特征在于,包括:

步骤101、接收客户端请求直播视频的请求,其中,请求包括客户端的唯一标识;

步骤102、创建与唯一标识对应的控制服务和流媒体服务;

步骤103、将控制服务的接入地址和和流媒体服务的访问地址返回给客户端;

步骤104、基于接入地址,接收客户端发送的直播视频的区域坐标信息,基于区域坐标信息,获取直播视频数据,将所获取的直播视频数据发布到流媒体服务的访问地址;

步骤105、基于访问地址,将直播视频数据推送给客户端。

客户端可以为电脑端、手机端、平板端、vr眼镜等。

在该实施例中,服务器可以与多个客户端进行连接,服务器接收客户端发送的直播视频数据的请求,请求中携带客户端的唯一标识,服务器创建与唯一标识对应的控制服务和流媒体服务,并将该控制服务的的接入地址和流媒体服务的访问地址返回给客户端,客户端通过访问其对应的控制服务的接入地址,将请求观看的直播视频的区域坐标信息发送给服务器,服务器接收到该区域坐标信息,根据该区域坐标信息,获取直播视频数据,将所获取的直播视频数据发布到流媒体服务的访问地址;客户端通过进入该访问地址观看所请求的直播视频数据,一方面实现了每个客户端对控制服务和流媒体服务的独占性,是一对一的关系,客户端通过对应的控制服务来灵活控制观看的视频区域,另外,服务器将客户端请求观看的区域所对应的视频数据作为直播视频数据发送给客户端,区域以外的其他视频数据则不需要发送,解决了服务器与客户端之间传输多余的视频数据所造成的的带宽、编解码资源浪费的问题;同时满足客户端发送不同的区域坐标信息,实现由用户指定观看区域、自由切换直播视角的模式来观看直播视频的需求。

在步骤101中,服务器接收请求的协议包括但不限于http协议。

进一步地,该方法还包括:在步骤101中,请求包括客户端的分辨率;

具体地,在步骤105中,将所获取的直播视频数据推送给客户端包括:将所获取的直播视频数据根据分辨率进行转换后发送给客户端。

该实施例中,每个客户端的分辨率可以不同,服务器可根据客户端请求的分辨率进行分别编码,发送给相应的客户端,使得客户端能够在指定分辨率下观看。

进一步地,在步骤102之前,还包括:基于所述唯一标识查找确定是否已存在与所述唯一标识对应的控制服务和流媒体服务,若存在,则执行步骤103。

该实施例中,通过客户端的唯一标识进行查找,以判断所请求直播视频的客户端是否曾在服务器中已存在控制服务和流媒体服务,以防止出现重复创建与该客户端对应的控制服务与流媒体服务而造成占用空间资源的问题,即根据需求提供服务,节省服务器资源。

进一步地,步骤104中基于区域坐标信息,获取直播视频数据包括:

提取区域坐标信息,区域坐标信息包括基准坐标点、基于基准坐标点的区域宽度和区域高度;将基准坐标点、区域宽度和区域高度所确定的区域所对应的视频数据作为直播视频数据。

具体地,例如,客户端发送的区域坐标信息为(x,y,w,h)来请求观看区域,其中(x,y)代表区域在全景视频图像的转化成归一化坐标系下的左上角坐标,w为全景视频图像归一化坐标系下观看区域的水平方向范围,即区域宽度,h为全景视频图像归一化坐标系下观看区域的垂直方向范围,即区域高度,即根据区域坐标信息(x,y,w,h)确定出矩形区域,将所确定的矩形区域所对应的视频数据作为直播视频数据。

进一步地,该方法步骤101中还包括:获取直播时段信息,该直播时段信息可以为用户在请求中所指定的时间段信息,当用户未指定时间段信息时,将接收到请求的时间点作为起始时间,将客户端向服务器请求退出的时间点或者客户端与服务器断开的时间点作为终点时间,记为该直播时段信息。

在步骤104中基于区域坐标信息,获取直播视频数据包括:基于区域坐标信息,获取直播时段信息内的直播视频数据。

进一步地,步骤104中:还包括获取画布,具体地,获取画布包括:获取多路采集设备同一时刻的帧视频数据,对所有的帧视频数据按照预定规则,生成画布,画布包括亿级像素图像数据。

亿级像素图像数据是几亿甚至几十亿像素的分辨率的图像数据。

进一步地,步骤104中基于区域坐标信息,获取直播视频数据包括:

在同一坐标系下,确定所有的帧视频数据所对应的画面的位置关系;

在画布中确定区域坐标信息所对应的区域,将所确定的区域坐标信息所对应的区域所对应的视频数据作为直播视频数据。

该画布为服务器接收到多路采集设备(例如阵列式相机)所采集到的同一时刻编码后的帧视频数据进行解码,通过对相邻相机之间的重叠区域对相机进行标定,按照预定规则,例如利用位置坐标的变换、画面的拼接和融合,颜色的统一后将该帧视频数据拼接成全景视频图像,或者为广角相机阵列拍摄场景视频并经过拼接算法生成全景视频图像,该全景视频图像为亿级像素图像。

该阵列式相机指的是将一定数量的相机组成阵列,包含作为参考的一个广角相机,负责拍摄特定区域的高分辨率细节视频的多个长焦相机阵列,阵列式相机解决了传统相机无法捕获全景超高清图像数据的技术问题。服务器将阵列式相机拍摄的高分辨率细节视频进行融合可得到亿级像素的全景视频图像,以实现将亿级像素的超高清视频作为视频源,可将用户指定分辨率(如4k或者8k)和指定的任意区域的直播视频发送给用户,以满足用户捕捉画面全部细节的重大需求。

图2示例性示出了在画布中确定区域坐标信息所对应的区域的示意图。

如图2所示,获取的全景视频图像的画布存在于服务器中,是多路采集设备的画面组成的完整的视频画布,对画布坐标进行转化处理,在同一坐标系下,确定所有的帧视频数据所对应的画面的位置关系,具体地,将此画布的坐标信息进行转化,可对画布坐标进行自定义,定义画布左上角坐标为(0,0),右上角坐标为(1,0),左下角坐标为(0,1),右下角坐标为(1,1),转化为归一化坐标系后,确定所有的帧视频数据所对应的画面的位置关系,例如客户端请求观看的区域坐标信息为(0.18,0.30,0.49,0.50),其中(0.18,0.30)为a点坐标,0.49为区域宽度,0.50为区域高度,该三个参数该坐标系下所确定对应的矩形区域代表客户端想看到的区域,将该区域所对应的视频数据作为直播视频数据。

该实施例中,采集设备将采集到的同一时刻的数据进行编码,并发送到服务端,服务器接收到所有视频数据后进行同步解码,将同步解码后的帧视频数据进行拼接成亿级像素的全景视频图像的画布,服务器根据客户端发送的区域坐标信息,在全景视频图像的画布中获取客户端想看到的区域对应的视频数据后,按照指定分辨率转换后发送给用户,实现了以亿级像素的超高清视频作为视频源,将用户指定分辨率(如4k或者8k)和指定的任意区域的直播视频发送给用户,使得用户能够看到全景视频中的任意局部细节图像画面,以满足用户捕捉画面全部细节的重大需求。

为了能够降低服务器的负载,步骤104中基于区域坐标信息,获取直播视频数据包括:

在同一坐标系下,确定多路采集设备的画面的位置关系;

根据所确定的多路采集设备的画面的位置关系,确定区域坐标信息所对应的视频数据,将所确定区域坐标信息所对应的视频数据作为直播视频数据。

具体地,可定义采集的全景视频的画面的左上角坐标为(0,0),右上角坐标为(1,0),左下角坐标为(0,1),右下角坐标为(1,1),转化为同一坐标系后,服务器根据该坐标系确定各采集设备(如阵列相机)的画面相对的位置关系,依据各采集设备的画面相对的位置关系确定采集设备,进一步确定客户端请求观看的区域所覆盖的多路采集设备。

服务器通过接收到的区域坐标信息就可以根据各路采集设备的画面的位置关系确定此区域所覆盖的采集设备,以及每个采集设备的观看区域,对各采集设备的观看区域进行裁剪,并将裁剪后的视频进行融合拼接成视频数据,则将该视频数据确定为该区域坐标信息所对应的视频数据。

该实施例中,在同一坐标系下,依据各采集设备的画面在全景视频画面的位置关系,根据客户端所请求的观看区域的区域坐标信息,确定该区域坐标信息所确定的矩形区域所覆盖的采集设备及所覆盖的采集设备的观看区域,对各个观看区域进行裁剪后进行融合拼接成该区域坐标信息所对应的视频数据,将该视频数据转换成客户端请求的分辨率大小,并编码封装后发送给客户端,实现了在服务器内不需要生成全景视频图像的画布,以能够降低服务器的负载。

该视频直播方法,还包括:步骤106,接收到客户端的退出请求时,关闭客户端的唯一标识对应的控制服务和流媒体服务。

该实施例中,当服务器接收到客户端请求退出时,则关闭该客户端对应的控制服务和流媒体服务,以能够及时释放服务器的空间资源,当存在大量的客户端请求接入服务器时,服务器还可以主动探测客户端与服务器是否已断开连接,若在很长时间内或者预设时段内探测到服务器与客户端没有任何数据往来,则判断客户端与服务器已断开连接,则关闭该客户端对应的控制服务和流媒体服务,从而合理分配服务器资源以保证其他客户端的正常接入。

该视频直播方法,还包括:步骤107,通知客户端退出成功。

图3是本发明的一种视频直播装置300的框图,适用于服务器,包括:接收模块301、控制服务模块302、流媒体服务模块303;

接收模块301,用于接收客户端请求直播视频的请求,其中,请求包括客户端的唯一标识;将接入地址与访问地址

控制服务模块302:用于创建与唯一标识对应的控制服务,将控制服务的接入地址返回给客户端;还用于基于接入地址,接收客户端发送的直播视频的区域坐标信息,基于区域坐标信息,获取直播视频数据,将所获取的直播视频数据发布到流媒体服务的访问地址;

流媒体服务模块303:用于创建与唯一标识对应的流媒体服务,将流媒体服务的访问地址返回给客户端;还用于基于流媒体服务的访问地址,将直播视频数据推送给客户端。

进一步地,控制服务模块302:还用于提取区域坐标信息,区域坐标信息包括基准坐标点、基于基准坐标点的区域宽度和区域高度;将基准坐标点、区域宽度和区域高度所确定的区域所对应的视频数据作为直播视频数据。

进一步地,控制服务模块302:还用于获取画布,具体地,获取画布包括:获取多路采集设备同一时刻的帧视频数据,对所有的帧视频数据按照预定规则,生成画布,画布包括亿级像素图像数据。

进一步地,控制服务模块302:还用于在同一坐标系下,确定所有的帧视频数据所对应的画面的位置关系;

在画布中确定区域坐标信息所对应的区域,将所确定的区域坐标信息所对应的区域所对应的视频数据作为直播视频数据。

进一步地,控制服务模块302:还用于在同一坐标系下,确定多路采集设备的画面的位置关系;

根据所确定的多路采集设备的画面的位置关系,确定区域坐标信息所对应的视频数据,将所确定区域坐标信息所对应的视频数据作为直播视频数据。

进一步地,接收模块301,还用于获取直播时段信息;

控制服务模块302:还用于基于区域坐标信息,获取直播时段信息内的直播视频数据。

进一步地,接收模块301,还用于接收客户端的分辨率;

流媒体服务模块203:还用于将直播视频数据根据分辨率进行转换后发送给客户端。

进一步地,接收模块301,还用于基于客户端的唯一标识查找确定是否已存在与唯一标识对应的控制服务和流媒体服务。

进一步地,接收模块301,还用于接收客户端的退出请求;

控制服务模块302:还用于接收模块接收到客户端的退出请求时,关闭该客户端的唯一标识对应的控制服务;

流媒体服务模块303:还用于接收模块接收到客户端的退出请求时,关闭该客户端的唯一标识对应的流媒体服务。

该视频直播装置还包括:通知客户端退出成功。

下面结合本文提供的系统对本文提供的方法进行说明:

图4是根据一示例性实施例示出的一种视频直播方法的交互示意图。

如图4所示,步骤401,客户端发送请求直播视频的请求,该请求中包括客户端的唯一标识和客户端的分辨率,服务器的接收模块接收到该请求信息。

步骤402,接收模块基于唯一标识查找确定是否已存在与唯一标识对应的控制服务和流媒体服务,若判断存在,则将控制服务的的接入地址和流媒体服务的访问地址返回给客户端,若是不存在,则发送创建与客户端的唯一标识对应的控制服务的信息给控制服务模块,发送创建与客户端的唯一标识对应的流媒体服务的信息给流媒体模块。

步骤403,控制服务模块创建与唯一标识对应的控制服务,流媒体服务模块创建与唯一标识对应的流媒体服务;

步骤404,控制服务模块成功创建控制服务后,将控制服务的接入地址返回给,流媒体服务模块成功创建媒体服务后,将流媒体服务的访问地址返回,服务器将控制服务的接入地址和流媒体服务的访问地址返回给客户端;

步骤405、客户端通过接入地址发送的直播视频的区域坐标信息,控制服务模块接收客户端发送的直播视频的区域坐标信息,基于区域坐标信息,获取直播视频数据,将所获取的直播视频数据发布到流媒体服务模块;

步骤406,流媒体服务模块将直播视频数据进行转换后,通过该客户端对应的流媒体服务的访问地址进行发布;

步骤407,客户端通过访问该访问地址观看所请求的直播视频。

步骤408,客户端发送退出请求,接收模块接收到该退出请求时,控制服务模块关闭该客户端的唯一标识对应的控制服务,流媒体服务模块关闭该客户端的唯一标识对应的流媒体服务;

步骤409,当控制服务模块成功关闭控制服务和流媒体服务模块成功关闭流媒体服务后,服务器通知客户端退出成功。

本发明实施例还提供了一种计算机可读存储介质,此存储介质上存储有计算机程序,程序被处理器执行时实现上述方法的步骤。

本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行此程序时实现上述方法的步骤。

图5是根据一示例性实施例示出的一种计算机设备500的框图。例如,计算机设备500可以被提供为一服务器。参照图5,计算机设备500包括处理器501,处理器的个数可以根据需要设置为一个或者多个。计算机设备500还包括存储器502,用于存储可由处理器501执行的指令,例如应用程序。存储器的个数可以根据需要设置一个或者多个,其存储的应用程序可以为一个或者多个。处理器501用于执行指令,以执行上述方法。

本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质,包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质等。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明的意图也包含这些改动和变型在内。

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