掌桥专利:专业的专利平台
掌桥专利
首页

弹幕展现方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:44:28


弹幕展现方法、装置、电子设备及存储介质

技术领域

本公开涉及计算机技术领域,尤其涉及弹幕展现方法、装置、电子设备及存储介质。

背景技术

随着互联网视频平台的不断发展,用户在通过互联网视频平台观看视频时,通常会以弹幕的形式来表达自己对于视频内容的看法。现有弹幕通常将文字消息以滚动形式显示在视频画面上,这种弹幕显示方式比较单一,无法提升用户在观看视频时的参与感。

发明内容

根据本公开的第一方面,提供了一种弹幕展现方法,包括:

获取目标弹幕的弹幕信息;所述弹幕信息包括弹幕书写轨迹;

在目标终端的屏幕上显示所述目标弹幕的弹幕书写轨迹;其中,所述弹幕书写轨迹从所述屏幕的第一端向所述屏幕的第二端移动显示。

根据本公开的第二方面,提供了一种弹幕展现装置,包括:

弹幕获取模块,用于获取目标弹幕的弹幕信息;所述弹幕信息包括弹幕书写轨迹;

弹幕展现模块,用于在目标终端的屏幕上显示所述目标弹幕的弹幕书写轨迹;其中,所述弹幕书写轨迹从所述屏幕的第一端向所述屏幕的第二端移动显示。

根据本公开的第三方面,提供了一种电子设备,包括:

处理器;以及,

存储程序的存储器;

其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据本公开示例性实施例所述的方法。

根据本公开的第四方面,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行根据本公开示例性实施例所述的方法。

本公开实施例中提供的一个或多个技术方案,通过获取目标弹幕的弹幕信息,并在目标终端的屏幕上显示目标弹幕的弹幕书写轨迹。具体方法包括:弹幕书写轨迹从屏幕的第一端向屏幕的第二端移动显示。弹幕以滚动形式显示在视频画面上的同时,把弹幕书写轨迹作为弹幕内容动态展现,可以让用户看见弹幕的生成过程,不仅体现用户个性,还能提升用户实时参与的感觉和趣味。

附图说明

在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:

图1示出了本公开示例性实施例的弹幕展现方法的流程图;

图2A示出了目标弹幕在视频播放界面的动态生成过程效果图;

图2B示出了目标弹幕在视频播放界面生成完毕的效果图;

图3示出了根据本公开示例性实施例的弹幕展现装置的功能模块示意性框图;

图4示出了根据本公开示例性实施例的芯片的示意性框图;

图5示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。

例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。

作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。

在视频播放界面或游戏界面,每个用户都可以通过发送弹幕的方式来表达自己的看法,比如,用户可以点击视频播放界面或者游戏界面中的发布弹幕按钮打开弹幕编辑页面,用户在弹幕编辑页面输入通过手写的方式书写弹幕内容,书写完毕后,点击提交按钮,触发发布弹幕指令。响应于发布弹幕指令,目标终端将弹幕书写轨迹发送至服务器端,服务器接收到弹幕书写轨迹后,计算目标弹幕在屏幕中的移动速度,并把弹幕书写轨迹和移动速度下发至目标终端,在目标终端的屏幕上以移动速度显示目标弹幕的弹幕书写轨迹。

具体地,为了适应不同的屏幕尺寸和用户观看习惯,本公开实施例中,可以获取目标弹幕在屏幕中的显示时长和目标弹幕的书写时长,并判断两者之间的大小关系,在显示时长小于书写时长的情况下,可以增大目标弹幕在屏幕中显示弹幕书写轨迹的展示速度,或者减小目标弹幕在屏幕中的移动速度。

本公开示例性实施例中,用户打开终端设备观看视频或者玩游戏时,可以通过发送弹幕的形式来表达自己的看法。其中,终端设备可以是具有显示屏并且支持视频播放的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、便携计算机和台式计算机等等。并且,终端设备的显示屏是支持触摸功能的屏幕,用户可以通过手指的触摸或手写笔的触摸在显示屏上输入文字轨迹。

示例性的,在视频播放的界面,可以设置一个弹幕图标,用户点击此弹幕图标,可以发出弹幕编辑指令。服务器接收到编辑弹幕指令后,触发弹幕编辑功能的开启。

在一种可选的方式中,可以在视频播放页面弹出弹幕编辑界面,弹幕编辑界面对视频播放界面不构成遮挡。

在一种可选的方式中,弹幕编辑界面可以包括:弹幕输入区域、弹幕属性设置区域和弹幕效果预览区域。

示例性的,用户可以通过手指的触摸或手写笔的触摸在弹幕输入区域对应的显示屏上输入文字和图案。除了手指触摸和手写笔触摸外,还可以支持语音输入、键盘输入等多种输入方式,以满足用户的个性化需求。

除了文字输入,弹幕输入区域还可以提供绘图工具,使用户可以直接绘制图案、涂鸦或表情符号,增加弹幕的多样性和趣味性,丰富弹幕的内容表达方式。并允许用户根据需要调整弹幕输入区域的大小,以适应不同屏幕尺寸和输入习惯。

示例性的,弹幕属性设置区域可以包括以下功能:

弹幕透明度调整:确保滚动播放的弹幕不会遮挡视频播放界面,可以通过调整弹幕的透明度,使其更加半透明或轻盈,以便用户同时享受视频内容和弹幕信息。

弹幕位置优化:考虑到不同屏幕尺寸和宽高比,提供多种弹幕显示位置选项,如顶部、底部、左侧、右侧等,让用户根据个人喜好选择最合适的位置。

弹幕大小和字体调整:允许用户根据自己的视觉需求,自定义弹幕的大小和字体样式,确保弹幕清晰可读,并适应不同设备的显示。

弹幕颜色主题:提供多种弹幕颜色主题供用户选择,或者自动根据视频内容进行颜色匹配,以增加弹幕的可视性和视觉吸引力。

弹幕过滤和屏蔽:允许用户自定义过滤和屏蔽不想看到的弹幕内容,以减少干扰和提升用户体验。

弹幕互动功能:增加用户对弹幕的互动性,例如点赞、回复、分享等,促进用户之间的交流和社区感。

弹幕时间轴控制:提供用户对弹幕显示时间的控制,允许用户根据自己的喜好调整弹幕出现和消失的时间,以避免弹幕过快或过慢。

弹幕内容管理:设立严格的弹幕内容管理机制,过滤和阻止不适当或违法的弹幕内容,确保弹幕环境的积极健康。

多语言支持:提供多种语言的弹幕生成和显示功能,以满足不同地区和用户的语言需求。

弹幕历史记录:为用户提供弹幕的历史记录功能,让用户可以随时查看之前的弹幕信息,方便回顾和参与讨论。

示例性的,用户编辑完弹幕内容后,弹幕效果预览区域可以提供实时预览功能,将弹幕书写轨迹以动态生成的动画效果显示在弹幕效果预览区域上,方便用户调整和确认弹幕的效果。且确保弹幕效果预览功能在不同设备和平台上的兼容性,例如手机、平板、电脑等,让用户可以在多种设备上使用弹幕效果预览功能。

示例性的,在弹幕编辑界面,可以设置一个弹幕发布图标,用户点击此弹幕发布图标,可以发出弹幕编辑完成指令。服务器接收到弹幕编辑完成指令后,触发弹幕信息处理功能的开启。弹幕信息处理功能可以包括:

获取用户的弹幕书写轨迹、书写顺序、开始书写时间、结束书写时间和目标终端的屏幕尺寸信息,并提交到服务器端。

示例性的,弹幕书写轨迹可以是用户手写的字体或者使用编辑器的字体,在一种可选的方式中,可以使用机器学习或者模式识别技术进行轨迹分析和转换。

书写顺序可以是用户手写的笔画顺序,描画图案或表情包的先后顺序或者是使用输入法打字的输入顺序。在弹幕编辑界面,记录用户的弹幕书写轨迹和书写顺序,并使用轨迹识别算法将书写轨迹转换为弹幕内容的动态生成效果,按照书写顺序显示弹幕内容。

开始书写时间可以是用户开始书写弹幕的时间,并与视频播放的时间同步,确保字幕的出现时间与相关内容的一致性,提供更好的用户体验。

结束书写时间可以是用户在弹幕编辑界面点击弹幕发布图标的时间。

目标终端的屏幕尺寸信息可以是用户终端屏幕的长度、宽度以及屏幕状态,其中屏幕状态包括横屏状态和竖屏状态。根据用户目标终端的屏幕尺寸信息,对字幕进行适配和调整,以确保字幕在不同屏幕尺寸上的显示效果良好。

服务器端基于屏幕尺寸信息和弹幕移动速度,获得弹幕展示总时长。

为了确保弹幕内容能适配每一个用户的终端屏幕,服务器端会获取每个用户对应的目标终端的屏幕尺寸信息以及弹幕移动速度。其中,弹幕移动速度为每个用户在终端设置的自己喜欢的弹幕移动速度,以满足不同用户对弹幕速度的个性化需求。

服务器端接收到弹幕内容后,可以根据每个用户的屏幕尺寸信息和弹幕移动速度计算出弹幕展示总时长,以确保弹幕在不同终端上的长度和显示效果一致,并且在所有用户终端上实现弹幕的同步展示,通过有效的网络传输和时间同步机制,所有用户可以同时观看到弹幕的展示。

示例性的,在屏幕状态为横屏状态的情况下,可以基于屏幕长度和移动速度,确定目标弹幕在屏幕中的显示时长。在屏幕状态为竖屏状态的情况下,可以基于屏幕宽度和移动速度,确定目标弹幕在屏幕中的显示时长。

在一种可选的方式中,弹幕展示总时长的计算过程可以通过下述公式(1)表示:

DT = SL / MV                            (1)

其中,DT:表示目标弹幕在屏幕中的显示时长,SL:在横屏状态的情况下表示屏幕长度,在竖屏状态的情况下表示屏幕度,MV:表示预先设置的移动速度。

由此可见,弹幕信息处理功能可以计算目标弹幕在屏幕中的显示时长,并实现在所有用户终端上展示弹幕的同步效果,提升用户在视频播放界面或游戏界面中弹幕互动的体验和效果。

计算弹幕书写轨迹的书写时长和书写轨迹长度。

在一种可选的方式中,为了获取弹幕书写轨迹的书写时长可以使用结束书写时间减去开始书写时间,书写时长的计算过程可以通过下述公式(2)表示:

WT = wt

其中,WT:表示弹幕书写轨迹的书写时长,wt

在一种可选的方式中,可以根据弹幕书写轨迹的数据,计算弹幕内容的书写轨迹长度CS。可以将弹幕轨迹中每个点之间的距离相加,或者使用其他算法计算整个轨迹的长度,以衡量弹幕的复杂程度和形态特征。

在一种可选的方式中,还可以对书写时长和轨迹长度进行关联分析,通过分析不同弹幕的书写时长和轨迹长度之间的关系,可以揭示用户在书写弹幕时的行为模式和倾向。例如,较长的书写时长可能意味着用户在书写复杂的弹幕内容,而较大的轨迹长度之和可能反映出用户对于视觉效果的追求。

在一种可选的方式中,还可以根据用户的书写时长和书写轨迹的复杂度,动态调整弹幕的显示时长和移动速度,以保持弹幕的平衡和合理性。较长的书写时长可以延长弹幕的展示时间,较大的轨迹长度之和可以加快弹幕的移动速度,以便更好地展示用户的弹幕内容。

计算书写速度,并基于书写速度获得目标弹幕在屏幕中显示弹幕书写轨迹的展示速度。

在一种可选的方式中,为了获取书写速度,可以使用书写轨迹长度除以书写时长,这样可以了解用户在书写弹幕时的相对快慢程度。用户书写速度的计算过程可以通过下述公式(3)表示:

WV = CS / WT                          (3)

其中,WV:表示书写速度,CS:表示书写轨迹长度,WT:表示弹幕书写轨迹的书写时长。

在一种可选的方式中,可以通过比较目标弹幕在屏幕中的显示时长和书写时长,确定展示速度。

在显示时长大于等于书写时长的情况下,表示当前用户的目标终端的屏幕尺寸够大或设置的弹幕移动速度够慢,目标弹幕的显示时长足够长,因此,展示速度可以与书写速度相同,意味着弹幕将以用户书写的速度进行展示。该步骤可以通过下述公式(4)表示:

如果DT >= WT,则 DV=WV               (4)

其中,DT:表示弹幕显示时长,WT:表示书写时长,DV:表示展示速度,WV:表示书写速度。

在显示时长小于书写时长的情况下,表示弹幕显示时长较短,为了使弹幕完整地展示在屏幕上,需要对弹幕的展示速度进行调整。

在一种可选的方式中,可以根据比例关系,将书写速度乘以书写时长和显示时长的比值,得到弹幕的展示速度,确保弹幕在较短的显示时长内能够完整地显示。该步骤可以通过下述公式(5)表示:

如果DT < WT,则 DV=(WT/DT)*WV               (5)

其中,DT:表示弹幕显示时长,WT:表示书写时长,DV:表示展示速度,WV:表示书写速度。

在一种可选的方式中,可以将弹幕的展示速度做成可设置的调节滑块或输入框等交互方式,提供给用户选择使用。用户可以根据自己的喜好和需求,选择不同的展示速度,以满足不同的弹幕展示效果。在速度设置界面上还可以提供实时预览功能,让用户可以即时调整速度参数,并观察弹幕的展示效果,以便进行适当的调整和确认,增加了用户对弹幕展示效果的个性化控制。

示例性的,弹幕信息处理功能处理完毕后,服务器端可以将弹幕的展示速度和弹幕书写轨迹下发给所有用户的客户端。客户端按照展示速度和弹幕书写轨迹的书写顺序开始确定每一笔的内容,并按照弹幕书写轨迹确定每一笔的笔画形状。最后,在每个用户的客户端开始展示弹幕书写轨迹。

具体的,服务器端将展示速度、弹幕书写轨迹和书写顺序下发给所有用户的客户端,保证多个客户端上的弹幕内容同步展示。这样可以确保所有用户在同一时间观看到相同的弹幕内容和书写轨迹。

根据用户提交的弹幕书写轨迹的书写顺序,在客户端确定每一笔的内容。按照书写顺序依次显示弹幕书写轨迹,使弹幕的展示具有连贯性和逐步呈现的效果。

在一种可选的方式中,根据弹幕书写轨迹,客户端可以采用合适的绘制算法,在目标终端的屏幕上绘制每一笔的笔画形状。通过模拟用户书写的轨迹,呈现出逼真的书写效果。

在一种可选的方式中,根据展示速度,客户端可以控制每一笔的书写速度和动画效果。可以根据展示速度的快慢,调整笔画的绘制速度和过渡效果,以营造流畅且自然的弹幕展示效果。

同时,客户端可以针对不同终端设备和屏幕尺寸进行适配和优化,确保弹幕的展示效果在不同设备上具有良好的可视性和可读性。

本公开示例性实施例中的弹幕展现方法,还可以包括弹幕数据保存功能,通过保存用户书写的弹幕数据,包括弹幕书写轨迹、书写顺序、开始书写时间和结束书写时间等,以便用户在需要时进行查看、编辑和分享。

本公开示例性实施例中的弹幕展现方法,还可以包括弹幕效果与用户反馈的关联分析功能,通过将弹幕书写时长、轨迹长度和用户对弹幕的反馈进行关联分析,例如通过用户评分、点赞或评论等方式。这样可以了解用户对于不同弹幕形态和互动体验的喜好,为后续的弹幕优化和个性化推荐提供依据。

基于此,本公开示例性实施例获取目标弹幕的弹幕信息,并在目标终端的屏幕上显示目标弹幕的弹幕书写轨迹。其中,弹幕书写轨迹从屏幕的第一端向屏幕的第二端移动显示。具体方法包括:获取目标弹幕在屏幕中的显示时长和目标弹幕的书写时长,在显示时长小于书写时长的情况下,增大目标弹幕在屏幕中显示弹幕书写轨迹的展示速度,或者减小目标弹幕在屏幕中的移动速度。

本公开示例性实施例中提供的一个或多个技术方案,其中,可以基于屏幕尺寸信息、屏幕状态和预先设置的移动速度,确定目标弹幕在屏幕中的显示时长,好处在于可以根据不同用户的屏幕尺寸信息,对弹幕进行适配和调整,可以确保弹幕在不同屏幕尺寸上的显示效果良好。而获取用户预先设置的移动速度可以满足不同用户对弹幕速度的个性化需求。在显示时长小于书写时长的情况下,表示弹幕的显示时长较短,为了使弹幕完整地展示在屏幕上,需要增大目标弹幕在屏幕中显示弹幕书写轨迹的展示速度,或者减小目标弹幕在屏幕中的移动速度。在显示时长不小于书写时长的情况下,意味着目标弹幕以书写速度进行展示可以在有限的显示时长中显示完整的弹幕书写轨迹,因此,可以获取目标弹幕的书写速度,并基于目标弹幕的书写速度确定目标弹幕在屏幕中显示弹幕书写轨迹的展示速度。真实还原用户在书写目标弹幕时的书写场景,体现了用户个性,并进一步促进用户进行弹幕创作和分享的欲望,提高用户活跃度。目标弹幕包括多个字符,获取多个字符之间的书写顺序,按照书写顺序在目标终端的屏幕上显示多个字符的弹幕书写轨迹。好处在于,可以在客户端按照书写顺序确定每一笔的内容和绘制笔画形状,从而实现逼真的弹幕书写轨迹展示。

因此,本公开示例性实施例中提供的弹幕展现方法不仅把弹幕书写轨迹作为弹幕内容动态展现,同时,还能根据不同的屏幕尺寸和用户喜好计算对应的展示速度,增强弹幕的趣味性和用户参与度。

基于上述实施例,本公开还提供的一种弹幕展现方法,图1示出了本公开示例性实施例的弹幕展现方法的流程图,如图1所示,该方法可以包括如下步骤:

步骤S110:获取目标弹幕的弹幕信息。其中,弹幕信息包括弹幕书写轨迹。

实施例中,用户打开终端设备观看视频或者玩游戏时,可以通过发送弹幕的形式来表达自己的看法。在视频播放的界面,可以设置一个弹幕图标,用户点击此弹幕图标,可以发出弹幕编辑指令。服务器接收到编辑弹幕指令后,触发弹幕编辑功能的开启。在弹幕编辑界面中,用户可以通过手指的触摸或手写笔的触摸输入文字或绘制图案。

实施例中,在弹幕编辑界面,可以设置一个弹幕发布图标,用户编辑完弹幕内容后,点击此弹幕发布图标,可以发出弹幕编辑完成指令。响应于弹幕编辑完成指令,目标终端可以获取目标弹幕的弹幕书写轨迹,并发送至服务器端。

步骤S120:在目标终端的屏幕上显示目标弹幕的弹幕书写轨迹。其中,弹幕书写轨迹从屏幕的第一端向屏幕的第二端移动显示。

实施例中,服务器端确定了目标弹幕在屏幕中显示弹幕书写轨迹的展示速度后,将弹幕书写轨迹和展示速度下发给用户的目标终端。在目标终端的屏幕上,以展示速度显示一笔一划完成文字的弹幕书写轨迹,其他玩家或者观众也可以看到文字书写的全过程,而不是只看到文字书写的结果,弹幕本身会带有动态生成的动画效果。弹幕书写轨迹显示的同时,弹幕书写轨迹从屏幕的第一端向屏幕的第二端移动显示,其中,屏幕的第一端可以是屏幕的右侧,屏幕的第二端可以是屏幕的左侧。

基于上述实施例,在本公开提供的又一实施例中,上述步骤S120具体可以包括以下步骤:

步骤S121:目标弹幕包括多个字符,获取多个字符之间的书写顺序。

步骤S122:按照书写顺序在目标终端的屏幕上显示多个字符的弹幕书写轨迹。

实施例中,目标弹幕中的多个字符包括但不限于:汉字、数字、字母、标点符号和表情包。获取目标弹幕中多个字符之间的书写顺序包括:可以按照用户书写目标弹幕的书写顺序开始确定第一笔的内容。示例性的,目标弹幕的内容为“加油”,用户在书写过程中第一个字是写“加”字,第二个字写“油”字,则该目标弹幕中字符的书写顺序是先写“加”字再写“油”字。

实施例中,书写顺序还包括字符的笔画书写顺序。可以根据用户书写目标弹幕的笔画书写顺序确定每个字符的笔画书写顺序。示例性的,用户在写“加”字时,第一笔是横折钩,第二笔是撇,第三笔是竖,第四笔是横折,第五笔是横,最后完成“加”字的书写。则该目标弹幕中字符的笔画书写顺序与用户书写时的笔画书写顺序相同。

实施例中,目标终端的屏幕按照书写顺序显示多个字符的弹幕书写轨迹。其中,可以先获取目标弹幕中多个字符间的书写顺序,再获取每个字符的笔画书写顺序。示例性的,目标弹幕为“加油”,其中字符间的书写顺序是先写“加”字再写“油”字。再分别获取“加”字和“油”字的笔画书写顺序,其中“加”字的笔画书写顺序是:第一笔是横折钩,第二笔是撇,第三笔是竖,第四笔是横折,第五笔是横。获取完目标弹幕中多个字符间的书写顺序和每个字符的笔画书写顺序后,开始按照书写顺序在目标终端的屏幕上显示多个字符的弹幕书写轨迹。

示例性的,图2A示出了目标弹幕在视频播放界面的动态生成过程效果图。如图2A所示,目标终端的屏幕左侧为视频播放界面,屏幕右侧为控制目标弹幕的展示速度调节器和移动速度调节器。目标弹幕在视频播放界面的右端向视频播放界面的左端移动,在移动过程中,弹幕书写轨迹按书写顺序动态生成。如图2A所示,向视频播放界面的左端移动的过程中,弹幕书写轨迹生成了目标弹幕“加油”中“加”字的第一笔是横折钩和第二笔是撇。

示例性的,图2B示出了目标弹幕在视频播放界面生成完毕的效果图。如图2B所示,向视频播放界面的左端移动的过程中,弹幕书写轨迹按照字符间书写顺序和每个字符的笔画顺序生成了目标弹幕“加油”二字,此时,目标弹幕已经移动到视频播放界面的靠左端。

因此,根据目标弹幕的书写顺序显示弹幕书写轨迹,使弹幕的展示具有连贯性和逐步呈现的效果,模拟出用户实时书写弹幕的场景,提升用户在观看视频时的参与感。

上述弹幕展现方法还包括以下步骤:

步骤S130:获取目标弹幕在屏幕中的显示时长和目标弹幕的书写时长。

实施例中,服务器端接收到目标弹幕的弹幕书写轨迹后,为了确保目标弹幕在不同终端上的长度和显示效果一致,并且在所有用户终端上实现弹幕的同步展示,需要获取每个用户终端的目标弹幕在屏幕中的显示时长和目标弹幕的书写时长。其中,目标弹幕在屏幕中的显示时长可以是目标弹幕从屏幕的第一端移动到屏幕第二端的时长,目标弹幕的书写时长可以是弹幕书写轨迹动态生成的时长。

步骤S140:在显示时长小于书写时长的情况下,增大目标弹幕在屏幕中显示弹幕书写轨迹的展示速度,或者减小目标弹幕在屏幕中的移动速度。

实施例中,在显示时长小于书写时长的情况下,表示弹幕的显示时长较短,为了使弹幕完整地展示在屏幕上,可以选择增大目标弹幕在屏幕中显示弹幕书写轨迹的展示速度,或者,选择减小目标弹幕在屏幕中的移动速度。

在一种可选的方式中,可以根据显示时长和书写时长的比例关系,调整目标弹幕在屏幕中显示弹幕书写轨迹的展示速度,确保目标弹幕在较短的显示时长内完整展现弹幕书写轨迹。示例性的,根据显示时长和书写时长的比例关系,调整目标弹幕在屏幕中显示弹幕书写轨迹的展示速度可以通过上述公式(5)表示。

基于上述实施例,在本公开提供的又一实施例中,上述步骤S130具体可以包括以下步骤:

步骤S131:获取屏幕的屏幕尺寸信息,及目标弹幕在屏幕中预先设置的移动速度。

实施例中,屏幕的屏幕尺寸信息可以包括目标终端的屏幕长度和屏幕宽度,根据不同用户的屏幕尺寸信息,对弹幕进行适配和调整,可以确保弹幕在不同屏幕尺寸上的显示效果良好。目标弹幕在屏幕中预先设置的移动速度可以是每个用户在目标终端设置的自己喜欢的弹幕移动速度,获取用户预先设置的移动速度可以满足不同用户对弹幕速度的个性化需求。

步骤S132:基于屏幕尺寸信息和移动速度,确定目标弹幕在屏幕中的显示时长。

实施例中,可以根据每个用户的屏幕尺寸信息和目标弹幕在屏幕中预先设置的移动速度计算出目标弹幕在屏幕中的显示时长。示例性的,目标弹幕在屏幕中的显示时长可以通过上述公式(1)表示。由此可见,基于屏幕尺寸信息和移动速度计算目标弹幕在屏幕中的显示时长,可以实现在所有用户终端上展示弹幕的同步效果,提升用户在视频播放界面或游戏界面中弹幕互动的体验和效果。

基于上述实施例,在本公开提供的又一实施例中,获取屏幕的屏幕尺寸信息还包括获取目标终端当前的屏幕状态,屏幕状态包括横屏状态或者竖屏状态。在屏幕状态为横屏状态的情况下,基于屏幕长度和移动速度,确定目标弹幕在屏幕中的显示时长。在屏幕状态为竖屏状态的情况下,基于屏幕宽度和移动速度,确定目标弹幕在屏幕中的显示时长。基于目标终端当前的屏幕状态和移动速度确定目标弹幕在屏幕中的显示时长,可以对弹幕进行适配和调整,确保弹幕在不同屏幕状态上的显示效果良好。

基于上述实施例,在本公开提供的又一实施例中,可以通过接收用户针对目标速度控件的触发操作获取目标弹幕在屏幕中预先设置的移动速度。其中,目标速度控件包括多个不同的速度。响应于触发操作,将触发操作对应的速度作为预先设置的移动速度。

示例性的,可以将目标速度控件做成可设置的调节滑块或输入框等交互方式,提供给用户选择使用。用户可以根据自己的喜好和需求,选择不同的移动速度,以满足不同的弹幕展示效果。获取到用户设置的移动速度后,可以将该移动速度确定为预先设置的移动速度,使得弹幕的移动速度满足用户的喜好。

基于上述实施例,在本公开提供的又一实施例中,上述步骤S140具体可以包括以下步骤:

步骤S141:在显示时长不小于书写时长的情况下,获取目标弹幕的书写速度。

步骤S142:基于目标弹幕的书写速度确定目标弹幕在屏幕中显示弹幕书写轨迹的展示速度。

实施例中,在显示时长大于等于书写时长的情况下,表示用户的目标终端的屏幕长度够长或设置的弹幕移动速度够慢,目标弹幕在目标终端的屏幕的显示时间足够长。意味着目标弹幕以书写速度进行展示可以在有限的显示时长中显示完整的弹幕书写轨迹。因此,可以将目标弹幕的书写速度确定为目标弹幕在屏幕中显示弹幕书写轨迹的展示速度。示例性的,该步骤可以通过上述公式(4)表示。在显示时长不小于书写时长的情况下,将目标弹幕的书写速度确定为目标弹幕在屏幕中显示弹幕书写轨迹的展示速度,不仅可以确保目标弹幕在有限的显示时间内完整显示弹幕书写轨迹,还可以真实还原用户在书写目标弹幕时的书写场景,体现了用户个性,并进一步促进用户进行弹幕创作和分享的欲望,提高用户活跃度。

基于上述实施例,在本公开提供的又一实施例中,上述步骤S141具体可以包括以下步骤:

步骤S1411:获取用户在书写目标弹幕过程中的书写轨迹长度。

步骤S1412:基于书写时长和书写轨迹长度,确定书写速度。

实施例中,可以根据书写时长和书写轨迹长度,确定书写速度。其中,书写轨迹长度可以从用户书写目标弹幕过程中获取,示例性的,可以将弹幕书写轨迹中每个点之间的距离相加,或者使用其他算法计算整个弹幕书写轨迹的长度,以衡量弹幕的复杂程度和形态特征。

实施例中,书写时长可以根据目标弹幕的开始书写时间和结束书写时间计算。示例性的,可以将用户写下第一笔作为目标弹幕的开始书写时间,可以将用户点击提交弹幕按钮的时间作为目标弹幕的结束书写时间,计算过程可以用上述公式(2)表示。

实施例中,可以基于书写时长和书写轨迹长度,确定书写速度。示例性的,为了获取书写速度,可以使用书写轨迹长度除以弹幕书写轨迹时长,该计算过程可以通过上述公式(3)表示。通过计算书写速度可以了解用户在书写弹幕时的相对快慢程度。

本公开实施例中提供的一个或多个技术方案,通过获取目标弹幕的弹幕信息,并在目标终端的屏幕上显示目标弹幕的弹幕书写轨迹。其中,弹幕书写轨迹从屏幕的第一端向屏幕的第二端移动显示。具体方法包括:获取目标弹幕在屏幕中的显示时长和目标弹幕的书写时长,在显示时长小于书写时长的情况下,增大目标弹幕在屏幕中显示弹幕书写轨迹的展示速度,或者减小目标弹幕在屏幕中的移动速度。通过不同的屏幕尺寸和用户喜好计算对应的展示速度,并根据展示速度显示弹幕书写轨迹,可以展现目标弹幕的动态生成过程,更好地增强弹幕的趣味性和用户参与度。

上述主要从方法的角度对本公开实施例提供的方案进行了介绍。可以理解的是,为了实现上述功能,本公开示例性实施例的方法对应的装置包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。

本公开实施例可以根据上述方法示例对服务器进行功能单元的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种弹幕展现装置,该弹幕展现装置可以为服务器或应用于服务器的芯片。图3示出了根据本公开示例性实施例的弹幕展现装置的功能模块示意性框图。如图3所示,该弹幕展现装置300包括:

弹幕获取模块310,用于获取目标弹幕的弹幕信息,所述弹幕信息包括弹幕书写轨迹。

弹幕展现模块320,用于在目标终端的屏幕上显示所述目标弹幕的弹幕书写轨迹。其中,所述弹幕书写轨迹从所述屏幕的第一端向所述屏幕的第二端移动显示。

在本公开提供的又一实施例中,上述弹幕展现装置300还包括数据处理模块330。

数据处理模块330,用于在所述显示时长小于所述书写时长的情况下,增大所述目标弹幕在所述屏幕中显示所述弹幕书写轨迹的展示速度,或者减小所述目标弹幕在所述屏幕中的移动速度。

在本公开提供的又一实施例中,所述弹幕获取模块310,还用于获取所述目标弹幕在所述屏幕中的显示时长和所述目标弹幕的书写时长。

在本公开提供的又一实施例中,所述弹幕获取模块310具体用于:获取所述屏幕的屏幕尺寸信息,及所述目标弹幕在所述屏幕中预先设置的移动速度,基于所述屏幕尺寸信息和所述移动速度,确定所述目标弹幕在所述屏幕中的显示时长。

在本公开提供的又一实施例中,所述屏幕尺寸信息包括目标终端的屏幕长度和屏幕宽度。所述弹幕获取模块310具体用于:获取所述目标终端当前的屏幕状态,所述屏幕状态包括横屏状态或者竖屏状态。在所述屏幕状态为横屏状态的情况下,基于所述屏幕长度和所述移动速度,确定目标弹幕在所述屏幕中的显示时长。在所述屏幕状态为竖屏状态的情况下,基于所述屏幕宽度和所述移动速度,确定目标弹幕在所述屏幕中的显示时长。

在本公开提供的又一实施例中,所述弹幕获取模块310具体用于:接收用户针对目标速度控件的触发操作,其中,所述目标速度控件包括多个不同的速度。响应于所述触发操作,将所述触发操作对应的速度作为所述预先设置的移动速度。

在本公开提供的又一实施例中,所述目标弹幕包括多个字符。所述弹幕展现模块320具体用于:获取所述多个字符之间的书写顺序,按照所述书写顺序在所述目标终端的屏幕上显示所述多个字符的弹幕书写轨迹。

在本公开提供的又一实施例中,数据处理模块330,还用于在所述显示时长不小于所述书写时长的情况下,获取所述目标弹幕的书写速度。基于所述目标弹幕的书写速度确定所述目标弹幕在所述屏幕中显示所述弹幕书写轨迹的展示速度。

在本公开提供的又一实施例中,数据处理模块330,还用于获取用户在书写所述目标弹幕过程中的书写轨迹长度。基于所述书写时长和所述书写轨迹长度,确定所述书写速度。

图4示出了根据本公开示例性实施例的芯片的示意性框图。如图4所示,该芯片400包括一个或两个以上(包括两个)处理器401和通信接口402。通信接口402可以支持服务器执行上述方法中的数据收发步骤,处理器401可以支持服务器执行上述方法中的数据处理步骤。

可选的,如图4所示,该芯片400还包括存储器403,存储器403可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。

在一些实施方式中,如图4所示,处理器401通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。处理器401控制终端设备中任一个的处理操作,处理器还可以称为中央处理单元(central processin unit,CPU)。存储器403可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器403的一部分还可以包括NVRAM。例如应用中存储器、通信接口以及存储器通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图4中将各种总线都标为总线系统404。

上述本公开实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(diital sinal processin,DSP)、ASIC、现成可编程门阵列(field-prorammable ate array,FPA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。

本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。

本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。

参考图5,现将描述可以作为本公开的服务器或客户端的电子设备500的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。

电子设备500中的多个部件连接至I/O接口505,包括:输入单元506、输出单元507、存储单元508以及通信单元509。输入单元506可以是能向电子设备500输入信息的任何类型的设备,输入单元506可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元507可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元508可以包括但不限于磁盘、光盘。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。

计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(PU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理。上文所描述的各个方法均可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到电子设备500上。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(diital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。

尽管结合具体特征及其实施例对本公开进行了描述,显而易见的,在不脱离本公开的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本公开的示例性说明,且视为已覆盖本公开范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包括这些改动和变型在内。

技术分类

06120116303113