视频直播方法、系统及电子设备与流程

文档序号:21479201发布日期:2020-07-14 17:04阅读:307来源:国知局
视频直播方法、系统及电子设备与流程

本发明涉及图像处理技术领域,尤其是涉及一种视频直播方法、系统及电子设备。



背景技术:

vr(virtualreality,虚拟现实)直播是虚拟现实与直播技术的结合,其中,虚拟现实是指利用电脑模拟三维空间,提供使用关于视觉、听觉、触觉等感官的模拟,让体验者身临其境地观察三维空间。相比于传统直播,vr直播可以提供180°或360°的全景视角,沉浸感更强,并且其显示画面也更立体和真实,交互性也更强。

目前,进行vr直播时,通常需要配备专业摄像机、5g或专线传输网络、以及vr观看终端,例如vr眼镜、vr头显或vr一体机等,这种方式的部署成本较高,无法适用于网络环境受限、成本预算较低的场景中。



技术实现要素:

有鉴于此,本发明的目的在于提供一种视频直播方法、系统及电子设备,可以在网络环境受限的情况下,实现低成本的vr视频直播。

第一方面,本发明实施例提供了一种视频直播方法,应用于视频处理装置,该视频处理装置通过流媒体服务器与指定的播放终端通信连接;该方法包括:获取初始全景视频数据;该初始全景视频数据根据采集到的实时视频数据进行图像拼接得到;对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据;将压缩后的全景视频数据发送给该流媒体服务器,以使该流媒体服务器对接收到全景视频数据进行转码,得到视频流数据,并将该视频流数据发送给该播放终端,以通过该播放终端播放该视频流数据。

在本发明较佳的实施例中,上述对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据的步骤,包括:按预设的编码参数对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据,该编码参数包括码率系数和最大码率。

在本发明较佳的实施例中,上述全景视频数据的压缩格式为h.264。

在本发明较佳的实施例中,上述将压缩后的该全景视频数据发送给该流媒体服务器的步骤,包括:通过实时信息传输协议,将压缩后的该全景视频数据发送给该流媒体服务器。

第二方面,本发明实施例还提供了一种视频直播方法,应用于流媒体服务器,该流媒体服务器分别与预设的视频处理装置和播放终端通信连接;该方法包括:接收该视频处理装置发送的全景视频数据;该全景视频数据由该视频处理装置根据获取到的初始全景视频数据编码压缩后得到;对该全景视频数据进行转码,得到视频流数据;将该视频流数据发送给该播放终端,以通过该播放终端播放该视频流数据。

在本发明较佳的实施例中,上述对该全景视频数据进行转码,得到视频流数据的步骤,包括:根据预设的流媒体网络传输协议对该全景视频数据进行转码,得到满足该流媒体网络传输协议的视频流数据。

在本发明较佳的实施例中,上述流媒体网络传输协议为hls协议。

在本发明较佳的实施例中,上述将该视频流数据发送给该播放终端的步骤,包括:通过预设的内容分发网络,将该视频流数据发送给该播放终端。

第三方面,本发明实施例还提供了一种视频直播方法,应用于播放终端,该播放终端通过流媒体服务器与预设的视频处理装置通信连接;该方法包括:接收该流媒体服务器发送的视频流数据;该视频流数据由该流媒体服务器根据从该视频处理装置接收到的全景视频数据转码得到;该全景视频数据由该视频处理装置根据获取到的初始全景视频数据进行编码压缩后得到;播放该视频流数据。

在本发明较佳的实施例中,上述播放该视频流数据的步骤,包括:通过预先加载的全景视频播放器播放该视频流数据。

在本发明较佳的实施例中,上述全景视频播放器以网页中的视频播放插件的形式实现;上述通过预先加载的全景视频播放器播放该视频流数据的步骤,包括:在该播放终端加载指定网页;该指定网页中预先嵌入有视频播放插件;通过该视频播放插件播放该视频流数据。

在本发明较佳的实施例中,上述视频播放插件包括videojs-contrib-hls插件和videojs-panorama插件。

在本发明较佳的实施例中,上述通过该视频播放插件播放该视频流数据的步骤,包括:将该视频流数据封装为指定文件格式的媒体文件;通过预设的视频解码器对该媒体文件进行解码;通过该视频播放插件播放解码后的媒体文件。

在本发明较佳的实施例中,上述指定文件格式为fmp4格式。

第四方面,本发明实施例还提供了一种视频直播系统,包括视频处理装置、流媒体服务器和播放终端;该流媒体服务器分别与该视频处理装置和该播放终端通信连接;该视频处理装置用于,获取初始全景视频数据;对该初始全景视频数据进行编码压缩处理,得到压缩后的全景视频数据;将压缩后的该全景视频数据发送给该流媒体服务器;该流媒体服务器用于,对接收到的全景视频数据进行转码,得到视频流数据,并将该视频流数据发送给该播放终端;该播放终端用于,通过预先加载的全景视频播放器播放接收到的视频流数据。

在本发明较佳的实施例中,上述视频处理装置包括视频采集模块和视频处理模块,该视频处理模块上运行有视频拼接程序和推流程序;该视频采集模块用于采集实时视频数据;该视频处理模块用于,通过该视频拼接程序对该实时视频数据进行图像拼接,得到初始全景视频数据;通过该推流程序对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据;将压缩后的该全景视频数据发送给该流媒体服务器。

在本发明较佳的实施例中,上述视频采集模块包括vr摄像机或者全景相机,上述视频处理模块包括计算机或者边缘服务器。

第五方面,本发明实施例还提供了一种视频处理装置,该视频处理装置通过流媒体服务器与指定的播放终端通信连接;该视频处理装置包括:初始全景视频数据获取模块,用于获取初始全景视频数据;该初始全景视频数据根据采集到的实时视频数据进行图像拼接得到;编码压缩模块,用于对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据;全景视频数据发送模块,用于将压缩后的该全景视频数据发送给该流媒体服务器,以使该媒体服务器对接收到全景视频数据进行转码,得到视频流数据,并将该视频流数据发送给该播放终端,以通过该播放终端播放该视频流数据。

第六方面,本发明实施例还提供了一种流媒体服务器,该流媒体服务器分别与预设的视频处理装置和播放终端通信连接;该流媒体服务器包括:全景视频数据接收模块,用于接收该视频处理装置发送的全景视频数据;该全景视频数据由该视频处理装置根据获取到的初始全景视频数据编码压缩后得到;全景视频数据转码模块,用于对该全景视频数据进行转码,得到视频流数据;视频流数据发送模块,用于将该视频流数据发送给该播放终端,以通过该播放终端播放该视频流数据。

第七方面,本发明实施例还提供了一种播放终端,该播放终端通过流媒体服务器与预设的视频处理装置通信连接;该播放终端包括:视频流数据接收模块,用于接收该流媒体服务器发送的视频流数据;该视频流数据由该流媒体服务器根据从该视频处理装置接收到的全景视频数据转码得到;该全景视频数据由该视频处理装置根据获取到的初始全景视频数据进行编码压缩后得到;视频流数据播放模块,用于播放该视频流数据。

第八方面,本发明实施例还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现上述视频直播方法。

第九方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述视频直播方法。

本发明实施例带来了以下有益效果:

本发明实施例提供的一种视频直播方法、系统及电子设备,首先获取初始全景视频数据;该初始全景视频数据根据采集到的实时视频数据进行图像拼接得到;对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据;然后将压缩后的全景视频数据发送给该流媒体服务器,以使该媒体服务器对接收到全景视频数据进行转码,得到视频流数据,并将该视频流数据发送给该播放终端,以通过该播放终端播放该视频流数据。该方式中,通过视频处理装置(例如pc机)对全景视频数据编码压缩,并推流到流媒体服务器中进行转码,得到可在播放终端播放的视频流数据,从而实现在移动终端(例如手机、平板电脑等)实时播放全景视频,该方式通过较为低廉的视频处理设备和播放终端,在一般网络环境下即可实现vr视频直播,相比于传统的vr直播方式,本发明降低了vr视频直播对网络环境的要求,也降低了部署成本。

本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明实施例提供的一种视频直播方法的流程示意图;

图2为本发明实施例提供的另一种视频直播方法的流程示意图;

图3为本发明实施例提供的另一种视频直播方法的流程示意图;

图4为本发明实施例提供的一种视频直播系统的结构示意图;

图5为本发明实施例提供的一种视频直播系统的实现方案示意图;

图6为本发明实施例提供的一种视频处理装置的结构示意图;

图7为本发明实施例提供的一种流媒体服务器的结构示意图;

图8为本发明实施例提供的一种播放终端的结构示意图;

图9为本发明实施例提供的一种电子设备的结构示意图。

图标:41-视频处理装置;42-流媒体服务器;43-播放终端;61-初始全景视频数据获取模块;62-编码压缩模块;63-全景视频数据发送模块;71-全景视频数据接收模块;72-全景视频数据转码模块;73-视频流数据发送模块;81-视频流数据接收模块;82-视频流数据播放模块;91-处理器;92-存储器;93-总线;94-通信接口。

具体实施方式

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

直播是指通过电台、电视台、网络平台等传播媒体,对语音、文字、图片或视频等节目内容进行现场即时播出的一种方式,可分为电台直播、电视直播和网络直播。

在移动互联网时代,网络直播不仅压缩了时空,让用户能够实时观看体育赛事、重大活动和新闻,还可以添加文字聊天、送礼物等功能,将传统直播的单向传输转换为双向互动,增加了直播的趣味性。其中,临场感的缺乏和交互的单一性是传统直播的明显不足之处,而vr(virtualreality,虚拟现实)直播技术很好地解决了这一问题,促使用户的直播体验再上新台阶。vr直播相比于普通直播的优势是,全景画面增加了现场的沉浸感和临场感,同时用户还可以主动切换视角,因而有着更强的娱乐性和交互性。

一方面,专业级的vr直播方案通常要求配备专业的摄像设备(例如,组合式vr摄像机或一体式vr摄像机),较高要求的传输网络(5g或专线),并且用户还需要佩戴专业的终端设备(例如,vr头显、vr一体机或vr眼镜)进行观看。这类直播方案可以提供优秀的收看效果和客户体验,但是成本高昂。

另一方面,市场上也有消费级的一体式vr摄像机,例如,insta360one,kandaoqoocam,ricohtheta等。这些消费级一体式vr摄像机的价格相对便宜,但主要用于用户日常拍摄记录、网红直播等ugc(usergeneratedcontent,用户原创内容)内容的直播。

整体来说,专业级的vr直播方案部署成本很高,专业摄像机每台数万元不等,回传vr视频需要5g或专线提供高带宽(例如,8k视频要求带宽达到80-200mbps),并且需要给观众配发大量vr眼镜、头显或一体机。而消费级的一体式vr摄像机大部分只支持vr点播,支持vr直播的功能也较弱。另一方面,对于非专业级别的活动直播场景,例如,公司年会、中小型团体的文艺演出和体育比赛等,现场网络环境和观众的网络环境都可能极为受限(如上行10-20mbps,下行共享100-200mbps),且也可能没有条件给观众配发大量的vr显示设备。在这种情况下,就需要一种轻量级的vr视频直播方案。

考虑到现有的vr直播方式部署成本较高,无法适用于网络环境受限、成本预算较低的场景中的问题,本发明实施例提供的一种视频直播方法、系统及电子设备,该技术可以应用于一般网络环境下需要进行视频直播的场景中。为便于对本实施例进行理解,首先对本发明实施例所公开的一种视频直播方法进行详细介绍。

参见图1,所示为本发明实施例提供的一种视频直播方法的流程示意图,其中,该方法应用于视频处理装置,该视频处理装置通过流媒体服务器与指定的播放终端通信连接。由图1可见,该方法包括以下步骤:

步骤s102:获取初始全景视频数据;该初始全景视频数据根据采集到的实时视频数据进行图像拼接得到。

这里,vr视频又名全景视频,是指用专业的vr摄影功能将现场环境真实地记录下来,再通过计算机进行后期处理,所形成的可以实现三维的空间展示功能的视频。用户在观看视频的时候,通常可以随意调节视频上下左右的角度进行观看。

在实际操作中,可以通过vr摄像机或者全景相机获取实时视频数据,再通过图像拼接软件对视频数据中的图像帧进行拼接,得到全景视频图像帧,进而得到全景视频数据。在本实施例中,上述初始全景视频数据即是根据采集到的实时视频数据进行图像拼接得到。

步骤s104:对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据。

在其中一种可能的实施方式中,按预设的编码参数对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据,其中,该编码参数包括码率系数(crf)和最大码率(maxrate)。

其中,可以对初始全景视频数据中的全景图像帧进行h.264格式的编码压缩,这里,h.264是国际标准化组织(iso)和国际电信联盟(itu)共同提出的继mpeg4之后的新一代数字视频压缩格式。并且,为了保证视频质量,本实施例中采用码率系数控制模式,其中,码率系数设置为23,并且,根据输出分辨率的不同将最大码率设置在4m~20m之间,这里,要求最大码率小于该视频处理装置的上行网络的网速限制。

步骤s106:将压缩后的全景视频数据发送给该流媒体服务器,以使该流媒体服务器对接收到全景视频数据进行转码,得到视频流数据,并将该视频流数据发送给该播放终端,以通过该播放终端播放该视频流数据。

这里,流媒体是指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。而流媒体服务器的主要功能是对流媒体内容进行采集、缓存、调度和传输播放。

在至少一种可能的实施方式中,上述视频处理装置可以通过实时信息传输协议(realtimemessagingprotocol,rtmp),将压缩后的该全景视频数据发送给该流媒体服务器。例如,该流媒体服务器可以是云直播平台,并且,视频处理装置通过rtmp协议将编码压缩后的全景视频数据推送到该云直播平台的指定推流地址。

在本实施例中,该流媒体服务器在接收到全景视频数据之后,对全景视频数据进行转码,得到视频流数据。然后,将该视频流数据发送给指定的播放终端,以通过该播放终端播放该视频流数据。其中,该播放终端可以是移动智能端,例如手机,pc机等等。

另外,本实施例中的视频处理装置,其可以是具备推流功能的设备,例如,可以是运行有推流程序的计算机,从而可以实现上述步骤s102-步骤s106,使得在播放终端(如手机等设备)实现观看vr直播。

相比于传统的vr直播方式,本实施例提供的视频直播方法不需要配备专业摄像机、高速的传输网络和vr终端设备,而在一般网络环境下(例如4g网络下),采用较为低廉的视频处理设备(例如笔记本电脑)和播放终端(例如手机),即可实现vr视频直播。

本发明实施例提供的一种视频直播方法,首先获取初始全景视频数据;该初始全景视频数据根据采集到的实时视频数据进行图像拼接得到;对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据;然后将压缩后的全景视频数据发送给该流媒体服务器,以使该媒体服务器对接收到全景视频数据进行转码,得到视频流数据,并将该视频流数据发送给该播放终端,以通过该播放终端播放该视频流数据。该方式中,通过视频处理装置(例如pc机)对全景视频数据编码压缩,并推流到流媒体服务器中进行转码,得到可在播放终端播放的视频流数据,从而实现在移动终端(例如手机、平板电脑等)实时播放全景视频,该方式降低了vr视频直播对网络环境的要求,也降低了部署成本。

在图1所示视频直播方法的基础上,本实施例提供了另一种视频直播方法,该方法从流媒体服务器一侧描述了实现视频直播的过程。

如图2所示,其为本发明实施例提供的另一种视频直播方法的流程示意图,其中,该方法应用于流媒体服务器,并且,该流媒体服务器分别与预设的视频处理装置和播放终端通信连接。由图2可见,该方法包括以下步骤:

步骤s202:接收该视频处理装置发送的全景视频数据;该全景视频数据由该视频处理装置根据获取到的初始全景视频数据编码压缩后得到。

这里,视频处理装置对获取到的初始全景视频数据进行编码压缩后,得到压缩后的全景视频数据,并将该全景视频数据发送给流媒体服务器。

步骤s204:对该全景视频数据进行转码,得到视频流数据。

在其中一种可能的实施方式中,可以根据预设的流媒体网络传输协议对该全景视频数据进行转码,得到满足该流媒体网络传输协议的视频流数据。例如,该流媒体网络传输协议可以是hls协议。

其中,hls(httplivestreaming)协议是由苹果公司提出的基于http的流媒体网络传输协议。它的工作原理是把整个流分成一个个小的基于http的文件来下载,每次只下载一部分。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,它允许流媒体会话适应不同的数据速率。

步骤s206:将该视频流数据发送给该播放终端,以通过该播放终端播放该视频流数据。

在至少一种可能的实施方式中,可以通过预设的内容分发网络(contentdeliverynetwork,cdn),将该视频流数据发送给该播放终端。其中,cdn是构建在现有网络基础之上的智能虚拟网络,它依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,从而降低网络拥塞,提高用户访问响应速度和命中率。在实际操作中,通过cdn进行频流数据的内容分发可以实现高并发等能力。

本实施例从流媒体服务器一侧描述了实现视频直播的方法,该方法可以在普通4g网络环境下,通过较为低廉的视频处理设备和播放终端,以及流媒体服务器,实现vr视频直播。

此外,在图1所示视频直播方法的基础上,本实施例还提供了另一种视频直播方法,该方法从播放终端一侧描述了实现上述视频直播方法的过程。

如图3所示,其为本发明实施例提供的另一种视频直播方法的流程示意图,其中,该方法应用于播放终端,并且,该播放终端通过流媒体服务器与预设的视频处理装置通信连接。由图3可见,该方法包括以下步骤:

步骤s302:接收该流媒体服务器发送的视频流数据;该视频流数据由该流媒体服务器根据从该视频处理装置接收到的全景视频数据转码得到;该全景视频数据由该视频处理装置根据获取到的初始全景视频数据进行编码压缩后得到。

这里,流媒体服务器发送视频流数据,以及视频处理装置对初始全景视频进行编码压缩的内容,可以参考前述实施例中的对应部分,在此不再赘述。

步骤s304:播放该视频流数据。

在其中一种可能的实施方式中,可以通过预先加载的全景视频播放器播放该视频流数据。

其中,上述全景视频播放器以网页中的视频播放插件的形式实现;并且,上述通过预先加载的全景视频播放器播放该视频流数据的步骤可以通过下述步骤21-22实现:

(21)在该播放终端加载指定网页;该指定网页中预先嵌入有视频播放插件。

其中,该网页中的视频播放插件可以基于video.js框架开发,这里,video.js是一款基于html5的网络视频播放器,它支持html5和flash视频,以及youtube和vimeo,并支持在桌面和移动设备上播放视频。在其中一种可能的实施方式中,可以通过videojs-contrib-hls插件和videojs-panorama插件实现在指定网页中嵌入全景视频播放器。

(22)通过该视频播放插件播放该视频流数据。

在本实施例中,通过下述步骤31-33播放该视频流数据:

(31)将该视频流数据封装为指定文件格式的媒体文件。

例如,可以先将视频流数据封装为fmp4(fragmentmp4)格式。

(32)通过预设的视频解码器对该媒体文件进行解码。

例如,通过mse(mediasourceextensions,媒体源扩展)接口流式传入video标签,并通过video标签对视频进行解码。其中,video标签支持mp4文件使用h264视频编解码器和aac音频编解码器。

(33)通过该视频播放插件播放解码后的媒体文件。

例如,可以将解码后的媒体文件渲染到canvas上进行播放,这里,html5的canvas元素使用javascript在网页上绘制图像。

此外,在通过播放终端播放上述vr视频时,该全景视频播放器还可以提供通过手指滑动屏幕,或者在支持陀螺仪的手机上通过转动手机的操作,实现切换视角的功能。

本实施例从播放终端一侧描述了实现视频直播的方法,该方法可以在一般网络环境下,通过较为低廉设备,以较少的成本实现vr视频直播。

此外,本发明实施例还提供了一种视频直播系统,参见图4,所示为一种视频直播系统的结构示意图,由图4可见,该系统包括视频处理装置41、流媒体服务器42和播放终端43,其中,该流媒体服务器42分别与该视频处理装置41和该播放终端43通信连接。

对于上述视频直播系统,其中,该视频处理装置41用于,获取初始全景视频数据;并对该初始全景视频数据进行编码压缩处理,得到压缩后的全景视频数据;然后将压缩后的该全景视频数据发送给上述流媒体服务器42。

在其中一种可能的实施方式中,上述视频处理装置41包括视频采集模块和视频处理模块。并且,该视频处理模块上运行有视频拼接程序和推流程序。

其中,该视频采集模块用于采集实时视频数据,例如,该视频采集模块可以是vr摄像机或者全景相机。其中,vr摄像机可以采用ricohtheta或insta360one等消费级vr摄像机。通常情况下,消费级的vr摄像机配置有两个鱼眼摄像头,能够拍摄超广角视频。这里,鱼眼镜头是一种焦距为16mm或更短的镜头,其视角接近或等于180°。

另外,上述视频处理模块用于通过该视频拼接程序对实时视频数据进行图像拼接,得到初始全景视频数据;然后通过该推流程序对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据;并最终将压缩后的该全景视频数据发送给流媒体服务器42。

在至少一种可能的实施方式中,上述视频处理模块可以是计算机或者边缘服务器。在实际操作中,可以通过vr摄像机采集实时视频数据,然后将实时视频数据发送给计算机(边缘服务器),并由计算机(边缘服务器)进行图像拼接得到全景视频数据,进而将全景视频数据推流至流媒体服务器42。

然后,上述流媒体服务器42对接收到的全景视频数据进行转码,得到视频流数据,并将该视频流数据发送给该播放终端43。最终,该播放终端43通过预先加载的全景视频播放器播放接收到的视频流数据。

为了更清楚理解本实施例提供的视频直播系统的工作原理,参见图5,所示为一种视频直播系统的实现方案示意图,在图5示出的实施方式中,视频处理装置为笔记本电脑,其中该笔记本电脑上运行有视频拼接程序和推流程序;流媒体服务器为某云直播平台;播放终端为手机。

由图5可见,首先由消费级的vr摄像机采集实时视频数据,然后通过数据线或局域网wifi将实时视频数据传递到本地笔记本电脑上,该笔记本电脑上运行有视频拼接软件(例如,thetauvcblender),用于对双路/多路视频进行图像拼接,并生成宽高比为2:1的全景视频。接着,在该笔记本电脑上基于obs(openbroadcastersoftware,开放式广播软件)等推流工具,对全景视频进行h.264编码压缩,本实施例中,采用码率系数(crf)控制模式,其中crf设置为23,同时设置最大码率(maxrate),使之小于上行网络的网速限制。

然后,通过笔记本电脑将压缩后的全景视频通过rtmp协议推流到云直播平台的cdn边缘节点,或直接推送到直播源站服务器,并在云直播平台上进行转码处理,输出hls协议的直播流,并发送到观众的手机终端。

其中,图5所示的实施例中,观众的手机端可以自由选择连接宽带wifi或4g网络的方式来观看vr视频,从而可以分担网络压力,减少卡顿。具体地,本实施例中采用手机端web网页的方式播放vr视频。也即,首先生成指定web网页的url对应的二维码,观众通过手机扫描二维码打开该web页面进行直播观看。其中,该指定web页面中嵌入有vr播放器,播放上述云直播平台生产的hls直播流。

这里,该vr播放器基于video.js框架开发(例如:video.js+videojs-contrib-hls插件+videojs-panorama插件),播放器会将hls的码流重新封装成fmp4格式,通过mse接口流式传入video标签,由video标签对视频进行解码,并渲染到最终的canvas上进行播放。

本实施例提供的视频直播系统,可以在一般网络环境下,通过较为低廉的视频处理设备和播放终端,以较少的成本实现vr视频直播。

对应于图1中所示的视频直播方法,本发明实施例还提供了一种视频处理装置,参见图6,所示为一种视频处理装置的结构示意图,由图6可见,该装置包括依次连接的初始全景视频数据获取模块61、编码压缩模块62和全景视频数据发送模块63,其中,各个模块的功能如下:

初始全景视频数据获取模块61,用于获取初始全景视频数据;该初始全景视频数据根据采集到的实时视频数据进行图像拼接得到;

编码压缩模块62,用于对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据;

全景视频数据发送模块63,用于将压缩后的该全景视频数据发送给该流媒体服务器,以使该媒体服务器对接收到全景视频数据进行转码,得到视频流数据,并将该视频流数据发送给该播放终端,以通过该播放终端播放该视频流数据。

本实施例提供的视频处理装置,通过视频处理装置(例如pc机)对全景视频数据编码压缩,并推流到流媒体服务器中进行转码,得到可在播放终端播放的视频流数据,从而实现在移动终端(例如手机、平板电脑等)实时播放全景视频,该方式通过较为低廉的视频处理设备和播放终端,在一般网络环境下即可实现vr视频直播,相比于传统的vr直播方式,本发明降低了vr视频直播对网络环境的要求,也降低了部署成本。

在其中一种可能的实施方式中,上述编码压缩模块62还用于:按预设的编码参数对该初始全景视频数据进行编码压缩,得到压缩后的全景视频数据,该编码参数包括码率系数和最大码率。

在另一种可能的实施方式中,上述全景视频数据的压缩格式为h.264。

在另一种可能的实施方式中,上述全景视频数据发送模块63还用于:通过实时信息传输协议,将压缩后的该全景视频数据发送给该流媒体服务器。

本发明实施例提供的视频处理装置,其实现原理及产生的技术效果和前述视频处理方法实施例相同,为简要描述,视频处理装置的实施例部分未提及之处,可参考前述视频处理方法实施例中相应内容。

对应于图2中所示的视频直播方法,本发明实施例还提供了一种流媒体服务器,参见图7,所示为一种流媒体服务器的结构示意图,由图7可见,该流媒体服务器包括依次连接的全景视频数据接收模块71、全景视频数据转码模块72和视频流数据发送模块73,其中,各个模块的功能如下:

全景视频数据接收模块71,用于接收该视频处理装置发送的全景视频数据;该全景视频数据由该视频处理装置根据获取到的初始全景视频数据编码压缩后得到;

全景视频数据转码模块72,用于对该全景视频数据进行转码,得到视频流数据;

视频流数据发送模块73,用于将该视频流数据发送给该播放终端,以通过该播放终端播放该视频流数据。

在其中一种可能的实施方式中,上述全景视频数据转码模块72还用于:根据预设的流媒体网络传输协议对该全景视频数据进行转码,得到满足该流媒体网络传输协议的视频流数据。

在另一种可能的实施方式中,上述流媒体网络传输协议为hls协议。

在另一种可能的实施方式中,上述视频流数据发送模块73还用于:通过预设的内容分发网络,将该视频流数据发送给该播放终端。

本发明实施例提供的流媒体服务器,与上述实施例提供的视频直播方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

对应于图3中所示的视频直播方法,本发明实施例还提供了一种播放终端,参见图8,所示为一种播放终端的结构示意图,由图8可见,该播放终端包括彼此连接的视频流数据接收模块81和视频流数据播放模块82,其中,各个模块的功能如下:

视频流数据接收模块81,用于接收该流媒体服务器发送的视频流数据;该视频流数据由该流媒体服务器根据从该视频处理装置接收到的全景视频数据转码得到;该全景视频数据由该视频处理装置根据获取到的初始全景视频数据进行编码压缩后得到;

视频流数据播放模块82,用于播放该视频流数据。

在其中一种可能的实施方式中,上述视频流数据播放模块82还用于:通过预先加载的全景视频播放器播放该视频流数据。

在另一种可能的实施方式中,上述全景视频播放器以网页中的视频播放插件的形式实现;上述视频流数据播放模块82还用于:在该播放终端加载指定网页;该指定网页中预先嵌入有视频播放插件;通过该视频播放插件播放该视频流数据。

在另一种可能的实施方式中,上述视频播放插件包括videojs-contrib-hls插件和videojs-panorama插件。

在另一种可能的实施方式中,上述视频流数据播放模块82还用于:将该视频流数据封装为指定文件格式的媒体文件;通过预设的视频解码器对该媒体文件进行解码;通过该视频播放插件播放解码后的媒体文件。

在另一种可能的实施方式中,上述指定文件格式为fmp4格式。

本发明实施例提供的播放终端,与上述实施例提供的视频直播方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本发明实施例还提供了一种电子设备,如图9所示,为该电子设备的结构示意图,其中,该电子设备包括处理器91和存储器92,该存储器92存储有能够被该处理器91执行的机器可执行指令,该处理器91执行该机器可执行指令以实现上述视频直播方法。

在图9示出的实施方式中,该电子设备还包括总线93和通信接口94,其中,处理器91、通信接口94和存储器92通过总线连接。

其中,存储器92可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口94(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器91可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器91中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器91可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器91读取存储器92中的信息,结合其硬件完成前述实施例的视频直播方法的步骤。

本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述视频直播方法,具体实现可参见前述方法实施例,在此不再赘述。

本发明实施例所提供的视频直播方法、视频直播装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的视频直播方法,具体实现可参见方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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