一种上传直播视频流的方法及装置与流程

文档序号:12136324阅读:219来源:国知局
一种上传直播视频流的方法及装置与流程
本发明涉及视频直播
技术领域
,特别涉及一种上传直播视频流的方法及装置。
背景技术
:在一些应用情况下,直播终端实时上传的视频流不仅仅由该直播传终端自身产生的,也可能自于其他终端。而且直播服务器对由直播终端实时上传的视频流的视频参数信息是有一定要求的,即上传的视频流需要符合预设的视频上传标准。在直播终端中可预先进行相应的设置,使得自身产生的视频流是符合该预设的视频上传标准。但是来自于其他终端的实时的视频流并不能保证其视频参数信息符合该预设的视频上传标准。还有,用户在直播来自于其他终端的视频流时,也有在该直播终端直接实时观看视频流的需求。如何在直播终端实时接收来自于其他终端的视频流的同时,实时的在直播终端播放该来自于其他终端的视频流,而且还能实时的以符合直播服务器中预设的视频上传标准来上传来自其他中终端的视频流,就成为了业界亟待解决的课题。技术实现要素:本发明提供一种上传直播视频流的方法及装置,用以通过统一的技术方案来处理具有各种视频参数信息的待上传的视频流。根据本发明实施例的第一方面,提供一种上传直播视频流的方法,包括:获取待上传的视频流;分析所述待上传的视频流的视频参数信息,所述视频参数信息包括视频格式和视频参数中的任一者或多者;判断所述待上传的视频流的视频参数信息是否符合预设的视频上传标准;当所述待上传的视频流的视频参数信息符合预设的视频上传标准时,对所述待上传的视频流进行解码和播放解码后的所述待上传的视频流;在解码后,按照所述预设的视频上传标准对所述待上传的视频流进行转码并上传到预设的直播服务器。在一个实施例中,所述分析所述待上传的视频流的视频参数信息,所述视频参数信息包括视频格式和视频参数中的任一者或多者,包括:分析所述待上传的视频流的视频格式,所述视频格式包括流媒体协议、视频封装格式和视频压缩格式中的任一者或多者;分析所述待上传的视频流的视频参数,所述视频参数包括视频分辨率、视频帧率和视频流码率中的任一者或多者。在一个实施例中,所述判断所述待上传的视频流的视频参数信息是否符合预设的视频上传标准,包括:判断所述待上传的视频流的视频格式是否符合所述预设的视频上传标准的视频格式,确认所述判断结果为第一判断结果;判断所述待上传的视频流的视频参数是否符合所述预设的视频上传标准的视频参数,确认所述判断结果为第二判断结果。在一个实施例中,所述当所述待上传的视频流的视频参数信息符合预设的视频上传标准时,对所述待上传的视频流进行解码和播放解码后的所述待上传的视频流,包括:当第一判断结果和第二判断结果不同时为真时,确认所述待上传的视频流的视频参数信息不符合预设的视频上传标准;解析所述待上传的视频流的流媒体协议;解析所述待上传的视频流的封装格式;解压缩所述待上传的视频流的视频码流;对解压缩后的所述待上传的视频流的音频数据和视频数据进行同步后,播放所述待上传的视频流。在一个实施例中,所述在解码后,按照所述预设的视频上传标准对所述待上传的视频流进行转码并上传到预设的直播服务器,包括:在解码后,根据所述预设的视频上传标准的视频格式的压缩格式,分别对所述待上传的视频流的音频数据和视频数据进行压缩;根据所述预设的视频上传标准的视频格式的封装格式,对所述待上传的视频流的音频数据和视频数据进行封装;根据所述预设的视频上传标准的视频格式的流媒体协议格式,对所述待上传的视频流的音频数据和视频数据进行处理;将转码之后的所述待上传的视频流到预设的直播服务器。根据本发明实施例的第二方面,提供一种上传直播视频流的装置,包括:获取模块,用于获取待上传的视频流;分析模块,用于分析所述待上传的视频流的视频参数信息,所述视频参数信息包括视频格式和视频参数中的任一者或多者;判断模块,用于判断所述待上传的视频流的视频参数信息是否符合预设的视频上传标准;解码模块,用于当所述待上传的视频流的视频参数信息符合预设的视频上传标准时,对所述待上传的视频流进行解码和播放解码后的所述待上传的视频流;转码模块,用于在解码后,按照所述预设的视频上传标准对所述待上传的视频流进行转码并上传到预设的直播服务器。在一个实施例中,所述分析模块,包括:第一分析子模块,用于分析所述待上传的视频流的视频格式,所述视频格式包括流媒体协议、视频封装格式和视频压缩格式中的任一者或多者;第二分析子模块,用于分析所述待上传的视频流的视频参数,所述视频参数包括视频分辨率、视频帧率和视频流码率中的任一者或多者。在一个实施例中,所述判断模块,包括:第一判断子模块,用于判断所述待上传的视频流的视频格式是否符合所述预设的视频上传标准的视频格式,确认所述判断结果为第一判断结果;第二判断子模块,用于判断所述待上传的视频流的视频参数是否符合所述预设的视频上传标准的视频参数,确认所述判断结果为第二判断结果。在一个实施例中,所述解码模块,包括:确认子模块,用于当第一判断结果和第二判断结果不同时为真时,确认所述待上传的视频流的视频参数信息不符合预设的视频上传标准;第一解析子模块,用于解析所述待上传的视频流的流媒体协议;第二解析子模块,用于解析所述待上传的视频流的封装格式;解压子模块,用于解压缩所述待上传的视频流的视频码流;同步子模块,用于对解压缩后的所述待上传的视频流的音频数据和视频数据进行同步后,播放所述待上传的视频流。在一个实施例中,所述转码模块,包括:压缩子模块,用于在解码后,根据所述预设的视频上传标准的视频格式的压缩格式,分别对所述待上传的视频流的音频数据和视频数据进行压缩;封装子模块,用于根据所述预设的视频上传标准的视频格式的封装格式,对所述待上传的视频流的音频数据和视频数据进行封装;处理子模块,用于根据所述预设的视频上传标准的视频格式的流媒体协议格式,对所述待上传的视频流的音频数据和视频数据进行处理;上传子模块,用于将转码之后的所述待上传的视频流到预设的直播服务器。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:图1为本发明一示例性实施例示出的一种上传直播视频流的方法的流程图;图2为本发明一示例性实施例示出的一种上传直播视频流的方法的步骤S12的流程图;图3为本发明一示例性实施例示出的一种上传直播视频流的方法的步骤S13的流程图;图4为本发明一示例性实施例示出的一种上传直播视频流的方法的步骤S14的流程图;图5为本发明一示例性实施例示出的一种上传直播视频流的方法的步骤S15流程图;图6为本发明一示例性实施例示出的一种上传直播视频流的装置的框图;图7为本发明一示例性实施例示出的一种上传直播视频流的装置的分析模块62的框图;图8为本发明一示例性实施例示出的一种上传直播视频流的装置的判断模块63的框图;图9为本发明一示例性实施例示出的一种上传直播视频流的装置的解码模块64的框图;图10为本发明一示例性实施例示出的一种上传直播视频流的装置的转码模块65的框图。具体实施方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。图1是根据一示例性实施例示出的一种上传直播视频流的方法流程图,如图1所示,该上传直播视频流的方法,包括以下步骤S11-S15:在步骤S11中,获取待上传的视频流;在步骤S12中,分析所述待上传的视频流的视频参数信息,所述视频参数信息包括视频格式和视频参数中的任一者或多者;在步骤S13中,判断所述待上传的视频流的视频参数信息是否符合预设的视频上传标准;在步骤S14中,当所述待上传的视频流的视频参数信息符合预设的视频上传标准时,对所述待上传的视频流进行解码和播放解码后的所述待上传的视频流;在步骤S15中,在解码后,按照所述预设的视频上传标准对所述待上传的视频流进行转码并上传到预设的直播服务器。在一个实施例中,在一些应用情况下,直播终端实时上传的视频流不仅仅由该直播传终端自身产生的,也可能自于其他终端。而且直播服务器对由直播终端实时上传的视频流的视频参数信息是有一定要求的,即上传的视频流需要符合预设的视频上传标准。在直播终端中可预先进行相应的设置,使得自身产生的视频流是符合该预设的视频上传标准。但是来自于其他终端的实时的视频流并不能保证其视频参数信息符合该预设的视频上传标准。还有,用户在直播来自于其他终端的视频流时,也有在该直播终端直接实时观看视频流的需求。如何在直播终端实时接收来自于其他终端的视频流的同时,实时的在直播终端播放该来自于其他终端的视频流,而且还能实时的以符合直播服务器中预设的视频上传标准来上传来自其他中终端的视频流,本实施例中的技术方案可妥善的解决上述问题。下述的技术方案应用在直播终端待上传的视频流不符合直播服务器预设的视频上传标准的情况。进一步的,通常应用于在多个终端配合直播的情况,或者是直播终端自身产生的待上传的视频流不符合直播服务器预设的视频上传标准的情况。详细步骤如下,首先实时的获取待上传的视频流。分析该待上传的视频流的视频参数信息,该视频参数信息包括视频格式和视频参数中的任一者或多者,该视频格式包括流媒体协议、视频封装格式和视频压缩格式中的任一者或多者,该视频参数包括视频分辨率、视频帧率和视频流码率中的任一者或多者。视频压缩格式包括视频编码格式和音频编码格式。然后判断该待上传的视频流的视频参数信息是否符合预设的视频上传标准。进一步的,判断该待上传的视频流的视频格式是否符合该预设的视频上传标准的视频格式,并确认该判断结果为第一判断结果;判断该待上传的视频流的视频参数是否符合该预设的视频上传标准的视频参数,并确认该判断结果为第二判断结果。当该待上传的视频流的视频参数信息符合预设的视频上传标准时,对该待上传的视频流进行解码和播放解码后的该待上传的视频流。进一步的,当上述的第一判断结果和第二判断结果不同时为真时,确认该待上传的视频流的视频参数信息不符合预设的视频上传标准。在不符合预设的视频上传标准的情况下,首先解析该待上传的视频流的流媒体协议。然后解析该待上传的视频流的封装格式。接着解压缩该待上传的视频流的视频码流。最后对解压缩后的该待上传的视频流的音频数据和视频数据进行同步后,播放该待上传的视频流。在解码后,按照该预设的视频上传标准对该待上传的视频流进行转码并上传到预设的直播服务器。进一步的,在解码后,首先根据该预设的视频上传标准的视频格式的压缩格式,分别对该待上传的视频流的音频数据和视频数据进行压缩。然后根据该预设的视频上传标准的视频格式的封装格式,对该待上传的视频流的音频数据和视频数据进行封装。接着根据该预设的视频上传标准的视频格式的流媒体协议格式,对该待上传的视频流的音频数据和视频数据进行处理。最后将转码之后的该待上传的视频流到预设的直播服务器。例如,某直播终端A接收到某高清摄像机B发送来的待上传的视频流α,通过分析该待上传的视频流α,可以得到该待上传的视频流α的视频参数信息如下,视频格式:流媒体协议为RTMP(RealTimeMessagingProtocol,实时消息传输协议),封装格式为FLV(FlashVideo,流媒体视频),视频压缩格式中的视频编码格式为MPEG2(MovingPictureExpertsGroup,活动图像专家组),视频压缩格式中的音频编码格式为AC-3(DolbySurroundAudioCoding-3,杜比环绕声编码3)。视频参数如下:视频帧率为25帧的PAL(PhaseAlterationLin,逐行倒相),视频码率为3.5M/S,视频分辨率为1080P。直播服务器的预设的视频上传标准β如下,视频格式:流媒体协议为RTMP(RealTimeMessagingProtocol,实时消息传输协议),封装格式为TS(TransportStream,传输流),视频压缩格式中的视频编码格式为H.264,视频压缩格式中的音频编码格式为AAC(AdvancedAudioCoding,高级音频编码)。视频参数如下:视频帧率为25帧的PAL(PhaseAlterationLin,逐行倒相),视频码率不大于1.5M/S,视频分辨率不大于720P。该待上传的视频流α的视频格式不符合该预设的视频上传标准β的视频格式,确认第一判断结果为假。该待上传的视频流α的视频参数不符合该预设的视频上传标准β的视频参数,确认第二判断结果为假。符合第一判断结果和第二判断结果不同时为真的条件,故确认该待上传的视频流α的视频参数信息不符合预设的视频上传标准β。接下来对该待上传的视频流α进行解码,解码的详细过程如下:解析该待上传的视频流α的流媒体协议RTMP,得到其封装格式的内容;解析该待上传的视频流α的封装格式FLV,得到其视频码流,视频码流包括视频和音频两个部分。解压缩该待上传的视频流α的视频编码格式MPEG2和音频编码格式AAC,得到解压缩后的该待上传的视频流α的视频数据和音频数据,对该视频数据和音频数据进行同步之后,在该直播终端即可播放该待上传的视频流α了。然后对该待上传的视频流α按照该预设的视频上传标准β进行转码,在转码完成后上传该转码后的视频流。详细的解码过程如下:对上述的该待上传的视频流α的视频数据和音频数据分别进行压缩,对该视频数据按照视频编码格式H.264进行压缩,对该音频数据按照音频编码格式AAC进行压缩。然后将压缩后的音频数据和视频数据按照封装格式TS进封装,再流媒体协议RTMP进行流媒体化。在上述过程中,同时将该待上传的视频流α的视频码率从3.5M/S降低到1.5M/S,视频分辨率从1080P降低到720P。将经过上述步骤之后的该待上传的视频流α到预设的直播服务器。本实施例中的技术方案可通过统一的技术方案来处理具有各种视频参数信息的待上传的视频流,从而扩展了待上传的视频流的视频参数信息的限制,从而提升了上传视频终端的用户体验。在一个实施例中,如图2所示,步骤S12包括如下步骤S21-S22:在步骤S21中,分析所述待上传的视频流的视频格式,所述视频格式包括流媒体协议、视频封装格式和视频压缩格式中的任一者或多者;在步骤S22中,分析所述待上传的视频流的视频参数,所述视频参数包括视频分辨率、视频帧率和视频流码率中的任一者或多者。在一个实施例中,分析出该待上传的视频流的视频参数信息,该参数信息包括视频格式和视频参数中的任一者或多者,其中视频格式关系到该待上传的视频流的所采用的各种协议,该视频参数关系到该待上传的视频流的参看质量。进一步的,该视频格式包括流媒体协议、视频封装格式和视频压缩格式中的任一者或多者;该视频参数包括视频分辨率、视频帧率和视频流码率中的任一者或多者。在一个实施例中,如图3所示,步骤S13包括如下步骤S31-S32:在步骤S31中,判断所述待上传的视频流的视频格式是否符合所述预设的视频上传标准的视频格式,确认所述判断结果为第一判断结果;在步骤S32中,判断所述待上传的视频流的视频参数是否符合所述预设的视频上传标准的视频参数,确认所述判断结果为第二判断结果。在一个实施例中,判断所述待上传的视频流的流媒体协议、视频封装格式和视频压缩格式中的任一者或多者是否符合所述预设的视频上传标准的流媒体协议、视频封装格式和视频压缩格式中的任一者或多者,并确认该判断结果为第一判断结果。判断所述待上传的视频流的视频分辨率、视频帧率和视频流码率中的任一者或多者是否符合该预设的视频上传标准的视频分辨率、视频帧率和视频流码率中的任一者或多者,并确认该判断结果为第二判断结果。在一个实施例中,如图4所示,步骤S14包括如下步骤S41-S45:在步骤S41中,当第一判断结果和第二判断结果不同时为真时,确认所述待上传的视频流的视频参数信息不符合预设的视频上传标准;在步骤S42中,解析所述待上传的视频流的流媒体协议;在步骤S43中,解析所述待上传的视频流的封装格式;在步骤S44中,解压缩所述待上传的视频流的视频码流;在步骤S45中,对解压缩后的所述待上传的视频流的音频数据和视频数据进行同步后,播放所述待上传的视频流。在一个实施例中,获取上述的第一判断结果和第二判断结果进行逻辑与运算,即只有当第一判断结果和第二判断结果同时为真时,才确认待上传的视频流的视频参数信息符合预设的视频上传标准,除此之外的情况下,确认待上传的视频流的视频参数信息不符合预设的视频上传标准。具体逻辑关系可参考下表表1逻辑运算表:表1逻辑运算表第一判断结果第一判断结果输出结果真真真真假假假真假假假假在上表表1逻辑运算表中,输出结果为假表示待上传的视频流的视频参数信息符合不预设的视频上传标准;输出结果为真表示待上传的视频流的视频参数信息符合预设的视频上传标准。解析该上传的视频流的流媒体协议,解析流媒体协议的过程中会去除掉信令数据而只保留视频流。例如,采用RTMP协议传输的数据,经过解析流媒体协议操作后,输出FLV格式的数据。之后解析该待上传的视频流的封装协议,封装协议的主要作用是把视频码流和音频码流按照一定的格式存储在一个文件中。再根据待上传的视频流的压缩格式来解压缩出视频码流,视频码流包括视频数据和音频数据两个部分。视频数据和音频数据如果没有经过压缩的话,假设一部压缩格式后的电影A的数据量为4G,该电影A的视频数据和音频数据的数据量可能会超过100G。对上述的解压缩后的音频数据和视频数据进行同步后,播放器就可以直接播放该音频数据和视频数据了。在一个实施例中,如图5所示,步骤S15包括如下步骤S51-S54:在步骤S51中,在解码后,根据所述预设的视频上传标准的视频格式的压缩格式,分别对所述待上传的视频流的音频数据和视频数据进行压缩;在步骤S52中,根据所述预设的视频上传标准的视频格式的封装格式,对所述待上传的视频流的音频数据和视频数据进行封装;在步骤S53中,根据所述预设的视频上传标准的视频格式的流媒体协议格式,对所述待上传的视频流的音频数据和视频数据进行处理;在步骤S54中,将转码之后的所述待上传的视频流到预设的直播服务器。在一个实施例中,在经过上述的解码过程过之后,根据预设的视频上传标准的视频格式的压缩格式,分别对所述待上传的视频流的音频数据和视频数据进行压缩。再根据该预设的视频上传标准的视频格式的封装格式,对该待上传的视频流的音频数据和视频数据进行封装。然后根据该预设的视频上传标准的视频格式的流媒体协议格式,对该待上传的视频流的音频数据和视频数据进行处理。流媒体协议在传输视视频流的同时,同时传输一些信令数据。该些信令数据包括对播放的控制和网络状态的描述。在上述转码的过程中,保证按照预设的视频上传标准的视频格式处理之后的视频流的频分辨率、视频帧率和视频流码率符合预设的视频上传标准的视频参数。最后,将转码之后的该待上传的视频流到预设的直播服务器。在一个实施例中,图6是根据一示例性实施例示出的一种上传直播视频流的装置框图。如图6示,该装置包括获取模块61、分析模块62、判断模块63、解码模块64和转码模块65。该获取模块61,用于获取待上传的视频流;该分析模块62,用于分析所述待上传的视频流的视频参数信息,所述视频参数信息包括视频格式和视频参数中的任一者或多者;该判断模块63,用于判断所述待上传的视频流的视频参数信息是否符合预设的视频上传标准;该解码模块64,用于当所述待上传的视频流的视频参数信息符合预设的视频上传标准时,对所述待上传的视频流进行解码和播放解码后的所述待上传的视频流;该转码模块65,用于在解码后,按照所述预设的视频上传标准对所述待上传的视频流进行转码并上传到预设的直播服务器。如图7所示,该分析模块62包括第一分析子模块71和第二分析子模块72。该第一分析子模块71,用于分析所述待上传的视频流的视频格式,所述视频格式包括流媒体协议、视频封装格式和视频压缩格式中的任一者或多者;该第二分析子模块72,用于分析所述待上传的视频流的视频参数,所述视频参数包括视频分辨率、视频帧率和视频流码率中的任一者或多者。如图8所示,该判断模块63包括第一判断子模块81和第二判断子模块82。该第一判断子模块81,用于判断所述待上传的视频流的视频格式是否符合所述预设的视频上传标准的视频格式,确认所述判断结果为第一判断结果;该第二判断子模块82,用于判断所述待上传的视频流的视频参数是否符合所述预设的视频上传标准的视频参数,确认所述判断结果为第二判断结果。如图9所示,该解码模块64包括确认子模块91、第一解析子模块92、第二解析子模块93、解压子模块94和同步子模块95:该确认子模块91,用于当第一判断结果和第二判断结果不同时为真时,确认所述待上传的视频流的视频参数信息不符合预设的视频上传标准;该第一解析子模块92,用于解析所述待上传的视频流的流媒体协议;该第二解析子模块93,用于解析所述待上传的视频流的封装格式;该解压子模块94,用于解压缩所述待上传的视频流的视频码流;该同步子模块95,用于对解压缩后的所述待上传的视频流的音频数据和视频数据进行同步后,播放所述待上传的视频流。如图10所示,该转码模块65包括压缩子模块101、封装子模块102、处理子模块103和上传子模块104。该压缩子模块101,用于在解码后,根据所述预设的视频上传标准的视频格式的压缩格式,分别对所述待上传的视频流的音频数据和视频数据进行压缩;该封装子模块102,用于根据所述预设的视频上传标准的视频格式的封装格式,对所述待上传的视频流的音频数据和视频数据进行封装;该处理子模块103,用于根据所述预设的视频上传标准的视频格式的流媒体协议格式,对所述待上传的视频流的音频数据和视频数据进行处理;该上传子模块104,用于将转码之后的所述待上传的视频流到预设的直播服务器。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1