直播信息的处理方法和装置与流程

文档序号:12176318阅读:343来源:国知局
直播信息的处理方法和装置与流程

本发明涉及信息处理领域,具体而言,涉及一种直播信息的处理方法和装置。



背景技术:

目前移动手机直播行业内,大部分产品均以竖屏的直播方式拍摄,播放端也以竖屏的方式播放,以达到拍摄和播放在图像画面内容的一致性,但是有些用户在直播途中会变更拍摄方向,例如,某一时刻竖屏拍摄的个人画面换到大场合背景时候,竖屏的显示效果很差,在这种情况下,用户可以切换横屏进行拍摄。而现有技术中,直播端和播放端都是在开始直播前已锁定直播方向,例如,从直播开始到结束都是以固定竖屏流的方式进行传输,而终端播放器播放时也是固定竖屏播放,如果用户在直播过程中,通过切换横竖屏的方式锁定更好的拍摄取景范围,比如在按照竖屏进行直播的过程中,突然横着拍摄产品采用横屏的方式拍摄,则拍摄的画面会发生旋转侧翻,由于图像画面发生旋转侧翻,这就要求播放用户跟着拍摄方的旋转方向观看,体验相当差。

具体地,播放端被固定限制竖屏播放,画面就会随屏幕的旋转而跟着旋转,如图1(a)所示,如果在直播开始时是竖屏采集信息A,在直播中也是按照竖屏采集信息A,在显示侧,显示终端也按照竖屏的方向显示信息A,如果按照横屏的方向显示信息A,则显示信息的方向与用户的观看方向是不一致的;如果直播拍摄端在直播过程中从竖屏改成横屏直播,播放器依然认为视频流的方向为最开始的竖屏流,这样播放端竖屏将无法正常观看图像,图像是被旋转的,终端播放只有跟着直播拍摄端同步旋转同一方向才会正确显示,如图1(b)所示,如果在直播开始时是竖屏采集信息A,在直播中按照横屏采集信息A;在显示侧,显示终端按照横屏的方向显示信息A,如果按照竖屏的方向显示信息A,则显示信息的方向与用户的观看方向是不一致的,也即,在显示侧,终端播放信息的方向需与直播端的拍摄方向保持一致,否则播放画面会被旋转。从另一角度描述,直播拍摄端用户突然改变了拍摄方位,例如从竖屏拍摄改成横屏拍摄,此时终端播放观看用户从之前正常的观看方向看到的图像就会发生翻转,播放端用户需要向左旋转90度横屏才能播放正常。

为了解决上述问题,现有技术中有一种解决方案,播放端在播放时对图像有所调整,以使其能适配屏幕的方向,在这种方案中,播放端将待播放画面按照固定方向处理,例如,按照竖屏方向处理,如果播放端竖屏播放,则直接播放画面,如果播放端横屏播放,则将待播放画面旋转后播放。如图1(c)所示,如果直播过程中没有调整切换横竖屏信息,也即从开始直播一直是竖屏采集信息,播放端的用户无论是横屏和竖屏播放依然能正常观看流的正确内容A,只是在横屏播放时候多出现了黑边;如图1(d)所示,如果直播拍摄端切换了横竖屏的采集方向时(从直播开始的竖屏切换为直播中的横屏),直播拍摄端用户在直播过程中从竖屏改成横屏,因为播放器一直认为视频流都是竖屏的画面在播放端解码播放时,无论是横屏播放还是竖屏播放都是被旋转的画面。

由上述内容可知,单一匹配一种直播拍摄方式和终端播放方式,任何一端(直播端或是播放端)调整了屏幕方向,都会带来播放图像的翻转变化,要适应播放正常,播放端用户必须手动切换横竖屏方向,体验较差。

针对上述直播端切换横竖屏幕采集画面,播放端无法相应切换画面的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种直播信息的处理方法和装置,以至少解决直播端切换横竖屏幕采集画面,播放端无法相应切换画面的技术问题。

根据本发明实施例的一个方面,提供了一种直播信息的处理方法,应用于播放端,包括:接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向;检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。

根据本发明实施例的一个方面,提供了一种直播信息的处理方法,应用于直播端,包括:采集当前帧图像;获取当前帧图像的当前采集方向,其中,当前采集方向为直播端在采集当前帧图像时的屏幕方向;基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播放端确定是否对当前帧图像的数据进行旋转处理。

根据本发明实施例的另一方面,还提供了一种直播信息的处理装置,设置在播放端上,包括:接收单元,用于接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向;检测单元,用于检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;旋转单元,用于在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。

根据本发明实施例的另一方面,还提供了一种直播信息的处理装置,设置在直播端上,包括:采集单元,用于采集当前帧图像;方向获取单元,用于获取当前帧图像的当前采集方向,其中,当前采集方向为直播端在采集当前帧图像时的屏幕方向;生成单元,用于基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;发送单元,用于将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播放端确定是否对当前帧图像的数据进行旋转处理。

在本发明实施例中,在接收到第一直播流信息之后,从该第一直播流信息中提取采集当前帧图像时的当前采集方向,检测当前采集方向与预定采集方向是否一致,以检测直播端在直播过程中是否切换了横竖屏幕采集信息,如当前采集方向与预定的采集方向不一致,则确定直播端在直播过程中切换了横竖屏幕,在检测到当前采集方向与预定采集方向不一致的情况下,对第一直播流信息携带的当前帧图像的数据进行旋转处理,以使播放端的当前帧图像的数据流方向与采集该当前帧图像的数据流方向一致,从而无论直播端怎么切换横竖屏幕,播放端都可以检测到切换操作,并对帧图像进行对应的操作,解决了直播端切换横竖屏幕采集画面,播放端无法相应播放切换画面的问题,实现了直播端切换横竖屏幕采集画面,播放端可以及时响应旋转画面。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1(a)、图1(b)、图1(c)和图1(d)是根据现有技术中在直播端切换屏幕的情况下,播放端的播放情况示意图;

图2是根据本发明实施例的直播信息的处理方法的硬件环境示意图;

图3是根据本发明实施例的直播信息的处理方法的流程图;

图4是根据本发明实施例的可选的直播信息的处理方法的流程图;

图5是根据本发明实施例的旋转角度确定的示意图;

图6是根据本发明实施例的直播信息的处理方法的处理结果示意图;

图7是根据本发明实施例的直播信息的处理方法和现有技术中的处理方法的处理结果对比图;

图8是根据本发明实施例的直播信息的处理方法的数据流向图;

图9是根据本发明实施例的一种可选的直播信息的处理装置的示意图;以及

图10是根据本发明实施例的一种终端的结构框图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:

横屏/竖屏:手机设备拍摄方向,一般以返回按键或Home键作为标的,按键在右边的16:9的屏幕宽高比作为横屏方向,以按键在下边的9:16屏幕宽高比例作为竖屏方向。

黑边:视频画面的非实际有效内容区域,一般自动以黑色像素填充该区域,播放器为了解决不同播放区域比例下适配原始视频比例不被拉伸变形显示的一种手段,多见分为左右黑边和上下黑边,当有效视频内容是横屏16:9,但播放区域是竖屏时候,播放器会在上下同时填充黑边,保留中间有效视频内容的横屏输出,当有效视频内容是竖屏9:16,但播放区域是横屏时候,播放器会在左右同时填充黑边,保留中间有效视频内容的竖屏输出。

编码、解码:从多媒体文件的原始非压缩数据(如,视频YUV像素格式,音频PCM格式)经过复杂的编码压缩算法生产带有一定意义字段组合而成的二进制字节流数据,便于存储或传输,解码是逆过程。其中,YUV是一种颜色编码方法,Y表示亮度信号,U和V表示色度信号。

关键帧:视频压缩编码序列组的第一个帧数据,用于播放解码后续的压缩帧,起到参照作用,如果没有关键帧,播放端解码器无法正常解码还原后续图像,会导致解码图像数据异常,展现花屏,另外关键帧也起到拖拉定位视频段某一时间点作用。

码流字段:一种在字节流中具备特定意义的标志位或标志字段,大小长度不限,用来存放特定用途的信息,方便后续解码该字段获取关键信息进行关键逻辑处理,不同字段对应不同的用途。

H264:视频压缩编码的一种格式,压缩效率高,目前视频主流的压缩编码格式,把非压缩图像YUV数据编码压缩成H264nalu数据,便于网络传输。

nalu:H264编码压缩后输出的基本数据单元。

AAC:音频压缩编码的一个格式,目前音频主流的压缩编码格式,把非压缩音频数据PCM压缩成AAC数据,便于网络传输。

FLV:adobe flash封装格式,主流直播流的输出格式,一般把压缩视频(H264)和压缩音频(AAC)按这种封装格式协议合成在一起,默认在网页web flash播放器上播放,也可以在应用程序app端的播放器上解码播放,是目前最通用的直播流输出格式,其组成的基本单元是FLV tag。

根据本发明实施例,提供了一种直播信息的处理方法的方法实施例。

可选地,在本实施例中,上述直播信息的处理方法可以应用于如图2所示的由服务器102、第一终端104和第二终端106所构成的硬件环境中。如图2所示,服务器102通过网络分别与第一终端104和第二终端106进行连接,上述网络包括但不限于:广域网、城域网或局域网,第一终端104和第二终端106并不限定于PC机、手机、平板电脑等。本发明实施例的直播信息的处理方法可以由第一终端104和/或第二终端106来执行,也可以是由服务器102、第一终端104和第二终端106共同执行。其中,第一终端104和第二终端106执行本发明实施例的直播信息的处理方法也可以是由安装在其上的客户端来执行。

具体地,第一终端可以为直播端,第二终端可以为播放端,服务器可以为直播服务器,直播端利用摄像头采集视频画面,将采集的视频画面的信息经过编码和封装得到直播,将该直播发送至直播服务器,直播服务器将该直播的信息发放至共享平台上,播放端可以通过点击该共享平台上的直播链接,发起直播请求,直播服务器接收到直播请求,将对应的直播的流信息发送至播放端,播放端在解封装之后,播放该直播的视频画面。

根据本发明的上述实施例直播信息的处理方法,应用于播放端,该处理方法可以包括如图3所示的如下步骤:

步骤S302:接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向。

步骤S304:检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向。需要说明的是,这里的检测操作在播放端对接收到的第一直播流信息进行解码之后执行。

步骤S306:在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理,这里的旋转操作在执行显示操作之前对当前帧图像的数据进行旋转处理。

在执行步骤S304之后,上述方法还包括步骤S308:在检测出当前采集方向与预定采集方向一致的情况下,则确定直播端在直播过程中并未进行横竖屏切换,则对当前帧图像的数据按照播放端的屏幕进行适配显示处理。

根据本发明的上述实施例,在接收到第一直播流信息之后,从该第一直播流信息中提取采集当前帧图像时的当前采集方向,检测当前采集方向与预定采集方向是否一致,以检测直播端在直播过程中是否切换了横竖屏幕采集信息,如当前采集方向与预定的采集方向不一致,则确定直播端在直播过程中切换了横竖屏幕,在检测到当前采集方向与预定采集方向不一致的情况下,对第一直播流信息携带的当前帧图像的数据进行旋转处理,以使播放端的当前帧图像的数据流方向与采集该当前帧图像的数据流方向一致,从而无论直播端怎么切换横竖屏幕,播放端都可以检测到切换操作,并对帧图像进行对应的操作,解决了直播端切换横竖屏幕采集画面,播放端无法相应播放切换画面的问题,实现了直播端切换横竖屏幕采集画面,播放端可以及时响应旋转画面。

上述实施例可以应用在直播端进行直播的过程中,在直播端直播的过程中,直播服务器将直播端发送的直播流信息转发至播放端,播放端接收到直播过程中的第一直播流信息时,从第一直播流信息中获取直播的当前帧图像的数据和用于表示当前帧数据的当前采集方向的信息,该信息为直播端采集当前帧图像时的屏幕方向。

上述实施例中,步骤S306:在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理,可以对当前帧图像的数据的帧内容和内存表示进行处理。

具体地,若预定采集方向为竖屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为720*1280*x,其中,x为一个像素信息的占位;若预定采集方向为横屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为1280*720*x。例如,预定采集方向为竖屏方向,当前帧图像的当前采集方向不是竖屏方向,则可以将内存表示由720*1280*x修改为当前采集方向对应的内存表示,并对帧内容进行相应的调整,以旋转当前帧图像的数据。

进一步需要说明的是,在步骤S306之后,再基于旋转后的当前帧图像的数据进行渲染,以将当前帧图像正确显示在播放端的屏幕上。

本申请还提供了一种应用在直播端的直播信息的处理方法,该方法如图4所示可以包括如下步骤:

步骤S402:采集当前帧图像;

步骤S404:获取当前帧图像的当前采集方向,其中,当前采集方向为直播端在采集当前帧图像时的屏幕方向;

步骤S406:基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;

步骤S408:将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播放端确定是否对当前帧图像的数据进行旋转处理。

这里需要说明的是,直播端将采集的信息经过视频H264压缩编码、封装后得到的数据发送给服务器。播放端在解码接收到的信息之后、且在显示(或播放)数据之前,播放端确定是否对当前帧图像的数据进行旋转处理。

根据上述实施例,直播在采集当前帧图像之后,将用于表示当前帧图像的当前采集方向的信息和当前帧图像的数据一并封装成第一直播流信息,播放端基于该第一直播流信息中的当前采集方向确定是否对当前帧图像的数据进行旋转处理。通过该实施例,如当前采集方向与预定的采集方向不一致,则确定直播端在直播过程中切换了横竖屏幕,则对第一直播流信息携带的当前帧图像的数据进行旋转处理,以使播放端的当前帧图像的数据流方向与采集该当前帧图像的数据流方向一致,从而无论直播端怎么切换横竖屏幕,播放端都可以检测到切换操作,并对帧图像进行对应的操作,解决了直播端切换横竖屏幕采集画面,播放端无法相应播放切换画面的问题,实现了直播端切换横竖屏幕采集画面,播放端可以及时响应旋转画面。

具体地,基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息可以包括:确定用于表示当前采集方向的屏幕方向标记,其中,用于表示当前采集方向的信息包括屏幕方向标记;将屏幕方向标记和当前帧图像的数据一并封装为第一直播流信息。

可选地,屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。可以利用屏幕方向标记ScreenFlag表示采集当前帧图像时的屏幕方向,如,ScreenFlag=1表示屏幕竖屏且主控制键在下的方向,ScreenFlag=2表示屏幕竖屏且主控制键在上的方向;ScreenFlag=3表示屏幕横屏且主控制键在右的方向;ScreenFlag=4表示屏幕横屏且主控制键在左的方向。

在上述实施例,直播端和播放端均可以为移动终端,在直播端和播放端上安装直播应用,直播端和播放端上安装的2个直播应用对直播产生的视频码流信息进行实时处理,具体地,直播拍摄端(即直播端)上安装的直播应用可以实时准确监控直播端的使用者旋转屏幕的操作,并把旋转屏幕方向的信息(如,竖屏按键在下,竖屏按键在上,横屏按键在右,横屏按键在左)作为当前采集方向的元信息与采集的原始图像的数据一起携带,传输至播放端,在上述实施例中,为了达到最佳的体验,以使直播拍摄端上拍摄方向的切换与播放端上述图像数据的流方向切换达到最大程度上的同步,利用视频码流帧级调整,而不是通过与后台服务器通讯进行信息的传递,因为与后台通讯,实时性会大大降低,体验会非常糟糕,可能直播端切换横竖屏,但由于服务器通信时延,到达播放端可能好几秒钟才会纠正反应过来,体验大大降低,利用本申请的视频码流帧级调整,可以对帧图像的数据进行及时处理,可以在直播端切换了拍摄方向的时候,及时旋转接收到的当前帧图像的数据,以将直播端和播放端的切换同步。

具体地,直播端的横竖屏元信息(即上述的屏幕方向标记)同步到编码图像的时候,同步把该信息记录到编码压缩帧上(H264的字段),经过flv mux后传输到网络后台服务器,经过后台服务器(即上述的直播服务器)中转分发到CDN网络后,播放端用户请求CDN获取直播流时候,解码FLV以及H264视频数据,实时从H264数据字段提取附带的横竖屏元信息,此时播放器根据实时获取的横竖屏元信息,判断目前该帧在解码出原始图像数据后,是否进行旋转处理,若判断出需要图像旋转处理,则进行图像旋转处理,直播应用在播放端的播放方向上实时渲染该处理后的图像数据,播放器自适应屏幕方向会在渲染屏幕输出时自动根据视频码流的宽高信息自动添加黑边,从而当直播用户直播过程中切换直播横竖屏方向,终端用户依然不用选择调整手机屏幕或调整自身身体方位来适配这种直播流的画面视觉变化。

上述实施例中的直播端和播放端上安装的直播应用可以为播放器。

根据本发明的上述实施例,播放端接收到第一直播流信息之后,判断当前帧在解码出原始图像数据后,是否进行旋转处理,具体地,检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。

在检测出当前采集方向与预定采集方向一致的情况下,则确定无需旋转图像,则对该当前帧图像的数据按照播放端的屏幕进行适配显示处理,如,对解析出的当前帧图像进行缩放和/或使用填充像素填充,并将适配处理后的图像在播放端的屏幕上播放。

上述实施例中,预定采集方向可以为直播端采集第一帧图像时屏幕的方向,这里的第一帧可以为起始帧,这里的起始帧可以为直播端在开始直播时采集的第一帧图像,起始帧还可以为播放端接收到的直播端发送的第一帧图像,本申请对此不做限定。

具体地,可以在检测当前采集方向与预定采集方向是否一致之前,获取第二直播流信息,其中,第二直播流信息为在直播开始时接收到的流信息;从第二直播流信息中,获取直播端采集起始帧图像时的起始采集方向;将起始采集方向固定为预定采集方向。

该实施例中的直播开始时可以为直播端开始直播的时刻,还可以为播放端开始接收直播端发送的直播流信息的时刻。

在一个可选的实施例中,在检测当前采集方向与预定采集方向是否一致之前,方法还可以包括:获取预先设置的方向信息,其中,方向信息用于指示预定采集方向。

可选地,用户可以通过输入项输入方向信息,如在直播端开始直播前,输入用于设置预定采集方向的方向信息。进一步地,直播端可以将方向信息一并发送至直播服务器,直播服务器将方向信息发送至对应的播放端。

根据本发明的上述实施例,直播端根据预先采集方向对应的内存表示记录采集的信息,例如,若预定采集方向为竖屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为720*1280*x,其中,x为一个像素信息的占位;若预定采集方向为横屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为1280*720*x。

需要说明的是,在直播端采集到信息之后且在编码之前信息的内存表示可以为上述的720*1280*x,在编码、封装之后的数据则不再按照这个数据形式存在,进一步地,在播放端接收到信息并对其进行解码之后,信息可以按照该数据形式存放。

通过上述实施例,直播端采用固定的内存表示传输直播流信息,播放端接收到直播流信息之后,检测直播流信息中的当前帧图像的数据与预定采集方向是否一致,若不一致,则表明该直播端采集当前帧图像的采集方向与传输信息的内存表示不一致,也即,如果基于该内存表示记录的信息输出图像,输出的图像是翻转的,播放端将内存表示和帧内容旋转过来,则基于旋转后的当前帧图像的数据输出的图像,是可以正常显示的图像。

具体地,用于表示当前采集方向的信息包括:直播端的屏幕方向的标记,屏幕方向的标记可以使用1个字节,利用1个字节的屏幕方向的标记表示当前采集方向,可以节省空间,并且在信息传输的过程中,可以节省流量。

可选地,屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。

根据上述实施例,在检测当前采集方向与预定采集方向是否一致之前,方法还可以包括:检测第一直播流信息中的屏幕方向的标记;确定与屏幕方向的标记对应的当前采集方向。

可以预先保存不同标记和不同屏幕方向的对应关系,例如,屏幕方向的标记ScreenFlag=1表示屏幕竖屏且主控制键在下的方向,ScreenFlag=2表示屏幕竖屏且主控制键在上的方向;ScreenFlag=3表示屏幕横屏且主控制键在右的方向;ScreenFlag=4表示屏幕横屏且主控制键在左的方向。

在上述实施例中,从数据库中读取与屏幕方向的标记对应的采集方向。例如,检测到的ScreenFlag=3,则确定的当前采集方向为屏幕横屏且主控制键在右的方向。

例如,若预定采集方向为屏幕竖屏且主控制键在下的方向,确定的当前采集方向为屏幕横屏且主控制键在右的方向,则确定当前采集方向和预定采集方向不一致,则需要对当前帧图像的数据进行旋转处理。

在一个可选的实施例中,可以在检测到屏幕方向的标记之后,获取预定采集方向的标记,比较两个标记是否相同,如果不相同,则确定当前采集方向与预定采集方向不一致;如果相同,则确定当前采集方向与预定采集方向一致。

根据上述实施例,对当前帧图像的数据进行旋转处理包括:基于当前采集方向和预定采集方向确定当前帧图像的数据的旋转角度;按照旋转角度对当前帧图像的数据执行旋转处理。

在一个可选的实施例中,可以预先设置基准方向、基准点(如终端的重点A)和旋转判定点B,将基准点设置为不动点,在终端处于第一个方向(如当前采集方向)时,将按照基准方向旋转,将终端从第一个方向旋转至第二个方向,在该旋转过程中,旋转判定点的初始位置为B点,结束位置为C点,角BAC的角度即为旋转角度。

如图5所示,将屏幕竖屏且主控制键在上的方向记作方向一;将屏幕横屏且主控制键在右的方向记作方向二,利用上述的判定方法,角BAC的角度为90°,其中,方向一与方向二之间的旋转角度为90°。可选地,可以将解码得到的信息按照旋转角度旋转,得到旋转后的图像的数据。

根据本发明的上述实施例,在对当前帧图像的数据进行旋转处理之后,方法还可以包括:根据旋转后的当前帧图像的宽高信息和播放端的屏幕信息,调整当前帧图像的显示比例和/或在播放端的屏幕上添加填充像素,以使当前帧图像适配播放端的屏幕。在该实施例中,在执行完上述的播放方向一致的判断并执行相应操作之后,无论播放端的屏幕是横屏或者竖屏,均无需对图像进行旋转处理,直接对其进行比例缩放和/或填充像素,即可实现正确播放画面的效果。

具体地,上述的屏幕信息包括横竖屏信息和屏幕的宽高信息,播放端基于播放端的横竖屏信息确定渲染时是否直接渲染,如果,预定采集方向为横屏且主控制键向右的方向,而播放端的屏幕当前处于横屏且主控制键向左的方向,则需要对图像进行旋转、缩放和填充像素之后,再播放处理后的当前帧图像;如果,预定采集方向为横屏且主控制键向右的方向,而播放端的屏幕当前也处于横屏且主控制键向右的方向,则利用播放端的宽高信息检测是否对图像进行缩放操作,如果需要执行缩放操作,则在缩放之后再播放该当前帧图像;如果不需要缩放操作,则直接播放。

进一步需要说明的是,方法还可以包括:若当前帧图像的上一帧图像的上一采集方向与当前帧图像的当前采集方向不同,则在对当前帧图像的数据进行旋转处理之后,采用平滑过渡的显示方式显示当前帧图像。

通过上述实施例,可以解决两个手机移动终端(直播拍摄端以及播放观看端)互相切换横竖屏的情况下播放体验一致的问题,因为涉及到图像画面选择,对于播放器来说观看会突然从横屏画面瞬间切换到竖屏画面或者从竖屏画面瞬间切换到横屏画面(因为实时性是帧级控制),为了进一步地提高用户体验,可以从播放端着手,在遇到切换边界的图像序列的过程中做平滑过渡的显示处理,以达到更好的切换过渡体验。

上述实施例中,无论直播拍摄用户在直播中如何切换横竖屏方向,在播放端的用户在任何横竖屏方式下都能最大限度达到一致的播放正确图像的体验,当然满足和直播拍摄者同一方向下将会是满屏的最佳体验。

上述的填充像素可以为黑色像素,根据上述实施例,通过比例调整,播放器会在左右自动加黑边保持原始视频比例。

如图6和图7所示,采用上述实施例,无论直播端还是播放端怎么调整切换横竖屏幕,都是一致的图像画面,一致的体验。如图6所示,直播端竖屏拍摄,可以确定预定采集方向为竖屏方向,在直播的整个过程中一致是竖屏播放,播放端检测到的当前帧图像的当前采集方向与预定采集方向一直是一致的,这样,播放端直接对接收到的直播流信息适配播放端的屏幕进行播放即可,如横屏播放时,可以将图像缩放并填充像素,如竖屏播放时直接播放或者缩放播放;若在直播过程由竖屏切换成横屏,则播放端检测到的当前帧图像的当前采集方向与预定采集方向发生变化之后,播放端对接收到的当前帧图像的数据进行旋转,在旋转当前帧图像的数据之后,直接对旋转后的当前帧图像的数据进行播放即可,如横屏播放时,可以将图像缩放并填充像素(如图6中示出的黑边),如竖屏播放时直接播放或者缩放播放。

如图7所示,直播端屏幕横竖屏切换变化为横屏变为竖屏,图7中示出了:采用现有技术中播放端非自适应屏幕适配下竖屏播放的变化、现有技术中播放端自适应屏幕适配下竖屏播放的变化、现有技术中播放端自适应屏幕适配下横屏播放的变化、采用本申请上述实施例方案时竖屏播放的变化以及采用本申请上述实施例方案时横屏播放的变化,如图7所示,只有本申请的方案,无论直播端还是播放端怎么调整切换横竖屏幕,都是一致的图像画面,一致的体验。

通过上述实施例,直播端随时切换调整屏幕拍摄方向,播放端用户都不需要调整屏幕就可以自动识别正确的图像画面,并且,当直播用户直播过程中切换直播横竖屏方向,终端用户依然不用选择调整手机屏幕或调整自身身体方位来适配这种直播流的画面视觉变化。

下面结合图8以竖屏直播作为开始采集直播的方向为例,横屏方向原理类似不再描述,在该实施例中直播端和播放端均为手机。

图8中示出的:

VirticalWidth:表示竖屏直播方向手机采集画面宽度(在该实施例中,VirticalWidth<VirticalHeight);

VirticalHeight:表示竖屏直播方向手机采集画面高度(在该实施例中,VirticalWidth<VirticalHeight);

YUV Buffer:采集图像数据字节内存缓存,以420P像素格式表示大小是VirticalWidth*VirticalHeight*x,在该示例中,x为1.5,即,一个像素的信息占据1.5个比特位。在本申请实施例中的像素信息为YUV信息。

ScreenFlag:直播端屏幕方向标记,作为附带信息与帧数据信息对齐,在解码播放环节根据该标志与VirticalWidth,VirticalHeight的比例以及当前播放器屏幕的横竖屏信息进行相应图像处理,当ScreenFlag代表的屏幕方向与直播流所在的方向不一致的时候,如竖屏按键向下直播(ScreenFlag为1),但直播中横屏了(ScreenFlag为3),会进入图像旋转处理流程。

YUV’Buffer:大小与YUV Buffer相同,但是存储图像像素的内容不一样,YUV’Buffer存储经过旋转处理后的图像数据,如果YUV Buffer存储的图像宽和高假设分别为VerticalWidth,VertivalHeight(竖屏宽高),那么经过旋转处理后YUV'Buffer存储的图像宽和高为VerticalHeight,VerticalWidth(横屏宽高)。

如图8所示,该示例从两个维度方向以及两个目标终端深入解析。

维度一:图8中从左到右以视频帧数据流当前时间的走向过程,包括了直播端从采集,编码,传输到另一用户接收端解码播放显示;

维度二:图8中从上到下以时间变化的走向过程,从A时间点到B时间点,竖屏直播拍摄方式变成横屏拍摄方式。

目标终端1:直播拍摄端,代表用户通过手机摄像头采集,编码,上传到后台服务器;目标终端2:播放观看端,代表用户接收直播流播放器解码,后图像处理,渲染。

A时刻用户竖屏直播:

采集模块采集摄像头内存数据为YUV Buffer,图像像素宽为VerticalWidth,高为VerticalHeight(VerticalWidth<VerticalHeight),内存数据表示的图像为竖屏正立的‘A’字母,因为A时间段是竖屏拍摄,因此ScreenFlag=1,ScreenFlag数据和YUV图像数据(该时间段内每一帧都进行同样处理)打包往编码模块传输。

编码模块中核心编码接收图像YUV数据,经过手机芯片H264硬件编码输出264nalu数据,出来的nalu数据与ScreenFlag数据打包往MuxFlv模块传输,因为ScreenFlag只有4个可能值,所以码流只需最多使用1个字节,为了进一步节省空间,可以使用2bit数据位来表示4种情况,如,00,01,10,11分别表示一个方向,这在nalu码流上都可以充分利用其字段保留数据位(该时间段内每一帧都进行同样处理)。

MuxFlv封装模块中视频h264nalu数据以及ScreenFlag数据写入Flv Tag数据包,在flv每一帧视频帧上保留(该时间段内每一帧都进行同样处理)。

播放端DemuxFlv解封装模块:MuxFlv封装模块的逆过程,把FLV视频Tag数据包解开,解析出ScreenFlag字段值(该时间段内每一帧都进行同样处理)。

解码模块解码视频Tag包里面的H264nalu数据,转为YUV非压缩图像数据YUV Buffer,图像像素宽为VerticalWidth,高为VerticalHeight(VerticalWidth<VerticalHeight),内存数据表示的图像为正立的‘A’字母,该数据与ScreenFlag字段一起传输到显示渲染模块(该时间段内每一帧都进行同样处理)。

渲染模块根据当前用户播放端是竖屏还是横屏播放,播放器自适应切换,并把YUV Buffer缓冲器根据屏幕方式做匹配显示(例如,竖屏播放直接渲染,横屏播放做相应缩放和加左右黑边填充)。

B时刻用户横屏直播:

采集模块采集摄像头内存数据依然是YUV Buffer,图像像素宽为VerticalWidth,高为VerticalHeight(VerticalWidth<VerticalHeight),内存数据表示的图像依然是竖屏方式展现,但图像内容已经变成右旋转90度后的‘A’字母,因为此时间段是横屏拍摄,因此ScreenFlag=3,ScreenFlag数据以及图像YUV数据打包往编码模块传输。

编码模块:与A时刻编码模块处理逻辑相同。

MuxFlv封装模块:与A时刻MuxFlv封装模块处理逻辑相同。

播放端DemuxFlv解封装模块:与A时刻DemuxFlv解封装模块处理逻辑相同。

解码模块:解码视频Tag包里面的H264nalu数据,转为YUV非压缩图像数据YUV Buffer,图像像素宽为VerticalWidth,高为VerticalHeight(VerticalWidth<VerticalHeight),内存数据表示的为横屏拍摄后得到的右旋转90度的‘A’字母,该数据与ScreenFlag字段一起传输到旋转模块。

旋转模块:B时刻解码解释检测到ScreenFlag标志为3,为横屏拍摄,与采集图像内存宽高比例方向不一致(采集图像为竖屏按钮在下的图像展现,VerticalWidht<VerticalHeight),因此需要进入旋转处理逻辑,旋转处理逻辑把YUV Buffer竖屏的图像内存向左旋转90度,与直播拍摄端保持一致,此时得出YUV'Buffer,图像像素宽值变成VerticalHeight,图像像素高值变成VerticalWidth(VerticalHeight>VerticalWidth)。

渲染模块根据当前用户播放端是竖屏还是横屏播放,播放器自适应切换,并把旋转后得到的YUV'Buffer根据屏幕方式做匹配显示(例如,竖屏播放需要做相应缩放加上下黑边填充,横屏播放直接输出渲染)。

在上述实施例中,无论直播端如何旋转屏幕切换拍摄方向和方式,对于用户播放端都是透明的,播放终端用户无需自己切换屏幕,或者从任何角度切换播放方式都可以观看正常的图像画面,大大优化了播放终端的播放体验和简化了用户播放端的播放交互,同时对直播拍摄端用户无需限制要求固定一种拍摄方向,直播拍摄者可自由选择任何时间点用任何他所喜欢的拍摄角度和拍摄方向进行直播。

通过上述实施例,可以从根本上解决两个手机移动终端(直播拍摄端以及播放观看端)互相切换横竖屏的情况下播放体验一致的问题。进一步地,为了避免播放器侧观看会突然从横屏画面瞬间切换到竖屏画面或者从竖屏画面瞬间切换到横屏画面(因为实时性是帧级控制),而带来的生硬的感觉,可以从播放渲染端着手,在遇到切换边界的图像序列过程中做平滑过渡的显示处理,以达到更好的切换过渡体验。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

根据本发明实施例,还提供了一种用于实施上述直播信息的处理方法的处理装置。图9是根据本发明实施例的一种可选的直播信息的处理装置的示意图,如图9所示,该装置设置在播放端上,该装置可以包括:

接收单元91,用于接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向;

检测单元93,用于检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;

旋转单元95,用于在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。

根据本发明的上述实施例,在接收到第一直播流信息之后,从该第一直播流信息中提取采集当前帧图像时的当前采集方向,检测当前采集方向与预定采集方向是否一致,以检测直播端在直播过程中是否切换了横竖屏幕采集信息,如当前采集方向与预定的采集方向不一致,则确定直播端在直播过程中切换了横竖屏幕,在检测到当前采集方向与预定采集方向不一致的情况下,对第一直播流信息携带的当前帧图像的数据进行旋转处理,以使播放端的当前帧图像的数据流方向与采集该当前帧图像的数据流方向一致,从而无论直播端怎么切换横竖屏幕,播放端都可以检测到切换操作,并对帧图像进行对应的操作,解决了直播端切换横竖屏幕采集画面,播放端无法相应播放切换画面的问题,实现了直播端切换横竖屏幕采集画面,播放端可以及时响应旋转画面。

上述实施例可以应用在直播端进行直播的过程中,在直播端直播的过程中,直播服务器将直播端发送的直播流信息转发至播放端,播放端接收到直播过程中的第一直播流信息时,从第一直播流信息中获取直播的当前帧图像的数据和用于表示当前帧数据的当前采集方向的信息,该信息为直播端采集当前帧图像时的屏幕方向。

上述实施例中,在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理,可以对当前帧图像的数据的帧内容和内存表示进行处理。

具体地,若预定采集方向为竖屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为720*1280*x,其中,x为一个像素信息的占位;若预定采集方向为横屏方向,则直播端采集的直播流信息中包含的帧图像的内存表示可以为1280*720*x。例如,预定采集方向为竖屏方向,当前帧图像的当前采集方向不是竖屏方向,则可以将内存表示由720*1280*x修改为当前采集方向对应的内存表示,并对帧内容进行相应的调整,以旋转当前帧图像的数据。

进一步需要说明的是,在旋转当前帧图像的数据之后,再基于旋转后的当前帧图像的数据进行渲染,以将当前帧图像正确显示在播放端的屏幕上。

进一步地,装置还可以包括:第一获取单元,用于在检测当前采集方向与预定采集方向是否一致之前,获取第二直播流信息,其中,第二直播流信息为在直播开始时接收到的流信息;第二获取单元,用于从第二直播流信息中,获取直播端采集起始帧图像时的起始采集方向;第一确定单元,用于将起始采集方向固定为预定采集方向。

根据本发明的上述实施例,装置还可以包括:第三获取单元,用于在检测当前采集方向与预定采集方向是否一致之前,获取预先设置的方向信息,其中,方向信息用于指示预定采集方向。

在上述实施例中,用于表示当前采集方向的信息包括:直播端的屏幕方向的标记,检测单元还用于在检测当前采集方向与预定采集方向是否一致之前,检测第一直播流信息中的屏幕方向的标记;装置还包括:第二确定单元,用于确定与屏幕方向的标记对应的当前采集方向。

其中,屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。

在上述实施例中,旋转单元具体用于:基于当前采集方向和预定采集方向确定当前帧图像的数据的旋转角度;按照旋转角度对当前帧图像的数据执行旋转处理。

在一个可选的实施例中,装置还可以包括:适配单元,用于在对当前帧图像的数据进行旋转处理之后,根据旋转后的当前帧图像的宽高信息和播放端的屏幕信息,调整当前帧图像的显示比例和/或在播放端的屏幕上添加填充像素,以使当前帧图像适配播放端的屏幕。

需要说明的是,装置还可以包括:显示单元,用于若当前帧图像的上一帧图像的上一采集方向与当前帧图像的当前采集方向不同,则在对当前帧图像的数据进行旋转处理之后,采用平滑过渡的显示方式显示当前帧图像。

根据本发明实施例,还提供了一种用于实施上述直播信息的处理方法的处理装置,该装置设置在直播端上,该装置可以包括:

采集单元,用于采集当前帧图像;

方向获取单元,用于获取当前帧图像的当前采集方向,其中,当前采集方向为直播端在采集当前帧图像时的屏幕方向;

生成单元,用于基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;

发送单元,用于将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播放端确定是否对当前帧图像的数据进行旋转处理。

根据上述实施例,直播在采集当前帧图像之后,将用于表示当前帧图像的当前采集方向的信息和当前帧图像的数据一并封装成第一直播流信息,播放端基于该第一直播流信息中的当前采集方向确定是否对当前帧图像的数据进行旋转处理。通过该实施例,如当前采集方向与预定的采集方向不一致,则确定直播端在直播过程中切换了横竖屏幕,则对第一直播流信息携带的当前帧图像的数据进行旋转处理,以使播放端的当前帧图像的数据流方向与采集该当前帧图像的数据流方向一致,从而无论直播端怎么切换横竖屏幕,播放端都可以检测到切换操作,并对帧图像进行对应的操作,解决了直播端切换横竖屏幕采集画面,播放端无法相应播放切换画面的问题,实现了直播端切换横竖屏幕采集画面,播放端可以及时响应旋转画面。

具体地,基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息可以包括:确定用于表示当前采集方向的屏幕方向标记,其中,用于表示当前采集方向的信息包括屏幕方向标记;将屏幕方向标记和当前帧图像的数据一并封装为第一直播流信息。

可选地,屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在上的方向、以及屏幕横屏且主控制键在下的方向。可以利用屏幕方向标记ScreenFlag表示采集当前帧图像时的屏幕方向,如,ScreenFlag=1表示屏幕竖屏且主控制键在下的方向,ScreenFlag=2表示屏幕竖屏且主控制键在上的方向;ScreenFlag=3表示屏幕横屏且主控制键在右的方向;ScreenFlag=4表示屏幕横屏且主控制键在左的方向。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图2所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

根据本发明实施例,还提供了一种用于实施上述直播信息的处理方法的服务器或终端。

图10是根据本发明实施例的一种终端的结构框图,如图10所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205(如上述实施例中的发送装置),如图10所示,该终端还可以包括输入输出设备207。

其中,存储器203可用于存储软件程序以及模块,如本发明实施例中的直播信息的处理方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的直播信息的处理方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器203用于存储应用程序。

处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向;检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。

处理器201还用于执行下述步骤:在检测当前采集方向与预定采集方向是否一致之前,获取第二直播流信息,其中,第二直播流信息为在直播开始时接收到的流信息;从第二直播流信息中,获取直播端采集起始帧图像时的起始采集方向;将起始采集方向固定为预定采集方向。

处理器201还用于执行下述步骤:在检测当前采集方向与预定采集方向是否一致之前,获取预先设置的方向信息,其中,方向信息用于指示预定采集方向。

处理器201还用于执行下述步骤:直播端的屏幕方向的标记,在检测当前采集方向与预定采集方向是否一致之前,检测第一直播流信息中的屏幕方向的标记;确定与屏幕方向的标记对应的当前采集方向。

处理器201还用于执行下述步骤:屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。

处理器201还用于执行下述步骤:基于当前采集方向和预定采集方向确定当前帧图像的数据的旋转角度;按照旋转角度对当前帧图像的数据执行旋转处理。

处理器201还用于执行下述步骤:在对当前帧图像的数据进行旋转处理之后,根据旋转后的当前帧图像的宽高信息和播放端的屏幕信息,调整当前帧图像的显示比例和/或在播放端的屏幕上添加填充像素,以使当前帧图像适配播放端的屏幕。

处理器201还用于执行下述步骤:若当前帧图像的上一帧图像的上一采集方向与当前帧图像的当前采集方向不同,则在对当前帧图像的数据进行旋转处理之后,采用平滑过渡的显示方式显示当前帧图像。

处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:采集当前帧图像;获取当前帧图像的当前采集方向,其中,当前采集方向为直播端在采集当前帧图像时的屏幕方向;基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播放端确定是否对当前帧图像的数据进行旋转处理。

处理器201还用于执行下述步骤:确定用于表示当前采集方向的屏幕方向标记,其中,用于表示当前采集方向的信息包括屏幕方向标记;将屏幕方向标记和当前帧图像的数据一并封装为第一直播流信息。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图10所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,终端还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行直播信息的处理方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

接收第一直播流信息,其中,第一直播流信息包括在直播过程中采集的当前帧图像的数据和用于表示当前采集方向的信息,当前采集方向为直播端采集当前帧图像时的屏幕方向;检测当前采集方向与预定采集方向是否一致,其中,预定采集方向为预先确定的直播端采集图像时的屏幕方向;在检测出当前采集方向与预定采集方向不一致的情况下,对当前帧图像的数据进行旋转处理。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在检测当前采集方向与预定采集方向是否一致之前,获取第二直播流信息,其中,第二直播流信息为在直播开始时接收到的流信息;从第二直播流信息中,获取直播端采集起始帧图像时的起始采集方向;将起始采集方向固定为预定采集方向。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在检测当前采集方向与预定采集方向是否一致之前,获取预先设置的方向信息,其中,方向信息用于指示预定采集方向。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:直播端的屏幕方向的标记,在检测当前采集方向与预定采集方向是否一致之前,检测第一直播流信息中的屏幕方向的标记;确定与屏幕方向的标记对应的当前采集方向。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:屏幕方向包括下述至少之一:屏幕竖屏且主控制键在下的方向、屏幕竖屏且主控制键在上的方向、屏幕横屏且主控制键在右的方向、以及屏幕横屏且主控制键在左的方向。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:基于当前采集方向和预定采集方向确定当前帧图像的数据的旋转角度;按照旋转角度对当前帧图像的数据执行旋转处理。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在对当前帧图像的数据进行旋转处理之后,根据旋转后的当前帧图像的宽高信息和播放端的屏幕信息,调整当前帧图像的显示比例和/或在播放端的屏幕上添加填充像素,以使当前帧图像适配播放端的屏幕。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:若当前帧图像的上一帧图像的上一采集方向与当前帧图像的当前采集方向不同,则在对当前帧图像的数据进行旋转处理之后,采用平滑过渡的显示方式显示当前帧图像。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:采集当前帧图像;获取当前帧图像的当前采集方向,其中,当前采集方向为直播端在采集当前帧图像时的屏幕方向;基于当前帧图像的数据和用于表示当前采集方向的信息,生成第一直播流信息;将第一直播流信息发送至播放端,其中,当前采集方向的信息用于播放端确定是否对当前帧图像的数据进行旋转处理。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:确定用于表示当前采集方向的屏幕方向标记,其中,用于表示当前采集方向的信息包括屏幕方向标记;将屏幕方向标记和当前帧图像的数据一并封装为第一直播流信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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