一种视频直播方法、直播系统和直播服务器与流程

文档序号:11181039
一种视频直播方法、直播系统和直播服务器与流程

本申请涉及直播技术,尤其涉及一种视频直播方法、直播系统和直播服务器。



背景技术:

直播系统是一种将主播用户的直播视频流广播至多个观众用户进行观看的互联网系统。直播系统一般包括:主播客户端设备、直播服务器和观众客户端设备,其中,主播客户端设备采集主播用户的直播视频流,并将直播视频流发送给直播服务器,直播服务器进而将直播视频流通过广播或组播技术发送给对应的观众客户端设备,各个观众客户端设备接收并显示该直播视频流。

目前,直播经常面临网络不稳定、网速慢(弱网环境)的问题。为降低直播对网络的要求,常采用高压缩比的编码算法对主播客户端设备采集到的视频数据进行编码。但是,当采用高压缩比的编码算法对主播客户端设备采集到的视频数据进行编码后,由于观众客户端设备的性能差异,当观众客户端设备对接收到的编码信息(该编码信息是采用高压缩比的编码算法对主播客户端设备采集到的视频数据进行编码后得到的信息)进行解码播放时,存在兼容性问题,无法正常解码播放。



技术实现要素:

有鉴于此,本申请提供一种视频直播方法、直播系统和直播服务器,以解决现有的直播系统存在的观众客户端设备对接收到的编码信息无法正常解码播放的问题。

本申请第一方面提供一种视频直播方法,所述方法应用于直播系统,所述直播系统包括主播客户端设备、直播服务器和所述主播客户端设备对应的观众客户端设备,所述方法包括:

所述直播服务器对获取到的所述主播客户端设备发送的第一编码信息进行解码,得到第一原始视频数据,其中,所述第一编码信息是所述主播客户端设备按照第一编码算法对其采集到的视频数据进行编码后得到的信息;

所述直播服务器按照第二编码算法对所述第一原始视频数据进行编码,得到第二编码信息,其中,所述第一编码算法的压缩比比所述第二编码算法的压缩比高,且所述第二编码算法的兼容向比所述第一编码算法的兼容性好;所述直播服务器将所述第二编码信息发送给所述观众客户端设备。

进一步地,所述直播系统还包括与所述主播客户端设备关联的导播客户端设备,所述方法还包括:

所述导播客户端设备获取所述第一编码信息,并对所述第一编码信息进行解码,得到第二原始视频数据;

所述导播客户端设备获取导播用户对所述第二原始视频数据进行特效处理操作的操作信息;

所述导播客户端设备将所述操作信息发送给所述直播服务器,以使所述直播服务器根据所述操作信息对所述第一原始视频数据进行特效处理。

进一步地,所述直播服务器按照第二编码算法对所述第一原始视频数据进行编码之前,所述方法还包括:

所述直播服务器接收所述导播客户端设备发送的所述操作信息,并按照所述操作信息对所述第一原始视频数据进行特效处理。

进一步地,所述直播服务器按照第二编码算法对所述第一原始视频数据进行编码,得到第二编码信息,具体包括:

所述直播服务器确定所述第一原始视频数据的分辨率,并从分辨率与码率之间的对应关系找到确定出的分辨率对应的码率;

所述直播服务器采用所述第二编码算法、并按照确定出的分辨率和找到的码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

进一步地,所述方法还包括:

所述导播客户端设备接收导播用户输入的分辨率和码率,并将导播用户输入的分辨率和码率发送给所述直播服务器;

相应地,所述直播服务器按照第二编码算法对所述第一原始视频数据进行编码,得到第二编码信息,具体包括:

所述直播服务器接收所述导播客户端设备发送的分辨率和码率,并采用所述第二编码算法、按照所述导播客户端发送的分辨率和码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

进一步地,所述直播系统还包括数据服务器,所述数据服务器中存储有所述主播客户端设备发送的第一编码信息;获取第一编码信息,具体包括:

从数据服务器中获取所述第一编码信息。

本申请第二方面提供一种直播系统,所述直播系统包括主播客户端设备、直播服务器和所述主播客户端设备对应的观众客户端设备,其中,

所述直播服务器,用于对获取到的所述主播客户端设备发送的第一编码信息进行解码,得到第一原始视频数据,其中,所述第一编码信息是所述主播客户端设备按照第一编码算法对其采集到的视频数据进行编码后得到的信息;

所述直播服务器,还用于按照第二编码算法对所述第一原始视频数据进行编码,得到第二编码信息,其中,所述第一编码算法的压缩比比所述第二编码算法的压缩比高,且所述第二编码算法的兼容性比所述第一编码算法的兼容性好;

所述直播服务器,还用于将所述第二编码信息发送给所述观众客户端设备。

进一步地,所述直播系统还包括与所述主播客户端设备关联的导播客户端设备,其中,

所述导播客户端设备,用于获取所述第一编码信息,并对所述第一编码信息进行解码,得到第二原始视频数据;

所述导播客户端设备,还用于获取导播用户对所述第二原始视频数据进行特效处理操作的操作信息;

所述导播客户端设备,还用于将所述操作信息发送给所述直播服务器,以使所述直播服务器根据所述操作信息对所述第一原始视频数据进行特效处理。

进一步地,所述直播服务器,还用于在按照第二编码算法对所述第一原始视频数据进行编码之前,接收所述导播客户端设备发送的所述操作信息,并按照所述操作信息对所述第一原始视频数据进行特效处理。

进一步地,所述直播服务器,具体用于确定所述第一原始视频数据的分辨率,并从分辨率与码率之间的对应关系找到确定出的分辨率对应的码率,以及采用所述第二编码算法、并按照确定出的分辨率和找到的码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

进一步地,所述导播客户端设备,还用于接收导播用户输入的分辨率和码率,并将导播用户输入的分辨率和码率发送给所述直播服务器;

所述直播服务器,还用于接收所述导播客户端设备发送的分辨率和码率,并采用所述第二编码算法、按照所述导播客户端设备发送的分辨率和码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

本申请第三方面提供一种视频直播方法,所述方法应用于直播服务器,所述方法包括:

对获取到的主播客户端设备发送的第一编码信息进行解码,得到第一原始视频数据,其中,所述第一编码信息是所述主播客户端设备按照第一编码算法对其采集到的视频数据进行编码后得到的信息;

按照第二编码算法对所述第一原始视频数据进行编码,得到第二编码信息,其中,所述第一编码算法的压缩比比所述第二编码算法的压缩比高,且所述第二编码算法的兼容性比所述第一编码算法的兼容性好;

将所述第二编码信息发送给所述观众客户端设备。

进一步地,所述按照第二编码算法对所述第一原始视频数据进行编码之前,所述方法还包括:

接收与所述主播客户端设备关联的导播客户端设备发送的操作信息,并按照所述操作信息对所述第一原始视频数据进行特效处理;其中,所述操作信息为所述导播客户端设备获取到的导播用户对第二原始视频数据进行特效处理操作的操作信息,所述第二原始视频数据是所述导播客户端设备对获取到的所述第一编码信息进行解码后得到的视频数据。

进一步地,所述按照第二编码算法对所述第一原始视频数据进行编码,得到第二编码信息,具体包括:

确定所述第一原始视频数据的分辨率,并从分辨率与码率之间的对应关系找到确定出的分辨率对应的码率;

采用所述第二编码算法、并按照确定出的分辨率和找到的码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

进一步地,所述按照第二编码算法对所述第一原始视频数据进行编码,得到第二编码信息,具体包括:

接收所述导播客户端设备发送的分辨率和码率,其中,所述导播客户端设备发送的分辨率和码率是导播用户输入到所述导播客户端设备的;

采用所述第二编码算法、按照所述导播客户端发送的分辨率和码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

进一步地,获取主播客户端设备发送的第一编码信息,具体包括:

从数据服务器中获取所述第一编码信息,其中,所述数据服务器中存储有所述主播客户端设备发送的所述第一编码信息。

本申请第四方面提供一种直播服务器,包括:处理模块和发送模块,其中,

所述处理模块,用于对获取到的主播客户端设备发送的第一编码信息进行解码,得到第一原始视频数据,其中,所述第一编码信息是所述主播客户端设备按照第一编码算法对其采集到的视频数据进行编码后得到的信息;

所述处理模块,还用于按照第二编码算法对所述原始视频数据进行编码,得到第二编码信息,其中,所述第一编码算法的压缩比比所述第二编码算法的压缩比高,且所述第二编码算法的兼容性比所述第一编码算法的兼容性好;

所述发送模块,用于将所述第二编码信息发送给所述观众客户端设备。

进一步地,所述直播服务器还包括:接收模块,其中,

所述接收模块,用于接收与主播客户端设备关联的导播客户端设备发送的操作信息,其中,所述操作信息为所述导播客户端设备获取到的导播用户对第二原始视频数据进行特效处理操作的操作信息,所述第二原始视频数据是所述导播客户端设备对获取到的所述第一编码信息进行解码后得到的视频数据。

所述处理模块,还用于在按照第二编码算法对所述第一原始视频数据进行编码之前,按照所述操作信息对所述第一原始视频数据进行特效处理。

进一步地,所述处理模块,具体用于确定所述第一原始视频数据的分辨率,并从分辨率与码率之间的对应关系找到确定出的分辨率对应的码率,以及采用所述第二编码算法、并按照确定出的分辨率和找到的码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

进一步地,所述接收模块,还用于接收所述导播客户端设备发送的分辨率和码率,其中,所述导播客户端设备发送的分辨率和码率是导播用户输入到所述导播客户端设备的;

所述处理模块,还用于采用所述第二编码算法、按照所述导播客户端发送的分辨率和码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

进一步地,所述直播服务器还包括:获取模块,其中,所述获取模块,用于从数据服务器中获取所述第一编码信息,其中,所述数据服务器中存储有所述主播客户端设备发送的所述第一编码信息。

本申请提供的视频直播方法、直播系统和直播服务器,直播服务器通过对获取到的主播客户端设备发送的第一编码信息进行解码,得到第一原始视频数据,并按照第二编码算法对第一原始视频数据进行编码,得到第二编码信息,进而将第二编码信息发送给主播客户端设备对应的观众客户端设备,其中,第一编码算法的压缩比比第二编码算法的压缩比高,且第二编码算法的兼容性比第一编码算法的兼容性好。这样,观众客户端设备对接收到的第二编码信息进行解码播放时,不存在兼容性问题,可正常解码播放。

附图说明

图1是本申请一示例性实施例提供的直播系统的示意图;

图2为本申请视频直播方法实施例一的流程图;

图3为本申请视频直播方法实施例二的流程图;

图4为本申请另一示例性实施例提供的直播系统的示意图;

图5为本申请视频直播方法实施例三的流程图;

图6为本申请视频直播方法实施例四的流程图;

图7为本申请第三方面提供的视频直播方法实施例一的流程图;

图8为本申请直播服务器实施例一的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本申请提供一种视频直播方法、直播系统和直播服务器,以解决现有的直播系统存在的观众客户端设备对接收到的编码信息无法正常解码播放的问题。

本实施例提供的视频直播方法、直播系统和直播服务器,可以应用于网络直播领域,例如,可应用于户外直播领域。

下面以具体的实施例对本申请的技术方案进行详细说明,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

在介绍本申请提供的视频直播方法之前,下面先简单介绍一下本申请提供的直播系统。图1为本申请一示例性实施例提供的直播系统的示意图。请参照图1,本申请提供的视频直播方法,应用于图1所示的直播系统,该直播系统包括主播客户端设备、直播服务器和主播客户端设备对应的观众客户端设备。

具体的,主播客户端设备内安装有主播客户端。该主播客户端设备可以是具有采集、编码、数据发送功能的设备,例如,可以是手机。进一步地,直播服务器,用于提供网络直播的后台服务。此外,直播服务器中存储有主播客户端与各个频道之间的对应关系,当观众客户端选择频道后,服务器可根据各个频道与主播客户端的对应关系,向属于同一频道内的观众客户端发送直播视频流。进一步地,观众客户端设备安装有观众客户端。需要说明的是,主播客户端设备对应的观众客户端设备是指与主播客户端属于同一频道内的观众客户端所在的设备。

需要说明的是,本申请中,主播客户端设备与观众客户端设备位于不同的网络环境中,其中,主播客户端设备位于弱网环境中,例如,主播客户端设备处于户外环境中(网络不稳定、网速较慢)。

在介绍了本申请一示例性实施例提供的直播系统之后,下面来详细介绍本实施例提供的视频直播方法。

图2为本申请视频直播方法实施例一的流程图。本实施例涉及的是视频直播的具体过程。本实施例的执行主体为图1所示的直播系统。请参照图2,本实施例提供的方法,可以包括如下步骤:

S101、直播服务器对获取到的主播客户端设备发送的第一编码信息进行解码,得到第一原始视频数据,其中,上述第一编码信息是上述主播客户端设备按照第一编码算法对其采集到的视频数据进行编码后得到的信息。

结合上面的介绍,在直播时,主播客户端设备会采集主播用户的视频数据。此外,当主播客户端设备采集到主播用户的视频数据后,会采用第一编码算法,并按照主播用户选定的分辨率和码率对采集到的视频数据进行编码,得到第一编码信息(例如,主播用户选定的分辨率为1080P,码率为1.5Mbit/s,此时,主播客户端设备就采用第一编码算法、按照分辨率为1080P,码率为1.5Mbit/s对其采集到的视频数据进行编码,得到第一编码信息)。当得到第一编码信息后,主播客户端设备会将该第一编码信息发送出去;相应的,直播服务器会获取主播客户端设备发送的第一编码信息。当直播服务获取到主播客户端设备发送的第一编码信息时,本步骤中,直播服务器就对获取到的第一编码信息进行解码,得到第一原始视频数据。

需要说明的是,参见背景技术中的描述,为降低直播对网络的要求,第一编码算法为高压缩比的编码算法。下面以第一编码算法为H265编码算法为例进行说明。

S102、上述直播服务器按照第二编码算法对上述第一原始视频数据进行编码,得到第二编码信息,其中,上述第一编码算法的压缩比比上述第二编码算法的压缩比高,且上述第二编码算法的兼容性比上述第一编码算法的兼容性好。具体的,第二编码算法的兼容性比第一编码算法的兼容性好表征观众客户端设备对第二编码算法的支持性比观众客户端对第一编码算法的支持性高。即当观众客户端设备对采用第二编码算法编码后得到的编码信息进行解码播放时,不存在兼容性问题,可正常的解码播放。可选地,第二编码算法可以是H264编码算法、H263编码算法、H262编码算法、H261编码算法中的任意一种。下面以第二编码算法为H264编码算法为例进行说明。本步骤中,就按照H264编码算法对第一原始视频数据进行编码,得到第二编码信息。需要说明的是,本实施例中,在按照第二编码算法对第一原始视频数据进行编码时,编码时的分辨率和码率可以是默认值。

S103、上述直播服务器将上述第二编码信息发送给上述观众客户端设备。

具体的,当经过步骤S102得到第二编码信息后,本步骤中,直播服务器就将第二编码信息发送给观众客户端设备,相应地,观众客户端设备接收到第二编码信息时,就解码播放。需要说明的是,由于第二编码算法比第一编码算法的兼容性好,因此,观众客户端设备对接收到的第二编码信息进行解码播放时,不存在兼容性问题,可以正常解码播放。

本实施例中,当直播服务器获取到主播客户端设备发送的第一编码信息时,并没有将该第一编码信息直接发送给主播客户端设备对应的观众客户端设备,而是对第一编码信息进行解码,得到第一原始视频数据,并按照第二编码算法对第一原始视频数据进行编码,得到第二编码信息,进而将第二编码信息发送给与主播客户端设备对应的观众客户端设备,其中,第二编码算法的兼容性比第一编码算法的兼容性好。这样,当观众客户端设备对接收到第二编码信息进行解码播放时,不存在兼容性问题,可正常解码播放。

本实施例提供的视频直播方法,直播服务器通过对获取到的主播客户端设备发送的第一编码信息进行解码,得到第一原始视频数据,并按照第二编码算法对第一原始视频数据进行编码,得到第二编码信息,进而将第二编码信息发送给主播客户端设备对应的观众客户端设备,其中,第一编码算法的压缩比比第二编码算法的压缩比高,且第二编码算法的兼容性比第一编码算法的兼容性好。这样,当观众客户端设备对接收到第二编码信息进行解码播放时,不存在兼容性问题,可正常解码播放。

图3为本申请视频直播方法实施例二的流程图。本实施例提供的方法,应用于图1所示的直播系统。本实施例涉及的是直播服务器按照第二编码算法对第一原始视频数据进行编码的具体过程。请参照图3,在上述实施例的基础上,本实施例提供的方法,步骤S102具体包括:

S201、上述直播服务器确定上述第一原始视频数据的分辨率,并从分辨率与码率之间的对应关系找到确定出的分辨率对应的码率。

具体的,可根据第一原始视频数据包含的像素数量来确定第一原始视频数据的分辨率。结合上面的例子,即主播客户端设备按照第一编码算法对其采集到的视频数据进行编码时,分辨率为1080P,因此,此时,确定第一原始视频数据的分辨率为1080P。

需要说明的是,分辨率与码率之间的对应关系是根据实际需要设定的(当采用对应的分辨率和码率进行编码时,可减少失真),本实施例中,不对分辨率与码率之间的对应关系进行限定。例如,在一实施例中,当确定出的分辨率为1080P时,从分辨率与码率之间的对应关系找到该确定出的分辨率(1080P)对应的码率为3Mbit/s。

S202、上述直播服务器采用上述第二编码算法、并按照确定出的分辨率和找到的码率对上述第一原始视频数据进行编码,得到上述第二编码信息。

具体的,当经过步骤S201确定出了第一原始视频数据的分辨率,并从分辨率与码率之间的对应关系找到确定出的分辨率对应的码率,本步骤中,就采用上述第二编码算法、并按照确定出的分辨率和找到的码率对上述第一原始视频数据进行编码,得到上述第二编码信息。结合上面的例子,即采用H264编码算法、按照分辨率为1080P,码率为3Mbit/s对第一原始视频数据进行编码,得到第二编码信息。

本实施例提供的视频直播方法,直播服务器在按照第二编码算法对第一原始视频数据进行编码时,通过确定第一原始视频数据的分辨率,并从分辨率与码率之间的对应关系找到确定出的分辨率对应的码率,进而采用第二编码算法、并按照确定出的分辨率和找到的码率对第一原始视频数据进行编码,得到第二编码信息。这样,可减少失真。

图4为本申请另一示例性实施例提供的直播系统的示意图。请参照图4,在图1所示的直播系统的基础上,本实施例提供的直播系统,还包括:数据服务器和与主播客户端设备关联的导播客户端设备。

其中,数据服务器是一个专门用来存储主播客户端设备发送的第一编码信息的服务器。具体的,在直播的过程中,主播客户端设备将第一编码信息发送给数据服务器,直播服务器从数据服务器中获取第一编码信息。需要说明的是,在具体实现时,当数据服务器接收到主播客户端设备发送的第一编码信息时,会发送广播信息(上述广播信息用于表明其接收到了主播客户端设备发送的第一编码信息),当直播服务器接收到上述广播消息时,就从上述数据服务器中获取第一编码信息。

进一步地,导播客户端设备可以是一个具有较高数据处理能力的设备,例如,可以是安装有导播客户端的计算机。进一步地,导播用户可利用导播客户端设备对视频数据进行特效处理操作。

在介绍了本实施例提供的直播系统之后,下面详细介绍本实施例提供的方法。图5为本申请视频直播方法实施例三的流程图。本实施例涉及的是对第一原始视频数据进行特效处理的具体过程。请参见图5,本实施例提供的方法,可以包括:

S301、导播客户端设备获取上述第一编码信息,并对上述第一编码信息进行解码,得到第二原始视频数据。

具体的,本步骤中,导播客户端设备可以从数据服务器获取第一遍码信息。参见上面的描述,具体的,当数据服务器接收到主播客户端设备发送的第一编码信息时,就发送广播信息,当导播客户端设备接收到上述广播消息时,就从上述数据服务器中获取第一编码信息。

S302、上述导播客户端设备获取导播用户对上述第二原始视频数据进行特效处理操作的操作信息。

需要说明的是,导播客户端存在一个编辑界面,导播用户可基于上述编辑界面对第二原始视频数据进行特效处理操作。具体的,上述特效处理操作可以包括加字幕、加图片、加音频、加动画等特效处理操作。相应的,当特效处理操作为加字幕的特效处理操作时,相应的操作信息包括字幕的文字内容、字体大小、字体颜色、字体类型、添加的位置信息(即将字幕添加到了视频数据的哪个位置);再例如,当特效处理操作为加图片的特效处理操作时,操作信息包括图片的标识信息(即加的是哪张图片)和添加的位置信息;再例如,特效处理操作是加音频的特效处理时,操作信息可以包括音频的标识信息和添加的时间信息(即将音频添加到哪个时间段)。

S302、上述导播客户端设备将上述操作信息发送给上述直播服务器,以使上述直播服务器根据上述操作信息对上述第一原始视频数据进行特效处理。

具体的,当经过步骤S301获取到导播用户对第二原始视频数据进行特效数据操作的操作信息时,本步骤中,就将上述操作信息发送给直播服务器。需要说明的是,直播服务器中存储有与导播客户端设备相应的附件(即直播服务器中存储有与导播客户端设备一样的图片、音频、动画)。这样,当直播服务器接收到操作信息后,可根据操作信息对第一原始视频数据进行相应的特效处理。

S303、上述直播服务器接收上述导播客户端设备发送的上述操作信息,并按照上述操作信息对上述第一原始视频数据进行特效处理。

具体的,例如,特效处理操作为加图片的特效处理操作,操作信息为:图片的标识信息和添加的位置信息(例如,操作信息为:图片1、添加的位置信息为位置a)。本步骤中,当直播服务器接收到操作信息后,就从本地获取图片1,并将图片1添加到第一视频数据中的位置a处。

本实施例提供的方法,导播客户端设备通过获取第一编码信息,并对第一编码信息进行解码,得到第二原始视频数据,进而获取导播用户对第二原始视频数据进行特效处理操作的操作信息,并将操作信息发送给直播服务器。这样,可使直播服务器根据导播用户对第二视频数据进行特效处理操作的操作信息对第一原始视频数据进行同样的特效处理,以进一步丰富第一原始视频数据的内容,提高直播的趣味性。

可选的,当直播系统包括导播客户端设备时,本实施例提供的视频直播方法,还可以包括:

导播客户端设备接收导播用户输入的分辨率和码率,并将导播用户输入的分辨率和码率发送给所述直播服务器;

相应地,所述直播服务器按照第二编码算法对所述第一原始视频数据进行编码,得到第二编码信息,具体包括:

所述直播服务器接收所述导播客户端设备发送的分辨率和码率,并采用所述第二编码算法、按照所述导播客户端发送的分辨率和码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

具体的,开播时,导播用户可以根据实际需要向导播客户端设备输入一个分辨率和码率,进而由导播客户端设备将该分辨率和码率发送给直播服务器,以使直播服务器根据上述分辨率和码率对第一原始视频数据进行编码。开播后,直播的过程中,导播用户可以进入观众客户端,基于观众客户端设备显示的直播画面来确定直播服务器编码时的分辨率和码率,并将确定好的分辨率和码率输入到导播客户端设备中,以通过导播客户端设备将上述分辨率和码率发送给直播服务器,以使直播服务器根据上述分辨率和码率对第一原始视频数据进行编码。这样,可实时调节编码时的分辨率和码率,保证直播的质量(保证能同时兼顾画面质量和流畅度)。例如,在一实施例中,开播后,导播用户进入观众客户端,发现当前的直播画面较卡顿。此时,导播用户就将分辨率设定的小一点,例如,将分辨率设定为720P,设定好分辨率后,在根据分辨率与码率的对应关系确定码率,然后将确定好的分辨率和码率输入到导播客户端设备,由导播客户端设备将该分辨率和码率发送给直播服务器,这样,直播服务器将按照该分辨率和码率对第一原始视频数据进行编码。

本实施例提供的方法,导播客户端设备通过接收导播用户输入的分辨率和码率,并将导播用户输入的分辨率和码率发送给直播服务器,直播服务器进而在接收到导播客户端设备发送的分辨率和码率时,按照导播客户端设备发送的分辨率和码率对第一原始数据进行编码。这样,可基于导播用户输入的分辨率和码率灵活控制直播服务器编码时的分辨率和码率,提高直播的质量。

图6为本申请视频直播方法实施例四的流程图。本实施例涉及的是视频直播方法的整个过程,请参见图6,本实施例提供的方法,可以包括以下步骤:

S401、主播客户端设备按照第一编码算法对其采集到的视频数据进行编码,得到第一编码信息。

S402、主播客户端设备将上述第一编码信息发送给数据服务器。

S403、直播服务器从上述数据服务器中获取上述第一编码信息。

S404、直播服务器对上述第一编码信息进行解码,得到第一原始视频数据。

S405、导播客户端设备从上述数据服务器中获取上述第一编码信息。

S406、导播客户端设备对上述第一编码信息进行解码,得到第二原始视频数据。

S407、导播客户端设备获取导播用户对上述第二原始视频数据进行特效处理操作的操作信息。

S408、导播客户端设备将上述操作信息发送给直播服务器。

S409、直播服务器根据上述操作信息对上述第一原始视频数据进行特效处理。

S410、直播服务器按照第二编码算法对特效处理后的第一原始视频数据进行编码,得到第二编码信息。

S411、直播服务器将上述第二编码信息发送给观众客户端。

具体的,关于以上各个步骤的具体实现过程和实现原理可以参见上面实施例中的介绍,此处不再赘述。

本实施例提供的视频直播方法,直播服务器通过对获取到的第一编码信息进行解码,得到第一原始视频数据,并按照第二编码算法对第一原始视频数据进行编码,得到第二编码信息,其中,第一编码算法的压缩比比第二编码算法的压缩比高,且第二编码算法的兼容性比第一编码算法的兼容性好。这样,当观众客户端设备对接收到的第二编码信息进行解码播放时,不存在兼容性问题,可正常的解码播放。此外,本实施例提供的方法,导播客户端设备通过获取第一编码信息,并对第一编码信息进行解码,得到第二原始视频数据,进而通过获取导播用户对第二原始视频数据进行特效处理操作的操作信息,并将上述操作信息发送给直播服务器,以使直播服务器在对第一原始视频数据进行编码前,先根据上述操作信息对第一原始视频数据进行特效处理,这样,可以丰富第一原始视频数据的内容,提高直播的趣味性。

本申请第二方面提供一种直播系统,该直播系统可通过软件、硬件以及软硬结合的方式实现。图1为本申请一示例性实施例提供的直播系统的示意图。请继续参照图1,本实施例提供的直播系统,包括:主播客户端设备、直播服务器和所述主播客户端设备对应的观众客户端设备,其中,

所述直播服务器,用于对获取到的所述主播客户端设备发送的第一编码信息进行解码,得到第一原始视频数据,其中,所述第一编码信息是所述主播客户端设备按照第一编码算法对其采集到的视频数据进行编码后得到的信息;

所述直播服务器,还用于按照第二编码算法对所述第一原始视频数据进行编码,得到第二编码信息,其中,所述第一编码算法的压缩比比所述第二编码算法的压缩比高,且所述第二编码算法的兼容性比所述第一编码算法的兼容性好;所述直播服务器,还用于将所述第二编码信息发送给所述观众客户端设备。

本实施例提供的直播系统,可以用于执行图2所示方法实施例的技术方案,其实现原理与技术效果类似,此处不再赘述。

进一步地,所述直播服务器,具体用于确定所述第一原始视频数据的分辨率,并从分辨率与码率之间的对应关系找到确定出的分辨率对应的码率,以及采用所述第二编码算法、并按照确定出的分辨率和找到的码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

本实施例提供的直播系统,可以用于执行图3所示方法实施例的技术方案,其实现原理与技术效果类似,此处不再赘述。

进一步地,图4为本申请另一示例性实施例提供的直播系统的示意图。请继续参照图4,本实施例提供的直播系统,还包括:与所述主播客户端设备关联的导播客户端设备,其中,

所述导播客户端设备,用于获取所述第一编码信息,并对所述第一编码信息进行解码,得到第二原始视频数据;

所述导播客户端设备,还用于获取导播用户对所述第二原始视频数据进行特效处理操作的操作信息;

所述导播客户端设备,还用于将所述操作信息发送给所述直播服务器,以使所述直播服务器根据所述操作信息对所述第一原始视频数据进行特效处理。

进一步地,所述直播服务器,还用于在按照第二编码算法对所述第一原始视频数据进行编码之前,接收所述导播客户端设备发送的所述操作信息,并按照所述操作信息对所述第一原始视频数据进行特效处理。

本实施例提供的直播系统,可以用于执行图5所示方法实施例的技术方案,其实现原理与技术效果类似,此处不再赘述。

进一步地,所述导播客户端设备,还用于接收导播用户输入的分辨率和码率,并将导播用户输入的分辨率和码率发送给所述直播服务器;

所述直播服务器,还用于接收所述导播客户端设备发送的分辨率和码率,并采用所述第二编码算法、按照所述导播客户端设备发送的分辨率和码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

本申请第三方面还提供一种视频直播方法。该方法的执行主体为直播服务器。图7为本申请第三方面提供的视频直播方法实施例一的流程图,请参照图7,本实施例提供的视频直播方法,可以包括以下步骤:

S501、对获取到的主播客户端设备发送的第一编码信息进行解码,得到第一原始视频数据,其中,上述第一编码信息是上述主播客户端设备按照第一编码算法对其采集到的视频数据进行编码后得到的信息。

S502、按照第二编码算法对上述第一原始视频数据进行编码,得到第二编码信息,其中,上述第一编码算法的压缩比比上述第二编码算法的压缩比高,且上述第二编码算法的兼容性比上述第一编码算法的兼容性好。

S503、将上述第二编码信息发送给上述观众客户端设备。

具体的,以上各个步骤的具体实现过程和实现原理可以参见前面的介绍,此处不再赘述。

本实施例提供的方法,直播服务器通过对获取到的主播客户端设备发送的第一编码信息进行解码,得到第一原始视频数据,并按照第二编码算法对第一原始视频数据进行编码,得到第二编码信息,进而将第二编码信息发送给主播客户端设备对应的观众客户端设备,其中,第一编码算法的压缩比比第二编码算法的压缩比高,且第二编码算法的兼容性比第一编码算法的兼容性好。这样,观众客户端设备对接收到的第二编码信息进行解码播放时,不存在兼容性问题,可正常解码播放。

进一步地,所述按照第二编码算法对所述第一原始视频数据进行编码之前,所述方法还包括:

接收与所述主播客户端设备关联的导播客户端设备发送的操作信息,并按照所述操作信息对所述第一原始视频数据进行特效处理;其中,所述操作信息为所述导播客户端设备获取到的导播用户对第二原始视频数据进行特效处理操作的操作信息,所述第二原始视频数据是所述导播客户端设备对获取到的所述第一编码信息进行解码后得到的视频数据。

进一步地,所述按照第二编码算法对所述第一原始视频数据进行编码,得到第二编码信息,具体包括:

确定所述第一原始视频数据的分辨率,并从分辨率与码率之间的对应关系找到确定出的分辨率对应的码率;

采用所述第二编码算法、并按照确定出的分辨率和找到的码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

进一步地,所述按照第二编码算法对所述第一原始视频数据进行编码,得到第二编码信息,具体包括:

接收所述导播客户端设备发送的分辨率和码率,其中,所述导播客户端设备发送的分辨率和码率是导播用户输入到所述导播客户端设备的;

采用所述第二编码算法、按照所述导播客户端发送的分辨率和码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

进一步地,获取主播客户端设备发送的第一编码信息,具体包括:

从数据服务器中获取所述第一编码信息,其中,所述数据服务器中存储有所述主播客户端设备发送的所述第一编码信息。

图8为本申请直播服务器实施例一的结构示意图。该直播服务器可通过软件、硬件以及软硬结合的方式实现。请参见图8,本实施例提供的直播服务器,包括:处理模块100和发送模块200,其中,

所述处理模块100,用于对获取到的主播客户端设备发送的第一编码信息进行解码,得到第一原始视频数据,其中,所述第一编码信息是所述主播客户端设备按照第一编码算法对其采集到的视频数据进行编码后得到的信息;

所述处理模块100,还用于按照第二编码算法对所述原始视频数据进行编码,得到第二编码信息,其中,所述第一编码算法的压缩比比所述第二编码算法的压缩比高,且所述第二编码算法的兼容性比所述第一编码算法的兼容性好;

所述发送模块200,用于将所述第二编码信息发送给所述观众客户端设备。

本实施例提供的直播服务器,可以用于执行图6所示方法实施例的技术方案,其实现原理与技术效果类似,此处不再赘述。

进一步地,请继续参照图8,所述直播服务器还包括:接收模块300,其中,

所述接收模块300,用于接收与主播客户端设备关联的导播客户端设备发送的操作信息,其中,所述操作信息为所述导播客户端设备获取到的导播用户对第二原始视频数据进行特效处理操作的操作信息,所述第二原始视频数据是所述导播客户端设备对获取到的所述第一编码信息进行解码后得到的视频数据。

所述处理模块100,还用于在按照第二编码算法对所述第一原始视频数据进行编码之前,按照所述操作信息对所述第一原始视频数据进行特效处理。

进一步地,所述处理模块100,具体用于确定所述第一原始视频数据的分辨率,并从分辨率与码率之间的对应关系找到确定出的分辨率对应的码率,以及采用所述第二编码算法、并按照确定出的分辨率和找到的码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

进一步地,所述接收模块300,还用于接收所述导播客户端设备发送的分辨率和码率,其中,所述导播客户端设备发送的分辨率和码率是导播用户输入到所述导播客户端设备的;

所述处理模块100,还用于采用所述第二编码算法、按照所述导播客户端发送的分辨率和码率对所述第一原始视频数据进行编码,得到所述第二编码信息。

进一步地,所述直播服务器还包括:获取模块400,其中,所述获取模块400,用于从数据服务器中获取所述第一编码信息,其中,所述数据服务器中存储有所述主播客户端设备发送的所述第一编码信息。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

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