弹幕处理方法、装置、电子设备及计算机可读存储介质
相关申请的交叉引用
本申请基于申请号为202010085287.8、申请日为2020年02月10日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请涉及互联网技术,尤其涉及一种弹幕处理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着互联网技术和多媒体技术的发展,一种新的内容显示方式,即弹幕内容显示逐渐兴起,广泛应用于视频播放及直播互动等场景。对于弹幕内容,通常是将其显示在多媒体播放界面,使得用户在观看多媒体信息时,能够同时观看到弹幕内容。举例来说,在多媒体信息为视频、弹幕内容为用户评论的情况下,可以在视频播放界面,根据多个弹幕内容的发送时间的先后顺序,以依次滚动的形式来显示多个弹幕内容。
发明内容
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种弹幕处理方法,由电子设备执行,包括:
响应于在播放多媒体信息的过程中接收到的弹幕编辑操作,呈现弹幕编辑界面;
通过所述弹幕编辑界面接收待发送的弹幕内容,并通过所述弹幕编辑界面接收针对所述弹幕内容设置的弹幕样式,其中,所述弹幕样式的属性包括所述弹幕内容的形状;
发送所述弹幕内容和所述弹幕样式,以
在多媒体播放界面中呈现符合所述弹幕样式的所述弹幕内容。
本申请实施例提供一种弹幕处理装置,包括:
呈现模块,配置为响应于在播放多媒体信息的过程中接收到的弹幕编辑操作,呈现弹幕编辑界面;
接收模块,配置为通过所述弹幕编辑界面接收待发送的弹幕内容,并通过所述弹幕编辑界面接收针对所述弹幕内容设置的弹幕样式,其中,所述弹幕样式的属性包括所述弹幕内容的形状;
发送模块,配置为发送所述弹幕内容和所述弹幕样式;
所述呈现模块,配置为在多媒体播放界面中呈现符合所述弹幕样式的所述弹幕内容。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的弹幕处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的弹幕处理方法。
附图说明
图1是本申请实施例提供的弹幕处理系统的一个架构示意图;
图2是本申请实施例提供的电子设备的一个结构示意图;
图3A是本申请实施例提供的弹幕处理方法的一个流程示意图;
图3B是本申请实施例提供的弹幕处理方法的一个流程示意图;
图3C是本申请实施例提供的弹幕处理方法的一个流程示意图;
图4是本申请实施例提供的弹幕编辑界面的一个示意图;
图5A是本申请实施例提供的样式编辑界面的一个示意图;
图5B是本申请实施例提供的样式编辑界面的一个示意图;
图6是本申请实施例提供的坐标系的一个示意图;
图7是本申请实施例提供的呈现心形弹幕的一个界面示意图;
图8是本申请实施例提供的弹幕处理方法的一个流程示意图;
图9是本申请实施例提供的坐标系的一个示意图;
图10是本申请实施例提供的控制类示意图;
图11是本申请实施例提供的数据类示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)弹幕内容:弹幕内容可以来自于不同的用户,用于对多媒体信息进行评论,或者基于多媒体信息进行互动等。在对弹幕内容进行显示时,可以将其显示在多媒体信息的播放界面中。
2)多媒体信息:媒体是指承载和传输某种信息或者物质的载体。在计算机领域中,媒体主要是传输和存储信息的载体,其中传输的信息包括语音、文字、视频、音频等。多媒体信息是指把各种媒体的功能进行整合,在交互界面上以文字、音频或者视频等形式进行展示。
3)弹幕样式:与弹幕内容的视觉表现相关的属性/特性,即弹幕内容在显示时的样式。在本申请实施例中,弹幕样式的属性至少包括弹幕内容的形状(即弹幕内容的外形/轮廓)。
弹幕样式的属性还可以包括弹幕内容的排布方式、弹幕内容的尺寸、弹幕内容的颜色、弹幕内容的特效等。此外,弹幕样式的类型可以包括静态弹幕(对应静态显示效果)和动态弹幕(对应动态显示效果)。
需要说明的是,在本文中提及的多个是指两个或两个以上,字符“/”表示前后关联对象是一种或的关系。
对于弹幕内容的显示,相关技术提供的方案是,将用户发送的弹幕内容以一行文本的形式从多媒体信息的播放界面中飘过,弹幕内容的表现形式单一,无法对用户发送的弹幕内容进行差异化展示,影响了用户体验;同时,也导致显示的弹幕内容无法引起用户注意,电子设备在显示弹幕内容时所耗费的计算资源被白白浪费,即电子设备的计算资源的实际利用率低。
鉴于此,本申请实施例提供一种弹幕处理方法、装置、电子设备及计算机可读存储介质,能够增加弹幕内容的表现形式,提高弹幕内容的趣味性,同时,也能够提升电子设备在显示弹幕内容时所耗费的计算资源的实际利用率。
下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为笔记本电脑、平板电脑、台式计算机、机顶盒、移动设备(例如,移动电话、便携式音乐播放器、个人数字处理、专用消息设备、便携式游戏设备)、车载计算机等各种类型的用户终端,也可以实施为服务器或服务器集群等,还可以采用由用户终端和服务器协同的方式实施。下面,将说明电子设备实施为用户终端时的示例性应用。
参见图1,图1是本申请实施例提供的弹幕处理系统100的一个可选的架构示意图,用户终端400-1和用户终端400-2均通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
如图1所示,用户终端400-1上的客户端410-1通过网络300向服务器200请求多媒体信息,多媒体信息的类型包括音频和视频等。服务器200向客户端410-1发送客户端410-1所请求的多媒体信息,以使客户端410-1进行解码播放。在图1中,客户端410-2播放的多媒体信息与客户端410-1相同。
在客户端410-1播放多媒体信息的过程中,客户端410-1接收用户1提交的弹幕内容,并发送至服务器200。随后,服务器200将用户1提交的弹幕内容和多媒体信息一起发送到请求该多媒体信息的各个客户端(包括客户端410-1和客户端410-2),客户端410-1和客户端410-2在解码播放多媒体信息的数据流时,在多媒体播放界面中呈现弹幕,例如,按照弹幕内容被发送到服务器的先后顺序,依次呈现多个弹幕内容,又例如,按照弹幕内容对应的多媒体信息的时间点(如某个弹幕内容是用户针对多媒体信息的第10秒发送的,则该弹幕内容对应的多媒体信息的时间点是第10秒)的先后顺序,依次呈现多个弹幕内容。
对于每条弹幕内容的显示,本申请实施例提供一种弹幕处理方法,在用户发送弹幕时提供给用户针对待发送的弹幕内容设置自定义的弹幕样式的能力。示例性的,客户端410-1响应于在播放多媒体信息的过程中接收到的弹幕编辑操作,呈现弹幕编辑界面,并通过弹幕编辑界面接收待发送的弹幕内容、以及针对弹幕内容设置的弹幕样式。随后,客户端410-1将用户1输入的弹幕内容、以及针对弹幕内容设置的弹幕样式发送给服务器200。服务器200可以将弹幕内容和弹幕样式下发给所有正在播放与客户端410-1相同多媒体信息的客户端中(可以包括客户端410-1本身),各客户端对接收到的弹幕样式进行解析,并在播放界面中呈现符合弹幕样式的弹幕内容。
在一些实施例中,图1中的用户终端的数量可以仅为一个,以用户终端400-1为例,其中的客户端410-1可以直接根据用户所设置的弹幕样式来呈现用户所输入的弹幕内容,即无需与服务器200进行交互,实现离线模式的弹幕内容显示;或者,客户端410-1将弹幕样式和弹幕内容发送给服务器200,当服务器200在接收到客户端410-1发送的弹幕内容、以及针对弹幕内容设置的弹幕样式后,也可以将弹幕内容和弹幕样式只返回给客户端410-1,以仅仅在客户端410-1的多媒体播放界面中呈现符合弹幕样式的弹幕内容。
在一些实施例中,用户终端可以通过运行计算机程序来实现本申请实施例提供的弹幕处理方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。在另一种意义上,云技术也是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
在一些实施例中,上述的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,例如,云服务可以是多媒体信息服务,以供用户终端调用。用户终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图2,图2为本申请实施例提供的电子设备的结构示意图。图2所示的用户终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。用户终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按键和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read O nly Memory),易失性存储器可以是随机存取存储器(RAM,Random Acc ess Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的弹幕处理装置可以采用软件方式实现,图2示出了存储在存储器450中的弹幕处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:呈现模块4551、接收模块4552、发送模块4553。在一些实施例中,还可以包括确定模块4554和转换模块4555。上述的模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。需要指出,在图2中为了方便表达,一次性示出了上述模块,但是不应视为在弹幕处理装置455排除了可以只包括呈现模块4551、接收模块4552和发送模块4553的实施,将在下文中说明各个模块的功能。
下面将结合本申请实施例提供的电子设备实施为用户终端时的示例性应用,以在用户终端运行的客户端中实现本申请实施例提供的弹幕处理方法为例进行说明。
这里,客户端可以是各种类型的专用客户端(Native App),例如视频播放器、音频播放器、短视频APP和直播APP等;客户端也可是浏览器,其通过网页的形式播放视频和音频等类型的多媒体信息;客户端还可以是运行有多媒体播放小程序的各种网络应用(例如社交网络APP),其中包括有供多媒体播放小程序运行的浏览器环境。
参见图3A,图3A是本申请实施例提供的弹幕处理方法的一个可选的流程示意图,将结合图3A示出的步骤进行说明。步骤S301A:客户端响应于在播放多媒体信息的过程中接收到的弹幕编辑操作,呈现弹幕编辑界面。步骤S302A:客户端通过所呈现的弹幕编辑界面接收待发送的弹幕内容、以及针对弹幕内容设置的弹幕样式,其中,弹幕样式的属性包括弹幕内容的形状。步骤S303A:客户端发送所接收到的弹幕内容和弹幕样式,以在多媒体播放界面中呈现符合弹幕样式的弹幕内容,如此,用户在发送弹幕时可以针对弹幕内容设置自定义的形状,大大丰富了弹幕内容的表现形式;客户端在显示自定义形状的弹幕内容时,能够增加弹幕内容引起用户注意的概率,从而提升客户端在显示过程中所耗费的计算资源的实际利用率。
下面结合客户端和服务器协同实施本申请实施例提供的弹幕处理方法为例进行具体说明。参见图3B,图3B是本申请实施例提供的弹幕处理方法的一个流程示意图,将结合图3B示出的步骤进行说明。
步骤S301B:客户端响应于在播放多媒体信息的过程中接收到的弹幕编辑操作,呈现弹幕编辑界面。
在一些实施例中,客户端向服务器请求多媒体信息,并对服务器下发的多媒体信息进行解码播放。当在播放多媒体信息的过程中接收到弹幕编辑操作时,表示用户此时想要进行弹幕编辑,则客户端响应弹幕编辑操作,呈现弹幕编辑界面。
其中,弹幕编辑操作可以是用户针对多媒体播放界面(即多媒体信息的播放界面)执行的触屏操作。例如,当检测到用户针对当前正在播放多媒体信息的多媒体播放界面执行了触屏操作时,呈现弹幕编辑界面。这里,触屏操作可以包括滑动手势操作、双击操作或者长按操作等。当然,用户也可以根据自身的需求,灵活地将不同的触屏操作设置为弹幕编辑操作,实现弹幕编辑操作的自定义。例如,用户可以将双击操作设置为弹幕编辑操作,那么,当客户端检测到针对多媒体播放界面的双击操作时,呈现弹幕编辑界面。
当然,弹幕编辑操作的类型不仅限于触屏操作,例如还可以是语音操作、基于各种用户接口部件(例如键盘和鼠标)的操作或者非触摸式的手势操作等,本申请实施例中对于触屏操作的类型不做限定。
需要说明的是,本申请实施例对界面与界面之间的关系不做限定,以多媒体播放界面和弹幕编辑界面举例,客户端在接收到弹幕编辑操作时所呈现的弹幕编辑界面可以用于完整地覆盖多媒体播放界面,弹幕编辑界面也可以是一个窗口式的界面,用于覆盖多媒体播放界面的一部分,使得用户能够在观看多媒体信息的同时进行弹幕编辑。
步骤S302B:客户端通过弹幕编辑界面接收待发送的弹幕内容,并通过弹幕编辑界面接收针对弹幕内容设置的弹幕样式。
这里,弹幕编辑界面用于提供弹幕内容的输入功能、以及针对弹幕内容的弹幕样式的设置功能,用户可以根据实际需求输入弹幕内容,并设置弹幕样式。其中,弹幕样式的属性包括弹幕内容的形状,但这并不构成对本申请实施例的限定,例如弹幕样式的属性还可以包括弹幕内容的颜色、尺寸、特效和排布方式等。
在一些实施例中,弹幕样式的类型包括静态弹幕和动态弹幕;可以通过这样的方式来实现上述的通过弹幕编辑界面接收针对弹幕内容设置的弹幕样式:客户端响应于针对弹幕内容的弹幕类型的设置操作,确定包括被设置的弹幕类型的新弹幕样式,并在弹幕编辑界面中呈现应用新弹幕样式的弹幕内容;当在预定时间内不再接收到设置操作,或者接收到弹幕发送操作时,将新弹幕样式确定为针对弹幕内容设置的弹幕样式。
在本申请实施例中,可以在弹幕编辑界面提供针对弹幕样式的类型的设置功能,弹幕样式的类型包括静态弹幕和动态弹幕。客户端在通过弹幕编辑界面接收到针对弹幕内容的弹幕类型的设置操作时,确定包括被设置的弹幕类型的新弹幕样式,为了便于用户确定新弹幕样式是否符合自身需求,客户端在弹幕编辑界面中呈现应用新弹幕样式的弹幕内容,例如可以在弹幕编辑界面中的样式预览区域进行呈现。当在预定时间内不再接收到设置操作,或者接收到弹幕发送操作时,将新弹幕样式确定为针对弹幕内容设置的弹幕样式。
其中,静态弹幕是指在多媒体播放界面中呈现弹幕内容时,弹幕样式中的属性(包括弹幕的形状,还可以包括弹幕内容的颜色、尺寸、特效和排布方式等)保持不变。动态弹幕是指在多媒体播放界面中呈现弹幕内容时,弹幕样式中的属性是变化的。
示例性的,当弹幕类型被设置成静态弹幕时,在多媒体播放界面显示弹幕内容时,弹幕内容所应用的弹幕样式中的各个属性是保持不变的。例如,弹幕内容的形状为心形,则在该弹幕内容的显示过程中(如从多媒体播放界面的一端移动到另一端的过程中),始终以心形的形状进行显示。
示例性的,当弹幕类型被设置成动态弹幕时,在多媒体播放界面显示弹幕内容时,弹幕内容所应用的弹幕样式中的各个属性是变化的。其中,弹幕样式中的各个属性可以是一直变化的,或者是仅在多媒体播放界面上显示的部分时间中发生变化(例如可以是在最初显示的几秒内发生变化、在最后显示的几秒内发生变化、或者每间隔几秒发生变化)。弹幕样式中的各个属性的变化方式可以是随机变化的,也可以是由用户设定的。例如,对于动态弹幕,当用户没有对属性的变化方式进行额外的设定时,采用默认的变化方式。通过上述方式,能够提升弹幕处理的全面性,符合用户对于弹幕样式的类型的设置需求。
需要说明的是,用户可以在弹幕编辑界面中同时对弹幕样式的属性以及弹幕样式的类型进行设置。例如,用户在设置了弹幕内容的新形状后,还可以进一步对弹幕样式的其他属性(如颜色、尺寸、特效和排布方式等)、以及弹幕样式的类型进行设置。当用户仅针对弹幕形状进行设置,而没有对其他属性及类型进行设置时,弹幕内容的其他属性及类型可以采用随机设置或者采用默认设置。
在一些实施例中,还可以通过这样的方式来实现上述的通过弹幕编辑界面接收针对弹幕内容设置的弹幕样式:客户端在弹幕编辑界面中呈现对应弹幕内容的候选弹幕样式,响应于针对弹幕内容对应的候选弹幕样式的选取操作,将被选中的候选弹幕样式确定为针对弹幕内容设置的弹幕样式;或者在弹幕编辑界面中呈现对应弹幕内容的候选弹幕样式,响应于针对弹幕内容自动设置弹幕样式的设置操作,确定候选弹幕样式的特征向量与弹幕编辑账号的特征向量的相似度,并将相似度最高的候选弹幕样式,确定 为针对弹幕内容设置的弹幕样式;其中,弹幕编辑账号是编辑弹幕样式的用户账号。
在本申请实施例中,用户除了手动设置弹幕样式之外,还可以选择弹幕样式,或者由客户端自动选择弹幕样式。
例如,客户端可以在弹幕编辑界面中呈现对应弹幕内容的至少一个候选弹幕样式,用户可以通过预先设定的操作(例如,三指下拉,四指单机等方式)来选择任意一个候选弹幕样式。针对被选中的一个候选弹幕样式,客户端可以直接将该候选弹幕样式作为针对弹幕内容设置的弹幕样式,也可以对该候选弹幕样式进行进一步调整,如呈现样式编辑界面以便用户对该候选弹幕样式进行调整。通过上述方式,可以快速确定弹幕样式,无需用户进行手动设置,提升用户体验。
又例如,客户端在弹幕编辑界面中呈现至少一个候选弹幕样式后,可以响应于针对弹幕内容自动设置弹幕样式的设置操作,进行自动选择。本申请实施例提供了自动选择的两种示例,第一种示例是,客户端在呈现的至少一个候选弹幕样式中进行随机选择,将选择得到的候选弹幕样式,确定为针对弹幕内容设置的弹幕样式;第二种示例是,针对呈现的每个候选弹幕样式,客户端确定候选弹幕样式的特征向量与弹幕编辑账号的特征向量之间的相似度,并将相似度最高的候选弹幕样式,确定为针对弹幕内容设置的弹幕样式,实现智能选择,其中,弹幕编辑账号是编辑弹幕样式的用户账号,如客户端中处于登录态的用户账号。通过上述方式,实现了候选弹幕样式的自动选择,进一步减少了用户操作。
在一些实施例中,客户端在弹幕编辑界面中呈现对应弹幕内容的候选弹幕样式之前,还包括:客户端执行以下操作至少之一:获取与弹幕编辑账号具有潜在好友关系的用户账号所使用的弹幕样式,以作为候选弹幕样式;获取与弹幕编辑账号具有社交关系的用户账号所使用的弹幕样式,以作为候选弹幕样式;获取使用频率大于频率阈值、或者评分大于评分阈值的弹幕样式,以作为候选弹幕样式。
例如,客户端可以定期或者不定期地从后台(即服务器)获取新的候选弹幕样式。其中,新的候选弹幕样式可以包括以下的至少之一:与弹幕编辑账号具有潜在好友关系的用户账号所使用的弹幕样式,其中,当弹幕编辑账号的用户特征(用户特征可以包括弹幕编辑账号观看/点赞/转发的多媒体信息的向量表示)与某个用户账号的用户特征之间的相似度大于相似度阈值时,将该用户账号作为与弹幕编辑账号具有潜在好友关系的用户账号;与弹幕编辑账号具有社交关系(例如:好友、关注等)的用户账号所使用的弹幕样式,社交关系可以是订阅、关注、互动(如点赞、发送电子红包、分享多媒体信息)等,对此不做限定;由服务器从不同维度统计的高频/高评分的弹幕样式,其中,高频可以是指弹幕样式的使用频率大于频率阈值,高评分可以是指弹幕样式的评分大于评分阈值。对于获取到的候 选弹幕样式来说,用户(指使用弹幕编辑账号的用户)对其感兴趣的概率较大,因此可以帮助用户更快地针对弹幕内容设置出满意的弹幕样式。
示例性的,当用户在编辑弹幕时,客户端可以为用户输入的弹幕内容随机套用(应用)不同的候选弹幕样式/轮流套用不同的候选弹幕样式,并可以提供候选弹幕样式的预览入口和切换入口,便于用户通过预览入口观看候选弹幕样式的预览效果,从而判断是否符合自身需求;或者,通过切换入口来快速地切换套用的候选弹幕样式,直至选择出满意的弹幕样式。
在一些实施例中,还可以基于人工智能的方案来有效地帮助用户确定满意的弹幕样式。例如,通过机器学习的方法训练出用于预测弹幕样式的模型,并使用训练好的模型基于用户当前的使用场景(例如:用户当前所观看的多媒体信息的名称、类型及时长中的至少一种)和用户画像数据,来预测出用户倾向于使用的弹幕样式,该方式可以适用客户端自动选择候选弹幕样式,以作为针对弹幕内容设置的弹幕样式的场景。
示例性的,使用已知的用户画像数据、用户使用场景、以及应用的弹幕样式作为模型的训练样本,使用机器学习方法对模型进行训练,使得训练后的模型具有基于用户当前的使用场景和用户画像数据预测出用户感兴趣的弹幕样式的能力。这里模型的损失函数可以是各种损失函数,例如:回归损失函数、平方误差损失函数、绝对误差损失函数、以及交叉熵损失函数等,损失函数用于表征预测的弹幕样式与实际应用的弹幕样式之间的差异。模型的类型可以是各种机器学习模型,例如分类回归树模型、神经网络模型、以及各种衍生的网格模型等。
在一些实施例中,步骤301B之后,还包括:当客户端通过弹幕编辑界面接收到待发送的弹幕内容、且未接收到针对弹幕内容设置的弹幕样式时,发送弹幕内容和默认弹幕样式至服务器,以在多媒体播放界面中呈现符合默认弹幕样式的弹幕内容。
这里,当客户端仅接收到弹幕内容、且未接收到弹幕样式时,可以将默认弹幕样式作为针对弹幕内容设置的弹幕样式。其中,默认弹幕样式可以是一行文本的样式,当然也可以根据实际应用场景进行设定。
示例性的,如图4所示,用户在弹幕编辑界面的文本框(字符输入界面)中输入待发送的弹幕内容后,直接点击“发送”按键,则客户端将该弹幕内容和默认弹幕样式发送至服务器,该弹幕内容将会以一行文本的样式呈现在客户端的多媒体播放界面上。
步骤S303B:客户端发送弹幕内容和弹幕样式至服务器。
在一些实施例中,当客户端在预定时间内不再接收到针对弹幕样式的设置操作,或者接收到弹幕发送操作时,将弹幕内容和针对弹幕内容设置的弹幕样式发送给服务器。其中,预定时间可根据实际应用场景进行调整。
示例性的,参见图5A,当通过样式调整区域在预定时间内(例如:20秒内)未接收到针对弹幕样式的设置操作时,或者接收到用户在样式预览 区域中对“发送”按键的点击操作时,将弹幕内容和针对弹幕内容设置的弹幕样式发送给服务器,其中,样式调整区域和样式预览区域在后文进行阐述。
步骤S304B:客户端接收服务器发送的弹幕内容和弹幕样式。
步骤S305B:客户端在多媒体播放界面中呈现符合弹幕样式的弹幕内容。
在一些实施例中,客户端可以通过服务器,将弹幕内容和弹幕样式发送给正在播放同一多媒体信息的、且处于在线状态的所有客户端(或者网页播放界面)中,以在播放同一多媒体信息的所有多媒体播放界面中呈现符合弹幕样式的弹幕内容。
示例性的,以客户端1至N当前正在播放同一多媒体信息举例,这里的N为大于1的整数。在播放多媒体信息的过程中,客户端1接收到用户1输入的待发送的弹幕内容、以及针对弹幕内容设置的弹幕样式,随后,客户端1将弹幕内容和弹幕样式发送给服务器。服务器在接收到客户端1发送的弹幕内容和弹幕样式后,将弹幕内容和弹幕样式发送给客户端1至N,以在客户端1至N的多媒体播放界面中呈现符合弹幕样式的弹幕内容。
需要说明的是,在本申请实施例中,客户端可以包括弹幕的开启/关闭功能。只有当客户端在开启弹幕功能时,才会在客户端的多媒体播放界面中呈现符合弹幕样式的弹幕内容;当客户端关闭弹幕功能时,不会在客户端的多媒体播放界面中呈现任何弹幕内容。
在一些实施例中,客户端可以通过服务器,将弹幕内容和弹幕样式发送给正在播放同一多媒体信息、且与弹幕编辑账号具有潜在好友关系的用户账号所关联的客户端(或者网页播放界面)中。其中,弹幕编辑账号是指编辑弹幕样式的用户账号。确定与弹幕编辑账号具有潜在好友关系的用户账号的方式可以为:当接收到用户账号A针对多媒体信息发送的弹幕内容和弹幕样式时,根据用户账号A的画像数据提取出用户账号A的用户特征,并与当前观看同一多媒体信息的在线用户账号的用户特征计算相似度,将相似度高于相似度阈值的用户账号确定为与用户账号A具有潜在好友关系的用户账号,然后向具有潜在好友关系的用户账号所关联的客户端发送弹幕内容和弹幕样式。
而对于用户特征的相似度低于相似度阈值的用户账号(即与弹幕编辑账号不具有潜在好友关系的用户账号),可以对其所关联的客户端发送应用默认弹幕样式的弹幕内容,或者,发送弹幕内容和弹幕样式(其中包括屏蔽标识,以指示不要应用弹幕样式),如此,可以在其所关联的客户端的多媒体播放界面中,按照默认弹幕样式显示弹幕内容。
在一些实施例中,客户端可以通过服务器,将弹幕内容和弹幕样式发送给正在播放同一多媒体信息、且由弹幕编辑账号选定的用户账号所关联的客户端(或者网页播放界面)中。
示例性的,弹幕编辑界面中还可以提供弹幕样式的受众设置界面,供用户选择具有社交关系的某些用户账号作为受众,选择的维度可以是一类社交关系或者多类社交关系,也可以是每一类社交关系中的一个或多个用户账号;又或者,可以针对不同类型的社交关系设置一一对应的弹幕样式。其中,社交关系可以是:订阅、关注、互动(如点赞、发送电子红包、分享多媒体信息)等。如此,服务器可以仅将弹幕内容和弹幕样式发送给正在播放同一多媒体信息、且由弹幕编辑账号选定的用户账号所关联的客户端(或者网页播放界面)中,以使在选定的用户账号所关联的客户端的多媒体播放界面中,呈现符合弹幕样式的弹幕内容,而在未选定的用户账号所关联的客户端的多媒体播放界面中,以默认弹幕样式显示弹幕内容。
以客户端1至N当前正在播放同一多媒体信息举例,这里的N为大于4的整数。在播放多媒体信息的过程中,客户端1接收到用户1输入的待发送的弹幕内容、以及针对弹幕内容设置的弹幕样式,同时接收到用户1设置弹幕样式的受众为客户端2所关联的用户账号和客户端3所关联的用户账号。随后,客户端1将弹幕内容、弹幕样式、以及受众用户账号发送给服务器。服务器在接收到客户端1发送的弹幕内容、弹幕样式以及受众用户账号后,将弹幕内容和弹幕样式发送给客户端1至3,以在客户端1至3的多媒体播放界面中呈现符合弹幕样式的弹幕内容;同时,服务器可以向客户端4至N发送弹幕内容及默认弹幕样式,或者发送弹幕内容和弹幕样式(其中包括屏蔽标识,以指示不要应用弹幕样式),如此,客户端4至N会以默认弹幕样式显示用户1发送的弹幕内容。如此,通过区别显示,提升了弹幕处理的针对性强,更加便于进行与特定用户帐号之间的互动。
在一些实施例中,客户端可以通过服务器,将弹幕内容和弹幕样式发送给活跃用户账号所关联的客户端中,以在活跃用户账号所关联的客户端的多媒体播放界面中,呈现符合弹幕样式的弹幕内容。同时,对于非活跃用户账号所关联的客户端,服务器向其发送弹幕内容及默认弹幕样式,或者发送弹幕内容和弹幕样式(其中包括屏蔽标识,以指示不要应用弹幕样式),以在非活跃用户账号所关联的客户端的多媒体播放界面中,按照默认的弹幕样式显示弹幕内容。其中,活跃用户账号可以是在线时长达到预设时长的用户账号,或者,发送弹幕的数量超过预定数量的用户账号。
在一些实施例中,客户端可以通过服务器,将弹幕内容和弹幕样式随机发送给正在播放同一多媒体信息的部分客户端中,以在所选中的部分客户端的多媒体播放界面中,呈现符合弹幕样式的弹幕内容,而在其余的客户端的多媒体播放界面中,按照默认的弹幕样式显示弹幕内容。
需要说明的是,在本申请实施例中,服务器可以将用户输入的弹幕内容、以及针对弹幕内容设置的弹幕样式发送给当前时刻正在播放同一多媒体信息的客户端中,也可以是其他时间播放同一多媒体信息的客户端中,例如后台(服务器)对用户输入的弹幕内容以及弹幕样式进行筛选后,将 符合要求的弹幕内容和弹幕样式发送给后续播放同一多媒体信息的客户端中。
在一些实施例中,还可以通过这样的方式实现上述在多媒体播放界面中呈现符合弹幕样式的弹幕内容:客户端从多媒体播放界面的第一端开始呈现符合弹幕样式的弹幕内容,并逐步移动到多媒体播放界面的第二端,直至移出多媒体播放界面。
这里,多媒体播放界面的第一端和第二端是相对而言的,例如第一端可以是右端,第二端可以是左端;又例如,第一端可以是下端,第二端可以是上端。客户端在接收到弹幕内容及弹幕样式时,可以从多媒体播放界面的第一端开始呈现符合弹幕样式的弹幕内容,并逐步移动到多媒体播放界面的第二端,直至移出多媒体播放界面。
当然,这并不构成对本申请实施例的限定,即符合弹幕样式的弹幕内容也可以通过其他呈现方式进行呈现。例如,客户端可以将符合弹幕样式的弹幕内容固定呈现在多媒体播放界面中设定的呈现位置,直至达到设定的呈现时长。
如图3B所示,在本申请实施例中,客户端支持弹幕内容的形状的自定义,从而能够大大丰富弹幕内容的表现形式,满足不同用户的需求;同时,客户端在显示自定义形状的弹幕内容时,能够增加弹幕内容引起用户注意的概率,从而提升客户端在显示过程中所耗费的计算资源的实际利用率。
在一些实施例中,参见图3C,图3C是本申请实施例提供的弹幕处理方法的一个流程示意图,在图3C中,图3B示出的步骤S301B可以更新为步骤S401,步骤S401:客户端响应于在播放多媒体信息的过程中接收到的弹幕编辑操作,呈现用于编辑待发送的弹幕内容的字符输入界面、以及用于设置弹幕样式的操作入口。
在本申请实施例中,弹幕编辑界面可以包括用于编辑待发送的弹幕内容的字符输入界面、以及用于设置弹幕样式的操作入口。
示例性的,参见图4,图4是本申请实施例提供的弹幕编辑界面的一个示意图。在图4中,示出了多媒体播放界面41,多媒体播放界面41正在播放多媒体信息,同时呈现多个弹幕内容,例如图4中的“好看吗”及“哈哈哈”等弹幕内容。多媒体播放界面41包括弹幕编辑界面42,弹幕编辑界面42包括文本框形式的字符输入界面43和操作入口44。
在图3C中,图3B示出的步骤S302B可以通过步骤S402至步骤S403实现,将结合各步骤进行说明。
步骤S402:客户端通过字符输入界面接收待发送的弹幕内容。
示例性的,参见图4,用户可以在字符输入界面43输入待发送的弹幕内容,例如“这是我的弹幕”。
步骤S403:客户端响应于针对操作入口的触发操作,呈现样式编辑界 面,并通过样式编辑界面接收针对弹幕内容设置的弹幕样式。
示例性的,参见图4,当用户点击“样式”按键(即操作入口44)时,客户端呈现样式编辑界面,并通过样式编辑界面接收针对弹幕内容设置的弹幕样式。这里,样式编辑界面可以完整地覆盖弹幕编辑界面42,也可以通过窗口的形式显示在弹幕编辑界面42中。
在一些实施例中,可以通过这样的方式来实现上述的呈现样式编辑界面,并通过样式编辑界面接收针对弹幕内容设置的弹幕样式:客户端在样式编辑界面中呈现样式调整区域,并在样式调整区域中呈现弹幕内容包括的各个字符;响应于针对弹幕内容中至少部分字符的移位操作,确定包括新形状的新弹幕样式,并在样式编辑界面中呈现应用新弹幕样式的弹幕内容;当在预定时间内不再接收到移位操作,或者接收到弹幕发送操作时,将新弹幕样式确定为针对弹幕内容设置的弹幕样式。
这里,样式编辑界面可以包括样式调整区域,用于提供针对弹幕样式的设置功能。样式调整区域初始呈现有弹幕内容包括的各个字符,客户端在接收到针对样式调整区域呈现的弹幕内容中至少部分字符的移位操作时,将弹幕内容最新的形状(即移位后的形状)作为新形状,从而得到包括新形状的新弹幕样式。然后,客户端在样式编辑界面中呈现应用新弹幕样式的弹幕内容,这里,可以直接在样式调整区域中呈现应用新弹幕样式的弹幕内容,也可以在其他区域进行呈现,例如单独划分一个样式预览区域,用于呈现应用新弹幕样式的弹幕内容。当在预定时间内不再接收到移位操作,或者接收到弹幕发送操作时,客户端将新弹幕样式确定为针对弹幕内容设置的弹幕样式。
示例性的,参见图5A,图5A是本申请实施例提供的样式编辑界面的一个示意图。如图5A所示,样式编辑界面主要包括左侧的样式调整区域51和右侧的样式预览区域52。需要说明的是,样式调整区域和样式预览区域在图5A中的结构只是一种示例,这两个区域的相对位置关系不存在限制。例如,可以是样式调整区域位于样式预览区域的右侧;又可以是样式调整区域位于样式预览区域的上侧;还可以是样式调整区域位于样式预览区域的下侧等,支持用户根据自身的习惯设置样式调整区域和样式预览区域之间的相对位置。
在图5A中,以样式调整区域为一个支持调整字符位置的网格区域为例进行说明,其中,网格区域包括多个网格,每一个网格对应一个字符。其中,每个网格都是由一个输入文本组件实现的,通过监听点击事件,记录用户在网格中输入的字符、以及网格的坐标。样式预览区域主要用于实时呈现应用新弹幕样式包括的新形状的弹幕内容。
示例性的,参见图5B,图5B是本申请实施例提供的样式编辑界面的一个示意图。如图5B所示,样式编辑界面主要包括左侧的样式调整区域53和右侧的样式预览区域54。在图5B中,以样式调整区域为一个支持调整 字符位置的像素区域为例进行说明,样式调整区域所呈现的字符的坐标即为像素坐标。
在一些实施例中,可以通过这样的方式来实现上述的在样式调整区域中呈现弹幕内容包括的各个字符:客户端根据默认弹幕样式中的形状,在样式调整区域中呈现弹幕内容包括的各个字符。
这里,对于字符输入界面接收到的弹幕内容,可以按照默认弹幕样式中的形状呈现在样式调整区域中,默认弹幕样式中的形状即为初始形状。其中,默认弹幕样式中的形状可以是一行文本的形状。客户端在样式调整区域中呈现弹幕内容包括的各个字符后,用户可以针对弹幕内容包括的各个字符进行移位操作,以得到新形状。这里,移位操作可以是用户选中某个字符并将其拖拽到目标位置的拖动操作。示例性的,参见图5A,图5A所示的心形是经移位操作后得到的新形状,即是将一行文本的形状调整成了心形。
在一些实施例中,可以通过这样的方式来实现上述的在样式调整区域中呈现弹幕内容包括的各个字符:客户端在样式编辑界面中呈现对应弹幕内容的候选弹幕样式,响应于针对弹幕内容对应的候选弹幕样式的选取操作,根据被选中的候选弹幕样式中的形状,在样式调整区域中呈现弹幕内容包括的各个字符。
这里,可以在样式编辑界面(如样式调整区域)中呈现至少一个候选弹幕样式的形状,用户可以从中选择出心仪的形状,随后,客户端根据被选中的一个候选弹幕样式中的形状,在样式调整区域中呈现弹幕内容包括的各个字符。
示例性的,用户可以首先在样式编辑界面呈现的候选弹幕样式的形状中,选择出心仪的形状,例如,用户选择了三角形作为弹幕的形状,随后,用户在字符输入界面输入的弹幕内容可直接填充到三角形中,以形成三角性的弹幕内容。当然,用户在选择出某个形状后,如果对所选择的形状不满意,也可以对所选择的形状进行进一步的调整,并将弹幕内容填充到调整后的形状中。
需要说明的是,本申请实施例提供的样式调整区域的尺寸是可以调节的。因此,在呈现样式调整区域之前,可以首先接收针对样式调整区域的尺寸设置操作,将尺寸设置操作所设置的尺寸,确定为在样式编辑界面中呈现样式调整区域时所应用的尺寸。
以样式调整区域为网格区域的情况进行举例,在呈现网格区域之前,可以首先给出多种候选尺寸让用户选择,用户可以根据待发送的弹幕内容包括的字符数量选择相应的候选尺寸,也可以是直接让用户输入网格区域的尺寸(例如网格区域的尺寸可以是10×10,也可以是15×15等,用户可以根据每次实际输入的弹幕内容所包括的字符数量进行不同粒度的划分)。当用户没有设置网格区域的尺寸时,客户端可以根据默认尺寸在样式编辑界 面中呈现网格区域,其中,默认尺寸可以根据实际应用场景进行设定;或者,客户端可以根据待发送的弹幕内容包括的字符数量,自动选择能够容纳弹幕内容的最小的尺寸。
在一些实施例中,弹幕样式的属性还包括以下至少之一:弹幕内容的颜色、弹幕内容的尺寸、弹幕内容的特效、以及弹幕内容的排布方式;可以通过这样的方式来实现上述的通过样式编辑界面接收针对弹幕内容设置的弹幕样式:客户端响应于在样式调整区域中针对弹幕内容的颜色、尺寸、特效和排布方式中的至少之一的设置操作,确定新弹幕样式,并在样式编辑界面中呈现应用新弹幕样式的弹幕内容;当在预定时间内不再接收到设置操作,或者接收到弹幕发送操作时,将新弹幕样式确定为针对弹幕内容设置的弹幕样式。
在本申请实施例中,弹幕样式的属性除了包括形状,还可以包括以下至少之一:弹幕内容的颜色;弹幕内容的尺寸;弹幕内容的特效;弹幕内容的排布方式(例如:横向排布、竖向排布、倾斜排布等)。
客户端响应于在样式调整区域中针对弹幕内容的颜色、尺寸、特效和排布方式中的至少之一的设置操作,确定新弹幕样式。例如,弹幕样式包括颜色A1、尺寸B1、特效C1和排布方式D1,若用户将颜色A1更改为了A2,将尺寸B1更改为了B2,则可以得到新弹幕样式包括颜色A2、尺寸B2、特效C1和排布方式D1。
例如,用户可以在样式调整区域中将弹幕内容的颜色统一设置为红色、绿色、或者渐变色等,或者仅将弹幕内容包括的部分字符设置成红色,其他字符保持默认颜色。用户也可以针对弹幕内容的尺寸进行设置,例如,可以将弹幕内容的尺寸统一设置成10号;或者仅将弹幕内容包括的部分字符设置成10号,而其他字符的尺寸保持默认尺寸。
例如,将弹幕内容所包括的字符统一设置成倾斜排布;或者仅将弹幕内容中包括的部分字符设置成倾斜排布,而其他字符为横向排布。
当然,用户也可以针对弹幕内容添加相应的特效,例如,为全部字符或部分字符添加一些火焰、彩色条纹等。
客户端可以在样式编辑界面(如样式预览区域)中实时呈现应用新弹幕样式的弹幕内容。当在预定时间内不再接收到设置操作,或者接收到弹幕发送操作时,客户端将新弹幕样式确定为针对弹幕内容设置的弹幕样式。
需要说明的是,样式调整区域除了可以支持对弹幕样式的属性进行设置之外,还可以支持对弹幕样式的类型进行设置,例如提供“静态弹幕”和“动态弹幕”两个选项以供用户选择。
在一些实施例中,发送弹幕内容和弹幕样式之前,还包括:客户端确定弹幕内容包括的各个字符在样式调整区域中所占的实际区域;当实际区域的尺寸小于样式调整区域的默认尺寸时,根据实际区域对弹幕内容中各 个字符的坐标进行转换处理,以更新针对弹幕内容设置的弹幕样式中的形状。
这里,客户端在将弹幕内容和弹幕样式发送给服务器之前,还可以将弹幕样式中的形状进行转换,并将转换后的形状和弹幕内容发送给服务器。
以样式调整区域为网格区域的情况进行举例,当弹幕内容在网格区域中所占的实际区域的尺寸小于网格区域的尺寸时,将实际区域作为新的网格区域,并确定弹幕内容中各个字符在新的网格区域中的坐标,以作为转换后的坐标。
例如,参见图6,弹幕编辑界面中的网格区域的尺寸为7×7,而弹幕内容(即图6中的心形弹幕)所占的实际区域的尺寸为5×4(这里以矩阵区域为例进行说明),则客户端首先将心形弹幕在7×7的网格区域中的坐标,转换成在5×4的网格区域中的坐标(如图9所示),并将弹幕内容中的各个字符在5×4的网格区域中的坐标发送给服务器。
如图3C所示,本申请实施例通过字符输入界面来提供弹幕内容的输入功能,通过操作入口及样式编辑界面来提供弹幕样式的设置功能,能够提升弹幕编辑的易用性,从而提升得到弹幕内容及弹幕样式的效率。
下面继续说明本申请实施例提供的弹幕处理装置455实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的弹幕处理装置455中的软件模块可以包括:呈现模块4551、接收模块4552、发送模块4553。在一些实施例中,还可以包括确定模块4554和转换模块4555。
呈现模块4551,配置为响应于在播放多媒体信息的过程中接收到的弹幕编辑操作,呈现弹幕编辑界面;接收模块4552,配置为通过弹幕编辑界面接收待发送的弹幕内容,并通过弹幕编辑界面接收针对弹幕内容设置的弹幕样式,其中,弹幕样式包括弹幕内容的形状;发送模块4553,配置为发送弹幕内容和弹幕样式;呈现模块4551,配置为在多媒体播放界面中呈现符合弹幕样式的弹幕内容。
在一些实施例中,弹幕编辑界面包括用于编辑待发送的弹幕内容的字符输入界面、以及用于设置弹幕样式的操作入口;接收模块4552,配置为通过字符输入界面接收待发送的弹幕内容;接收模块4552,配置为响应于针对操作入口的触发操作,呈现样式编辑界面,并通过样式编辑界面接收针对弹幕内容设置的弹幕样式。
在一些实施例中,呈现模块4551,配置为在样式编辑界面中呈现样式调整区域,并在样式调整区域中呈现弹幕内容包括的各个字符;响应于针对弹幕内容中至少部分字符的移位操作,确定包括新形状的新弹幕样式,并在样式编辑界面中呈现应用新形状的弹幕内容;装置还包括确定模块4554,配置为当在预定时间内不再接收到移位操作,或者接收到弹幕发送操 作时,将新弹幕样式确定为针对弹幕内容设置的弹幕样式。
在一些实施例中,样式编辑界面还包括样式预览区域;呈现模块4551,配置为在样式预览区域中呈现应用新弹幕样式的弹幕内容。
在一些实施例中,样式调整区域为网格区域,网格区域包括用于填充弹幕内容中的字符的多个网格;或者,样式调整区域为像素区域。
在一些实施例中,确定模块4554,配置为响应于针对样式调整区域的尺寸设置操作,将尺寸设置操作所设置的尺寸,确定为在样式编辑界面中呈现样式调整区域时所应用的尺寸。
在一些实施例中,确定模块4554,配置为确定弹幕内容包括的各个字符在样式调整区域中所占的实际区域;装置还包括转换模块4555,转换模块4555配置为当实际区域的尺寸小于样式调整区域的尺寸时,根据实际区域对弹幕内容中各个字符的坐标进行转换处理,以更新针对弹幕内容设置的弹幕样式中的形状。
在一些实施例中,呈现模块4551,配置为执行以下任意一种操作:根据默认弹幕样式中的形状,在样式调整区域中呈现弹幕内容包括的各个字符;在样式编辑界面中呈现对应弹幕内容的候选弹幕样式,响应于针对弹幕内容对应的候选弹幕样式的选取操作,根据被选中的候选弹幕样式中的形状,在样式调整区域中呈现弹幕内容包括的各个字符。
在一些实施例中,弹幕样式的属性还包括以下至少之一:弹幕内容的颜色、弹幕内容的尺寸、弹幕内容的特效、以及弹幕内容的排布方式;样式编辑界面包括样式调整区域;呈现模块4551,配置为响应于在样式调整区域中针对弹幕内容的颜色、尺寸、特效和排布方式中的至少之一的设置操作,确定新弹幕样式,并在样式编辑界面中呈现应用新弹幕样式的弹幕内容;确定模块4554,配置为当在预定时间内不再接收到设置操作,或者接收到弹幕发送操作时,将新弹幕样式确定为针对弹幕内容设置的弹幕样式。
在一些实施例中,样式编辑界面还包括样式预览区域;呈现模块4551,配置为在样式预览区域中呈现应用新弹幕样式的弹幕内容。
在一些实施例中,弹幕样式的类型包括静态弹幕和动态弹幕;呈现模块4551,配置为响应于针对弹幕内容的弹幕类型的设置操作,确定包括被设置的弹幕类型的新弹幕样式,并在弹幕编辑界面中呈现应用新弹幕样式的弹幕内容;确定模块4554,配置为当在预定时间内不再接收到设置操作,或者接收到弹幕发送操作时,将新弹幕样式确定为针对弹幕内容设置的弹幕样式。
在一些实施例中,呈现模块4551,配置为当新弹幕样式中的弹幕类型为静态弹幕时,在弹幕编辑界面中呈现应用新弹幕样式中的属性的弹幕内容,并保持所应用的属性不变;当新弹幕样式中的弹幕类型为动态弹幕时,在弹幕编辑界面中呈现应用新弹幕样式中的属性的弹幕内容,并使所应用 的属性发生变化。
在一些实施例中,呈现模块4551,配置为从多媒体播放界面的第一端开始呈现符合弹幕样式的弹幕内容,并逐步移动到多媒体播放界面的第二端,直至移出多媒体播放界面。
在一些实施例中,发送模块4553,配置为执行以下操作至少之一:将弹幕内容和弹幕样式,发送到正在播放多媒体信息的且处于在线状态的客户端中;将弹幕内容和弹幕样式,发送到正在播放多媒体信息、且与弹幕编辑账号具有潜在好友关系的用户账号所关联的客户端中;将弹幕内容和弹幕样式,发送到活跃用户账号所关联的客户端中;将弹幕内容和弹幕样式,发送到正在播放多媒体信息、且由弹幕编辑账号选定的用户账号所关联的客户端中;其中,弹幕编辑账号是编辑弹幕样式的用户账号。
在一些实施例中,发送模块4553,配置为当通过弹幕编辑界面接收到待发送的弹幕内容、且未接收到针对弹幕内容设置的弹幕样式时,发送弹幕内容和默认弹幕样式;呈现模块4551,配置为在多媒体播放界面中呈现符合默认弹幕样式的弹幕内容。
在一些实施例中,确定模块4554,配置为在弹幕编辑界面中呈现对应弹幕内容的候选弹幕样式,响应于针对弹幕内容对应的候选弹幕样式的选取操作,将被选中的候选弹幕样式确定为针对弹幕内容设置的弹幕样式;或者用于在弹幕编辑界面中呈现对应弹幕内容的候选弹幕样式,响应于针对弹幕内容自动设置弹幕样式的设置操作,确定候选弹幕样式的特征向量与弹幕编辑账号的特征向量的相似度,并将相似度最高的候选弹幕样式确定为针对弹幕内容设置的弹幕样式;其中,弹幕编辑账号是编辑弹幕样式的用户账号。
在一些实施例中,确定模块4554,配置为执行以下操作至少之一:获取与弹幕编辑账号具有潜在好友关系的用户账号所使用的弹幕样式,以作为候选弹幕样式;获取与弹幕编辑账号具有社交关系的用户账号所使用的弹幕样式,以作为候选弹幕样式;获取使用频率大于频率阈值、或者评分大于评分阈值的弹幕样式,以作为候选弹幕样式。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本申请实施例提供的弹幕处理装置中未尽的技术细节,可以根据图3A、图3B、图3C、图8任一附图的说明而理解。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
以视频播放客户端为例,当用户在观看视频的过程中想要发送弹幕时,点击编辑弹幕按键,弹出输入法进行弹幕内容的输入。图4是本申请实施例提供的一个可选的弹幕编辑界面示意图,如图4所示,用户在文本框(即字符输入界面43)中输入弹幕内容,例如“这是我的弹幕”,点击文本框右 侧的“发送”按键后,弹幕内容将被发送到屏幕上进行显示。而“发送”按键右侧的“样式”按键(即操作入口44)是本申请实施例新增的针对弹幕内容设置弹幕样式的功能入口按键。当用户在文本框中输入自己想要发送的弹幕内容,并直接点击“发送”按键后,弹幕内容将以一行文本的样式(即默认弹幕样式)显示在屏幕中。而当用户点击“样式”按键时,则呈现样式编辑界面,例如跳转到样式编辑界面。
图5A是本申请实施例提供的样式编辑界面的示意图。如图5A所示,样式编辑界面包括两个主要区域,分别是左侧的样式调整区域51和右侧的样式预览区域52。其中,右侧的样式预览区域52负责实时显示左侧样式调整区域51调整后的弹幕内容。用户在样式预览区域52确认效果后,点击样式预览区域52中的“发送”按键,弹幕内容和弹幕样式就会进入后续的发送流程。
需要说明的是,样式调整区域和样式预览区域的相对位置并不局限于图5A所示,也可以是样式调整区域位于右侧,样式预览区域位于左侧,或者是样式调整区域位于上侧,样式预览区域位于下侧等。
如图5A所示,左侧的样式调整区域为一个可调整字符位置的网格区域,每个网格都有自己的坐标用于确认位置。图5A中网格区域为7×7的尺寸,当然,网格区域的尺寸并不局限于图5A所示的7×7的尺寸,也可以是10×10的尺寸,或者是其他尺寸,本申请实施例对此不作限定。
下面以图5A所示的7×7的尺寸为例进行说明,用户可以在网格区域中输入字符,每个网格只能输入一个字符。当用户连续输入多个字符时,其他的字符会依次填入后面的网格中。随后,基于网格区域构建坐标系,以确定出每个网格对应的坐标位置。图6是本申请实施例提供的坐标系示意图。如图6所示,以网格区域中位于左上角的网格为坐标原点(0,0),则右下角的网格的坐标为(6,6),如此,每个网格的坐标位置可以按照坐标系确定下来。需要说明的是,本申请实施例只需确定出每个网格的坐标位置即可,并不限定坐标原点的位置。例如,可以以网格区域中左下角的网格为坐标原点构建坐标系,也可以以网格区域中右下角的网格为坐标原点构建坐标系,或者以网格区域中右上角的网格为坐标原点构建坐标系等。在构建坐标系后,用户在网格中添加的每个字符都有一个唯一的坐标位置与之对应。如图6所示,弹幕内容“这是我的弹幕”(弹幕内容还包括星号字符,为了便于理解,这里省略相应说明)以心形摆放在网格中,每个字符都有一个对应的坐标位置。当用户添加字符并且摆放完成,点击图5A中的“发送”按键后,该弹幕内容就会以网格区域中的心形形状出现在多媒体播放界面中。作为示例,参见图7,在图7的多媒体播放界面71中,示出了正在播放的电影、以及多个心形形状的弹幕内容。
需要说明的是,本申请实施例并不局限于上述通过网格对字符进行定位的方式,实际上还可以让用户直接在样式调整区域拖拽字符,并记录字 符的像素坐标来进行字符坐标位置的记录,即样式调整区域可以是像素区域。
图8是本申请实施例提供的弹幕处理方法的一个流程示意图,下面将结合图8示出的步骤进行说明。
步骤S801:客户端在播放视频的过程中,接收弹幕编辑操作。
步骤S802:客户端响应于弹幕编辑操作,呈现样式编辑界面。
在一些实施例中,可以在接收到针对视频的播放界面上设置的特定热键的操作(如点击操作或长按操作等)时,呈现样式编辑界面。
示例的,如图4所示,当用户在观看视频的过程中想要发送弹幕时,可以通过点击播放界面上设置的“样式”按键,进而使客户端呈现出样式编辑界面。其中,样式编辑界面可以悬浮显示于所播放的视频之上,或者独立于视频的播放界面进行显示。
步骤S803:客户端通过样式编辑界面接收弹幕内容、以及针对弹幕内容设置的弹幕样式。
其中,样式编辑界面包括样式调整区域和样式预览区域。通过样式调整区域接收待发送的弹幕内容、以及针对弹幕内容设置的弹幕样式。样式预览区域用于实时显示应用设置后的弹幕样式的弹幕内容。
步骤S804:客户端接收确认操作。
如图5A或图5B所示,用户在样式预览区域对编辑后的弹幕样式进行预览,当用户确认效果后(即编辑后的弹幕样式符合用户需求),点击“发送”按键,即进入后续的发送流程。
步骤S805:客户端发送弹幕内容和弹幕样式至服务器。
客户端在将弹幕发送至服务器时,不仅会发送弹幕内容,还会发送针对弹幕内容设置的弹幕样式。其中,弹幕样式可以是弹幕内容包括的各个字符所对应的坐标位置所组成的一组坐标数据。以图6的心形弹幕为例,弹幕内容包括的各个字符对应的坐标如下:这(2,1),是(3,2),我(4,1),的(5,2),弹(4,3),幕(3,4),内(2,3),容(1,2),以及三个星号的坐标分别为(2,2),(4,2)和(3,3)。这组坐标是以7×7的网格坐标系计算出来的,但实际上心形弹幕占据的位置仅需5×4的尺寸,所以这组坐标会经过一次坐标转换,转换为图9所示的坐标系中的坐标。经过转换后每个字符对应的坐标如下:这(1,0),是(2,1),我(3,0),的(4,1),弹(3,2),幕(2,3),内(1,2),容(0,1),以及三个星号的坐标分别为(1,1),(3,1),(2,2)。转换后的坐标数据将作为一条弹幕样式数据发送给服务器存储下来。
步骤S806:客户端接收服务器下发的弹幕内容和弹幕样式。
客户端在请求弹幕数据时,也会从服务器获取每条弹幕完整的坐标数据。这里的客户端可以是所有观看该视频并开启弹幕功能的客户端,也可以仅是与弹幕编辑账号具有社交关系的用户账号所关联的客户端。仍以上述心形弹幕为例,客户端从服务器下载到的一条弹幕数据为:这(1,0),是 (2,1),我(3,0),的(4,1),弹(3,2),幕(2,3),内(1,2),容(0,1),以及三个星号的坐标分别为(1,1),(3,1),(2,2)。
步骤S807:客户端根据样式规则解析还原弹幕样式。
步骤S808:客户端在多媒体播放界面上呈现符合弹幕样式的弹幕内容。
客户端在接收到服务器下发的弹幕数据后,首先根据坐标位置确定这条弹幕需要占据的屏幕大小。以上述心形弹幕为例,客户端首先根据坐标位置确定出这条弹幕需要占据的屏幕大小为5×4的网格区域。然后,将每个字符填入到该5×4的网格区域中对应的位置,从而得到该弹幕的形状,并按照该形状绘制弹幕内容到屏幕中,如此,便形成了最后屏幕上具备自定义样式的弹幕内容。
本申请实施例提供的弹幕处理方法,可以按照模型-视图-控制器(MVC,Model-View-Controller)架构实现为三层,包括:展示层、控制层和数据层。
其中,展示层的界面示意图如图5A所示,包括:左侧的样式调整区域和右侧的样式预览区域。下面分别具体介绍这两个区域。
样式调整区域为一个可调整文字位置的网格区域,每个网格都是由一个输入文本组件(EditText)实现,每个网格限制填充字符个数为1个。通过监听点击事件,当用户点击某个网格时,对应的输入文本组件进行响应,用户通过输入法输入的字符也会显示在每个网格中。整个网格区域通过7×7的独立网格平铺而成,每个网格会记录自己的坐标位置。
根据左侧样式调整区域中网格的坐标位置与其中字符之间的对应关系,在右侧的样式预览区域中绘制出该弹幕的最终样式,该预览窗口可以通过自定义的文本控件(TextView)实现,在该自定义的文本控件内完成每个字符在不同坐标位置的绘制与显示。
其中,控制类的示意图如图10所示,包含了数据类(DamakuData)和弹幕样式窗口(DanmaStyleView)。控制类的作用是作为数据类和展示类的桥梁,将二者的功能结合起来,封装成类给外界调用。如此,可以很好地将逻辑和界面分开,仅仅提供一个实现,就能完成一个功能。其可以实现的功能包括:组织弹幕数据、创建弹幕样式、向服务器发送新的弹幕内容和弹幕样式、解析服务器返回的弹幕样式等。
其中,数据层主要用于处理弹幕数据在客户端与服务器之间的发送和解析。数据类的示意图如图11所示,数据类(DamakuData)负责存储所有的弹幕数据,且以列表(DanmakuList)的形式进行存储。单一弹幕(DanmukuItem)包含文本数据(mText)和位置数据(mPosition),其中,位置数据包含了文字对应的x坐标和y坐标。经过弹幕样式调整区域创建的带有弹幕样式的弹幕内容对应一条单一弹幕。控制层也是通过对数据类的解析进行弹幕内容的样式显示。
本申请实施例提供的弹幕处理方法,增加了弹幕的表现形式,除了可 以将弹幕内容以一行文本的样式显示在屏幕中,还可以让用户自定义弹幕内容的样式。同时,弹幕样式会与弹幕内容一同保存在服务器中,实现了弹幕样式的持久性存储。本申请实施例提供的弹幕处理方法,丰富了弹幕的表现形式,使得弹幕功能更加具有趣味性,进而增加了用户使用弹幕功能的意愿;同时,显示的弹幕内容能够更加容易吸引用户关注,提升显示弹幕内容所耗费的计算资源的实际利用率。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的弹幕处理方法,例如,如图3A、图3B、图3C、图8示出的弹幕处理方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上,通过本申请实施例具有以下有益效果:
在用户需要发送弹幕时,提供给用户针对弹幕内容设置自定义的弹幕样式的能力,用户可以将自己想要发送的弹幕内容进行不同形状的排列,或者添加颜色、特效、设置弹幕类型等,并以用户自定义设置的弹幕样式显示弹幕内容,丰富了弹幕内容的表现形式,使得弹幕功能更加具有趣味性,进而增加了用户使用弹幕功能的意愿。
以上,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。