CN106973309A - 一种弹幕生成方法及装置 - Google Patents
一种弹幕生成方法及装置 Download PDFInfo
- Publication number
- CN106973309A CN106973309A CN201710187250.4A CN201710187250A CN106973309A CN 106973309 A CN106973309 A CN 106973309A CN 201710187250 A CN201710187250 A CN 201710187250A CN 106973309 A CN106973309 A CN 106973309A
- Authority
- CN
- China
- Prior art keywords
- barrage
- animation effect
- user
- type
- class function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440236—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/475—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
- H04N21/4756—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for rating content, e.g. scoring a recommended movie
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
- H04N21/4858—End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8126—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种弹幕生成方法及装置,所述弹幕生成方法包括:获取用户输入的弹幕;接收所述用户输入的渲染指令,并根据所述渲染指令渲染所述弹幕;确定所述弹幕对应的动画效果;根据所确定的动画效果,显示渲染后的所述弹幕。本发明实施例的一种弹幕生成方法及装置,最终能够丰富弹幕的展现形式,满足用户的个性化需要。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种弹幕生成方法及装置。
背景技术
目前,在观看视频时,经常出现大量评论从屏幕飘过,效果看上去像是飞行射击游戏里的弹幕,所以将这种有大量的评论出现时的效果称做弹幕。
伴随着直播的大热,弹幕也随之火热起来,成为视频及直播不可或缺的一部分。现有弹幕的表现方式为用户输入简单评论,服务器将用户输入的评论在视频上方划过。但是,这种弹幕的表现方式较为单一,不能满足用户的个性化需求。
发明内容
本发明实施例的目的在于提供一种弹幕生成方法及装置,以丰富弹幕的展现形式,满足用户的个性化需要。具体技术方案如下:
为达到上述发明目的,本发明实施例公开了一种弹幕生成方法,包括:
获取用户输入的弹幕;
接收所述用户输入的渲染指令,并根据所述渲染指令渲染所述弹幕;
确定所述弹幕对应的动画效果;
根据所确定的动画效果,显示渲染后的所述弹幕。
可选地,所述确定所述弹幕对应的动画效果之前,所述方法还包括:
通过预设生成弹幕基类函数,确定所述用户输入的弹幕的属性信息,其中,所述属性信息至少包括内容参数、弹幕位置、标记信息、弹幕生成时间、返回初始位置标识;
根据所述属性信息,通过继承基类函数,确定所述弹幕的类型为悬浮弹幕类型、过场弹幕类型或其他弹幕类型。
可选地,所述确定所述弹幕对应的动画效果,包括:
当所述弹幕为所述悬浮弹幕类型时,通过类函数调用核心动画CoreAnimation,确定所述弹幕对应的字体大小变化动画效果;
当所述弹幕为所述过场弹幕类型时,通过所述类函数调用所述CoreAnimation,确定所述弹幕对应的字体颜色变化动画效果;
当所述弹幕为所述其他弹幕类型时,通过所述类函数调用所述CoreAnimation,确定所述弹幕对应的文字背景色变化动画效果。
可选地,所述获取用户输入的弹幕,包括:
通过弹幕调度器,获取预设时长内当前激活的全部弹幕;
相应的,所述根据所确定的动画效果,显示渲染后的所述弹幕,包括:
根据所确定的动画效果,获取同方向的目标弹幕,通过工厂方法以及弹幕协议,依次显示所述目标弹幕。
可选地,在依次显示所述目标弹幕过程中,所述方法还包括:
当视频暂停时,通过弹幕渲染器,继续显示所述目标弹幕;
当视频再次播放时,当所述目标弹幕显示完成后,通过所述弹幕调度器,获取下一预设时长内当前激活的全部弹幕。
为达到上述发明目的,本发明实施例还公开了一种弹幕生成装置,包括:
第一获取模块,用于获取用户输入的弹幕;
渲染模块,用于接收所述用户输入的渲染指令,并根据所述渲染指令渲染所述弹幕;
第一确定模块,用于确定所述弹幕对应的动画效果;
第一显示模块,用于根据所确定的动画效果,显示渲染后的所述弹幕。
可选地,所述装置还包括:
第二确定模块,用于通过预设生成弹幕基类函数,确定所述用户输入的弹幕的属性信息,其中,所述属性信息至少包括内容参数、弹幕位置、标记信息、弹幕生成时间、返回初始位置标识;
第三确定模块,用于根据所述属性信息,通过继承基类函数,确定所述弹幕的类型为悬浮弹幕类型、过场弹幕类型或其他弹幕类型。
可选地,所述第一确定模块,包括:
字体确定子模块,用于当所述弹幕为所述悬浮弹幕类型时,通过类函数调用核心动画CoreAnimation,确定所述弹幕对应的字体大小变化动画效果;
动画确定子模块,用于当所述弹幕为所述过场弹幕类型时,通过所述类函数调用所述CoreAnimation,确定所述弹幕对应的字体颜色变化动画效果;
背景色确定子模块,用于当所述弹幕为所述其他弹幕类型时,通过所述类函数调用所述CoreAnimation,确定所述弹幕对应的文字背景色变化动画效果。
可选地,所述第一获取模块,具体用于通过弹幕调度器,获取预设时长内当前激活的全部弹幕;
相应的,所述第一显示模块,具体用于根据所确定的动画效果,获取同方向的目标弹幕,通过工厂方法以及弹幕协议,依次显示所述目标弹幕。
可选地,所述装置还包括:
第二显示模块,用于当视频暂停时,通过弹幕渲染器,继续显示所述目标弹幕;
第二获取模块,用于当视频再次播放时,当所述目标弹幕显示完成后,通过所述弹幕调度器,获取下一预设时长内当前激活的全部弹幕。
本发明实施例提供的一种弹幕生成方法及装置,通过接收用户输入的渲染指令对弹幕进行渲染,并对渲染后的弹幕添加动画效果,能够实现弹幕的动态展示,从而丰富弹幕的展现形式,满足用户的个性化需要。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种弹幕生成方法流程图;
图2为本发明实施例的另一种弹幕生成方法流程图;
图3为本发明实施例的一种弹幕生成装置结构示意图;
图4为本发明实施例的另一种弹幕生成装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为达到上述发明目的,本发明实施例公开了一种弹幕生成方法,如图1所示,图1为本发明实施例的一种弹幕生成方法流程图,包括:
S101,获取用户输入的弹幕;
具体地,用户可通过应用程序的前端界面输入弹幕内容,从而后台服务器可以获取用户输入的弹幕内容。
S102,接收用户输入的渲染指令,并根据渲染指令渲染弹幕;
在本步骤中,应用程序的后台管理服务器执行S101获取用户输入的弹幕后,用户可通过应用程序的前端界面输入对该条弹幕的渲染指令,从而应用程序的后台管理服务器接收该用户对该条弹幕内容的渲染指令。渲染指令可为对文字大小的渲染、文字颜色的渲染、文字字体的渲染、对文字添加图片的渲染、弹幕的移动方向、弹幕的展示速度等,具体渲染指令可由用户个性化选择设定。
接收到用户输入的渲染指令后,应用程序通过后台管理服务器按照该条弹幕的渲染指令对弹幕进行渲染。
S103,确定弹幕对应的动画效果;
在本步骤中,应用程序的后台管理服务器执行S102按照渲染指令对弹幕进行渲染后,可根据设定的相关规则,确定该弹幕的动画效果。该相关规则例如可以为将弹幕分类,对于不同类型的弹幕添加不同或者相同的动画效果,具体规则可由开发者设定,在此不一一列举。
需要说明的是,对弹幕添加动画效果以及根据渲染指令对弹幕进行渲染的步骤不分先后次序,两种实施方式都是可取的。任何对弹幕添加不同动画效果的实施方式,都属于发明实施例的保护范围。
S104,根据所确定的动画效果,显示渲染后的弹幕。
在本步骤中,对弹幕进行渲染,并确定对应的动画效果后,可以在应用软件的前端显示界面上按照上述渲染指令以及动画效果,显示添加该动画效果且渲染后的弹幕。
本发明实施例提供的一种弹幕生成方法,通过接收用户输入的渲染指令对弹幕进行渲染,并对渲染后的弹幕添加动画效果,能够实现弹幕的动态展示,从而丰富弹幕的展现形式,满足用户的个性化需要。
可选地,如图2所示,在本发明实施例的弹幕生成方法的一种实施例中,确定弹幕对应的动画效果之前,该方法还包括:
S201,通过预设生成弹幕基类函数,确定用户输入的弹幕的属性信息,其中,属性信息至少包括内容参数、弹幕位置、标记信息、弹幕生成时间、返回初始位置标识;
在本步骤中,应用程序的后台管理服务器获取用户输入的弹幕以及用户输入的渲染指令后,可以通过调用预设生成弹幕基类函数确定该用户输入的弹幕的属性信息。
具体地,根据该用户输入的渲染指令调用预设生成弹幕基类函数BarrageSprite,该BarrageSprite函数可按照用户输入的渲染指令确定弹幕的内容参数、弹幕位置、标记信息、弹幕生成时间、返回初始位置标识等弹幕属性。该BarrageSprite函数的内容参数包括弹幕的基本特征:弹幕字体、弹幕字号、弹幕颜色、弹幕文字背景色、弹幕边框宽度及颜色、边框有无圆角、边框尺寸大小等。
根据该用户输入的渲染指令调用预设生成弹幕基类函数BarrageSprite的弹幕位置的方法-(CGRect)rectWithTime:(NSTimeInterval)time函数,确定该条弹幕的展示位置。
根据该用户输入的渲染指令调用预设生成弹幕基类函数BarrageSprite的修改弹幕有效标记的方法-(void)updateWithTime:(NSTimeInterval)time确定弹幕的有效标记,当该条弹幕还未显示时有效标记为true,当该条弹幕显示过后将有效标记修改为false。
根据该用户输入的渲染指令调用预设生成弹幕基类函数BarrageSprite的弹幕生成时间函数,确定该弹幕的生成时间。其中,使用的生成时间为相对时间,即考虑到弹幕发送后到展示有延时,因此该生成时间指的是弹幕展示的时间。
当用户需要循环显示弹幕时,返回初始位置标识可设为1;当用户不需要循环显示弹幕时,返回初始位置标识可设为0。当用户需要循环显示弹幕时,根据该用户输入的渲染指令调用预设生成弹幕基类函数BarrageSprite的返回初始位置的方法-(CGPoint)originInBounds:(CGRect)rect withSprites:(NSArray*)sprites,实现该弹幕第一次显示完成后,让该弹幕回到显示的初始位置处等待下次显示。
S202,根据属性信息,通过继承基类函数,确定弹幕的类型为悬浮弹幕类型、过场弹幕类型或其他弹幕类型。
在本步骤中,在上述通过预设生成弹幕基类函数确定该用户输入的弹幕的属性信息后,通过调用继承类函数,将用户输入的弹幕对应分类为悬浮弹幕类型、过场弹幕类型或其他弹幕类型。
例如,悬浮弹幕为弹幕内容设定成悬浮方式显示效果的弹幕。在该悬浮弹幕类型中可设定弹幕从上往下或从下往上的悬浮方向,弹幕悬浮在屏幕的左侧、中心或者右侧的悬浮位置,弹幕的悬浮时间,弹幕出现时的隐入时间及隐出时间等,还可以设置弹幕的运动轨迹等。
过场弹幕为弹幕内容只是从屏幕划过的弹幕。在过场弹幕类型中,可设置弹幕的移动方向,控制弹幕移动方向是从右往左、从左往右、从上往下、从下往上或者是在屏幕侧边移动的方式,设置弹幕的移动速度等。其余弹幕类型,可由开发者自行定义设定,在此不一一列举。
可见,按照用户输入的弹幕的渲染指令,调用预设生成弹幕基类函数确定弹幕的基类属性信息,再通过继承基类函数,对应形成不同类型的弹幕,可满足用户的个性化设置需求,丰富弹幕后期的显示效果。
可选地,在本发明实施例的弹幕生成方法的一种实施例中,确定弹幕对应的动画效果,包括:
当弹幕为悬浮弹幕类型时,通过类函数调用核心动画CoreAnimation,确定弹幕对应的字体大小变化动画效果。
在应用程序中通过函数以及核心动画CoreAnimation对于不同类型的弹幕,设置了不同的动画效果。
具体地,对悬浮弹幕类型下的弹幕可通过函数调用核心动画CoreAnimation控件,对弹幕添加文字字体大小的变化。例如可设置函数调用CoreAnimation设置字体在几毫秒内弹幕内容显示的字号变大几毫秒后显示的字号变小,重复调用该函数使该条弹幕在悬浮弹幕类型设置的时间内在屏幕上动态显示。
当弹幕为过场弹幕类型时,通过类函数调用CoreAnimation,确定弹幕对应的字体颜色变化动画效果。
具体地,当该弹幕为过场弹幕类型时,通过类函数调用CoreAnimation控件,对弹幕添加字体颜色变化。例如可设置函数调用CoreAnimation设置字体颜色变化,设置当前弹幕文字的颜色为红色在几毫秒后字体颜色变为绿色,重复调用该函数使该条弹幕在过场弹幕类型设置的时间内在屏幕上动态显示。或者在过场弹幕类型设置的时间内设置当前弹幕文字的多种颜色的变化,具体颜色可由用户自由设定。调用该函数使该条弹幕在过场弹幕类型设置的时间内在屏幕上动态显示。
当弹幕为其他弹幕类型时,通过类函数调用CoreAnimation,确定弹幕对应的文字背景色变化动画效果。
具体地,当该弹幕为其他弹幕类型时,通过类函数调用CoreAnimation控件,对弹幕添加文字背景色变化。例如,该弹幕当前无背景色,可设置该弹幕背景色为除该弹幕内容颜色以外的任一种颜色,调用该函数使该条弹幕在设置的时间内在屏幕上动态显示。或者可设置该弹幕背景色在几毫秒后为除该弹幕内容颜色以外的任一种颜色,几毫秒后又变为除该弹幕内容颜色以外的其他颜色,具体颜色种类也可由用户自行选择,按照设定的多种背景色在该弹幕类型对应的显示时间内在屏幕上动态显示。
可见,通过对弹幕类型进行划分,对不同类型的弹幕设置不同的动画效果,能够丰富弹幕的显示类型,满足用户的个性化弹幕展示。
可选地,在本发明实施例的弹幕生成方法的一种实施例中,获取用户输入的弹幕,包括:
通过弹幕调度器,获取预设时长内当前激活的全部弹幕。
具体地,弹幕调度器为控制弹幕加入以及调度弹幕展示的控制器。它的主要功能为:添加弹幕、派发弹幕、激活弹幕、停止当前激活的弹幕、统计当前等待的弹幕、当前活跃的弹幕、当前过期的弹幕等。其中,添加弹幕是将预设时长内获取到的弹幕添加到等待弹幕中,派发弹幕则是将等待弹幕中的弹幕进行激活。在观看弹幕展示时,是多条弹幕同时展示的。弹幕调度器获取到激活弹幕中预设时长内的当前激活的一定数量的弹幕,通过设置网格内弹幕的数量来最终控制弹幕的密度从而以此展示当前激活的弹幕。
相应的,根据所确定的动画效果,显示渲染后的弹幕,包括:根据所确定的动画效果,获取同方向的目标弹幕,通过工厂方法以及弹幕协议,依次显示目标弹幕。
在本步骤中,在获取到预设时长的弹幕后,按照每条弹幕对应的用户输入的渲染指令对每条弹幕进行不同的渲染,包括设置每条弹幕的轨迹方向。另外,按照不同的弹幕类型对每条弹幕添加动画效果。确定好渲染后的以及添加了动画效果的每条弹幕后,弹幕调度器获取到预设时长内的全部弹幕中相同移动轨迹方向的弹幕。在弹幕生成后需要提供输出弹幕的类,该输出弹幕的类为弹幕的描述类,为弹幕统一的持久化层。
具体地,在该输出弹幕的类中设置属性,该属性可用来储存和传输弹幕的样式。在该输出弹幕的类中设置标识符,该标识符由应用程序一次生成,防止弹幕的重复。该输出弹幕的类通过调用弹幕协议最后依次输出目标弹幕。
为了实现弹幕的显示还需要创建调用以及传输弹幕的协议。在本发明实施例中,可创建四种弹幕协议:基本弹幕协议、文字弹幕协议、触发事件协议(BarrageActionProtocol)、图片弹幕协议。弹幕协议主要用于传输弹幕以及在相应的协议下调用修改函数修改弹幕的背景色,边框,大小等属性信息。文字弹幕协议传输文字弹幕以及控制弹幕内容文字的大小,颜色,字体等内容。触发事件弹幕协议用于定义弹幕是否可点击,点击后触发怎样的事件,该事件可包括暂定显示,拖动该条弹幕的位置等,具体事件可由开发者自行设定,丰富用户的操作。图片弹幕协议用来传输图片作为弹幕。在具体实现时,一次可调用多种协议实现弹幕的显示。
在本发明实施例中,通过调用生成弹幕的工厂方法+(BarrageSprite*)createSpriteWithDescriptor:(BarrageDescriptor*)descriptor)以及弹幕协议依次显示同方向的目标弹幕。
需要说明的是,本发明实施例以工厂方法+(BarrageSprite*)createSpriteWithDescriptor:(BarrageDescriptor*)descriptor)为例说明弹幕的输出显示,其余具有相同思想的可实现弹幕显示的函数也属于本发明实施例的保护范围,在此不一一列举。
可见,通过本发明实施例可实现显示预设时长内当前激活的全部弹幕中同方向的目标弹幕,提高弹幕展示的整洁度与观看舒适度。
可选地,在本发明实施例的弹幕生成方法的一种实施例中,在依次显示目标弹幕过程中,方法还包括:当视频暂停时,通过弹幕渲染器,继续显示目标弹幕。
具体地,弹幕渲染器用于对弹幕调度器激活的准备显示的渲染后弹幕加载到弹幕显示队列中。其中,在弹幕渲染器中添加加载方法用来进行加载激活准备显示的弹幕,当视频启动时,弹幕渲染器启动弹幕,视频开始的时候弹幕渲染器将弹幕调度器已经激活的弹幕同时显示出来。
当视频暂停时,对于弹幕渲染器加载到弹幕调度器弹幕显示队列中的目标弹幕,继续显示目标弹幕。对于在视频暂停时运行,对于弹幕渲染器还未加载到弹幕调度器弹幕显示队列中目标的弹幕,停止加载。此时用户再输入弹幕在时,系统不会接受接收用户输入的弹幕信息。另外,在该弹幕渲染器中还需要设置接收弹幕的方法-(void)receive:(BarrageDescriptor*)descriptor接收用户输入的弹幕。如果视频此时还未启动播放,则该弹幕渲染器无法接收用户输入的弹幕。记录弹幕的属性为数组,可以在该弹幕渲染器中调用设置弹幕属性的函数,设置输入弹幕的内容参数。还可以设置是否拦截不文明非法的弹幕内容的拦截事件等。在弹幕渲染器中设置时间引擎,当视频开启后时间引擎开启,通过刷新频率返回逻辑时间,当视频暂停时则关闭时间引擎,当视频全部结束或者重新开始,重现加载已经输入的弹幕以及之前发送过的弹幕。
其中,逻辑时间为当前时间与上一次弹幕展示时间的差乘以速度。因为视频启动、暂停、停止等均与逻辑时间有关,所以需要一个分类来返回逻辑时间初始化该分类后将通过回调来返回逻辑时间。
当视频再次播放时,当目标弹幕显示完成后,通过弹幕调度器,获取下一预设时长内当前激活的全部弹幕。
具体地,当视频再次播放时,将上次预设时长内加载的还未显示的目标弹幕依次显示完。当目标弹幕显示完后,通过弹幕调度器,获取下一预设时长内当前激活的全部弹幕,重复以上弹幕的生成以及显示的方法,显示不同预设时长内的弹幕。
可见,通过暂停视频,可实现将当前预设时长加载的全部目标弹幕依次继续显示完成,保证弹幕的不间断显示。在当视频再次播放时,将预设时长内加载到弹幕显示队列中未显示的弹幕继续显示,当显示完成之后,再获取下一预设时长的弹幕,实现弹幕的实时更新显示。
为达到上述发明目的,本发明实施例还公开了一种弹幕生成装置,如图3所示。该装置包括:
第一获取模块301,用于获取用户输入的弹幕;
渲染模块302,用于接收用户输入的渲染指令,并根据渲染指令渲染弹幕;
第一确定模块303,用于确定弹幕对应的动画效果;
第一显示模块304,用于根据所确定的动画效果,显示渲染后的弹幕。
本发明实施例提供的一种弹幕生成装置,通过接收用户输入的渲染指令对弹幕进行渲染,并对渲染后的弹幕添加动画效果,能够实现弹幕的动态展示,从而丰富弹幕的展现形式,满足用户的个性化需要。
需要说明的是,本发明实施例的装置是应用上述一种弹幕生成方法的装置,则上述应用于弹幕生成方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
可选地,如图4所示,本发明提供的弹幕生成装置还可以包括:
第二确定模块401,用于通过预设生成弹幕基类函数,确定用户输入的弹幕的属性信息,其中,属性信息至少包括内容参数、弹幕位置、标记信息、弹幕生成时间、返回初始位置;
第三确定模块402,用于根据属性信息,通过继承基类函数,确定弹幕的类型为悬浮弹幕类型、过场弹幕类型或其他弹幕类型。
可选地,在本发明实施例的弹幕生成方法的一种实施例中,第一确定模块303,包括:
字体确定子模块(图中未示出),用于当弹幕为悬浮弹幕类型时,通过类函数调用核心动画CoreAnimation,确定弹幕对应的字体大小变化动画效果;
动画确定子模块(图中未示出),用于当弹幕为过场弹幕类型时,通过类函数调用CoreAnimation,确定弹幕对应的字体颜色变化动画效果;
背景色确定子模块(图中未示出),用于当弹幕为其他弹幕类型时,通过类函数调用CoreAnimation,确定弹幕对应的文字背景色变化动画效果。
可选地,在本发明实施例的弹幕生成方法的一种实施例中,第一获取模块301,具体用于通过弹幕调度器,获取预设时长内当前激活的全部弹幕;
相应的,第一显示模块304,具体用于根据所确定的动画效果,获取同方向的目标弹幕,通过工厂方法以及弹幕协议,依次显示目标弹幕。
可选地,在本发明实施例的弹幕生成方法的一种实施例中,装置还包括:
第二显示模块(图中未示出),用于当视频暂停时,通过弹幕渲染器,继续显示目标弹幕;
第二获取模块(图中未示出),用于当视频再次播放时,当目标弹幕显示完成后,通过弹幕调度器,获取下一预设时长内当前激活的全部弹幕。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种弹幕生成方法,其特征在于,包括:
获取用户输入的弹幕;
接收所述用户输入的渲染指令,并根据所述渲染指令渲染所述弹幕;
确定所述弹幕对应的动画效果;
根据所确定的动画效果,显示渲染后的所述弹幕。
2.根据权利要求1所述的方法,其特征在于,所述确定所述弹幕对应的动画效果之前,所述方法还包括:
通过预设生成弹幕基类函数,确定所述用户输入的弹幕的属性信息,其中,所述属性信息至少包括内容参数、弹幕位置、标记信息、弹幕生成时间、返回初始位置标识;
根据所述属性信息,通过继承基类函数,确定所述弹幕的类型为悬浮弹幕类型、过场弹幕类型或其他弹幕类型。
3.根据权利要求2所述的方法,其特征在于,所述确定所述弹幕对应的动画效果,包括:
当所述弹幕为所述悬浮弹幕类型时,通过类函数调用核心动画CoreAnimation,确定所述弹幕对应的字体大小变化动画效果;
当所述弹幕为所述过场弹幕类型时,通过所述类函数调用所述CoreAnimation,确定所述弹幕对应的字体颜色变化动画效果;
当所述弹幕为所述其他弹幕类型时,通过所述类函数调用所述CoreAnimation,确定所述弹幕对应的文字背景色变化动画效果。
4.根据权利要求1所述的方法,其特征在于,所述获取用户输入的弹幕,包括:
通过弹幕调度器,获取预设时长内当前激活的全部弹幕;
相应的,所述根据所确定的动画效果,显示渲染后的所述弹幕,包括:
根据所确定的动画效果,获取同方向的目标弹幕,通过工厂方法以及弹幕协议,依次显示所述目标弹幕。
5.根据权利要求4所述的方法,其特征在于,在依次显示所述目标弹幕过程中,所述方法还包括:
当视频暂停时,通过弹幕渲染器,继续显示所述目标弹幕;
当视频再次播放时,当所述目标弹幕显示完成后,通过所述弹幕调度器,获取下一预设时长内当前激活的全部弹幕。
6.一种弹幕生成装置,其特征在于,包括:
第一获取模块,用于获取用户输入的弹幕;
渲染模块,用于接收所述用户输入的渲染指令,并根据所述渲染指令渲染所述弹幕;
第一确定模块,用于确定所述弹幕对应的动画效果;
第一显示模块,用于根据所确定的动画效果,显示渲染后的所述弹幕。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于通过预设生成弹幕基类函数,确定所述用户输入的弹幕的属性信息,其中,所述属性信息至少包括内容参数、弹幕位置、标记信息、弹幕生成时间、返回初始位置标识;
第三确定模块,用于根据所述属性信息,通过继承基类函数,确定所述弹幕的类型为悬浮弹幕类型、过场弹幕类型或其他弹幕类型。
8.根据权利要求7所述的装置,其特征在于,所述第一确定模块,包括:
字体确定子模块,用于当所述弹幕为所述悬浮弹幕类型时,通过类函数调用核心动画CoreAnimation,确定所述弹幕对应的字体大小变化动画效果;
动画确定子模块,用于当所述弹幕为所述过场弹幕类型时,通过所述类函数调用所述CoreAnimation,确定所述弹幕对应的字体颜色变化动画效果;
背景色确定子模块,用于当所述弹幕为所述其他弹幕类型时,通过所述类函数调用所述CoreAnimation,确定所述弹幕对应的文字背景色变化动画效果。
9.根据权利要求6所述的装置,其特征在于,所述第一获取模块,具体用于通过弹幕调度器,获取预设时长内当前激活的全部弹幕;
相应的,所述第一显示模块,具体用于根据所确定的动画效果,获取同方向的目标弹幕,通过工厂方法以及弹幕协议,依次显示所述目标弹幕。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二显示模块,用于当视频暂停时,通过弹幕渲染器,继续显示所述目标弹幕;
第二获取模块,用于当视频再次播放时,当所述目标弹幕显示完成后,通过所述弹幕调度器,获取下一预设时长内当前激活的全部弹幕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710187250.4A CN106973309A (zh) | 2017-03-27 | 2017-03-27 | 一种弹幕生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710187250.4A CN106973309A (zh) | 2017-03-27 | 2017-03-27 | 一种弹幕生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106973309A true CN106973309A (zh) | 2017-07-21 |
Family
ID=59329849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710187250.4A Pending CN106973309A (zh) | 2017-03-27 | 2017-03-27 | 一种弹幕生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106973309A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361961A (zh) * | 2018-09-05 | 2019-02-19 | 武汉斗鱼网络科技有限公司 | 一种弹幕显示方法、装置及电子设备 |
CN109445952A (zh) * | 2017-08-31 | 2019-03-08 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息的显示调试方法和装置 |
CN109495782A (zh) * | 2018-10-30 | 2019-03-19 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息的存储方法、系统和存储介质 |
CN109714624A (zh) * | 2017-10-25 | 2019-05-03 | 武汉斗鱼网络科技有限公司 | 一种基于QTextEdit的直播弹幕的显示方法及系统 |
CN109862414A (zh) * | 2019-03-22 | 2019-06-07 | 武汉斗鱼鱼乐网络科技有限公司 | 一种蒙版弹幕显示方法、装置及服务器 |
CN110858910A (zh) * | 2018-08-23 | 2020-03-03 | 广州虎牙信息科技有限公司 | 直播视频的显示方法、装置、设备及存储介质 |
CN110971952A (zh) * | 2018-09-29 | 2020-04-07 | 传线网络科技(上海)有限公司 | 弹幕展示方法及装置 |
CN111277910A (zh) * | 2020-03-07 | 2020-06-12 | 咪咕互动娱乐有限公司 | 弹幕显示方法、装置、电子设备及存储介质 |
CN111294663A (zh) * | 2020-02-10 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 弹幕处理方法、装置、电子设备及计算机可读存储介质 |
CN111309279A (zh) * | 2020-05-06 | 2020-06-19 | 上海幻电信息科技有限公司 | 多屏互动显示方法及装置 |
CN112528594A (zh) * | 2020-12-16 | 2021-03-19 | 上海连尚网络科技有限公司 | 控件标识方法和设备 |
CN113395567A (zh) * | 2021-06-11 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种字幕展示方法和相关装置 |
CN114697707A (zh) * | 2022-03-25 | 2022-07-01 | 上海哔哩哔哩科技有限公司 | 弹幕渲染方法、装置、电子设备及计算机存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7200857B1 (en) * | 2000-06-09 | 2007-04-03 | Scientific-Atlanta, Inc. | Synchronized video-on-demand supplemental commentary |
US20130322845A1 (en) * | 2012-06-01 | 2013-12-05 | Hal Laboratory, Inc. | Storage medium storing information processing program, information processing device, information processing system, and panoramic video display method |
CN104113786A (zh) * | 2014-06-26 | 2014-10-22 | 小米科技有限责任公司 | 信息获取方法及装置 |
CN104754396A (zh) * | 2015-03-12 | 2015-07-01 | 腾讯科技(北京)有限公司 | 弹幕数据的显示方法及装置 |
CN104956357A (zh) * | 2012-12-31 | 2015-09-30 | 谷歌公司 | 在网络内创建和共享内联媒体评论 |
CN105068795A (zh) * | 2015-07-20 | 2015-11-18 | 上海幻电信息科技有限公司 | 基于弹幕特效的开发方法与装置 |
CN105100927A (zh) * | 2015-08-07 | 2015-11-25 | 广州酷狗计算机科技有限公司 | 弹幕显示方法及装置 |
CN105307030A (zh) * | 2015-09-30 | 2016-02-03 | 广州酷狗计算机科技有限公司 | 弹幕显示方法及装置 |
CN105959810A (zh) * | 2016-04-19 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种弹幕的生成方法和装置、服务器 |
CN106131641A (zh) * | 2016-06-30 | 2016-11-16 | 乐视控股(北京)有限公司 | 一种弹幕控制方法、系统和安卓智能电视 |
CN106210861A (zh) * | 2016-08-23 | 2016-12-07 | 上海幻电信息科技有限公司 | 显示弹幕的方法及系统 |
CN106303725A (zh) * | 2016-08-25 | 2017-01-04 | 暴风集团股份有限公司 | 在渲染器中利用hook实现弹幕的方法及装置 |
CN106534875A (zh) * | 2016-11-09 | 2017-03-22 | 广州华多网络科技有限公司 | 弹幕显示控制方法、装置及终端 |
-
2017
- 2017-03-27 CN CN201710187250.4A patent/CN106973309A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7200857B1 (en) * | 2000-06-09 | 2007-04-03 | Scientific-Atlanta, Inc. | Synchronized video-on-demand supplemental commentary |
US20130322845A1 (en) * | 2012-06-01 | 2013-12-05 | Hal Laboratory, Inc. | Storage medium storing information processing program, information processing device, information processing system, and panoramic video display method |
CN104956357A (zh) * | 2012-12-31 | 2015-09-30 | 谷歌公司 | 在网络内创建和共享内联媒体评论 |
CN104113786A (zh) * | 2014-06-26 | 2014-10-22 | 小米科技有限责任公司 | 信息获取方法及装置 |
CN104754396A (zh) * | 2015-03-12 | 2015-07-01 | 腾讯科技(北京)有限公司 | 弹幕数据的显示方法及装置 |
CN105068795A (zh) * | 2015-07-20 | 2015-11-18 | 上海幻电信息科技有限公司 | 基于弹幕特效的开发方法与装置 |
CN105100927A (zh) * | 2015-08-07 | 2015-11-25 | 广州酷狗计算机科技有限公司 | 弹幕显示方法及装置 |
CN105307030A (zh) * | 2015-09-30 | 2016-02-03 | 广州酷狗计算机科技有限公司 | 弹幕显示方法及装置 |
CN105959810A (zh) * | 2016-04-19 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种弹幕的生成方法和装置、服务器 |
CN106131641A (zh) * | 2016-06-30 | 2016-11-16 | 乐视控股(北京)有限公司 | 一种弹幕控制方法、系统和安卓智能电视 |
CN106210861A (zh) * | 2016-08-23 | 2016-12-07 | 上海幻电信息科技有限公司 | 显示弹幕的方法及系统 |
CN106303725A (zh) * | 2016-08-25 | 2017-01-04 | 暴风集团股份有限公司 | 在渲染器中利用hook实现弹幕的方法及装置 |
CN106534875A (zh) * | 2016-11-09 | 2017-03-22 | 广州华多网络科技有限公司 | 弹幕显示控制方法、装置及终端 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445952A (zh) * | 2017-08-31 | 2019-03-08 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息的显示调试方法和装置 |
CN109714624A (zh) * | 2017-10-25 | 2019-05-03 | 武汉斗鱼网络科技有限公司 | 一种基于QTextEdit的直播弹幕的显示方法及系统 |
CN110858910A (zh) * | 2018-08-23 | 2020-03-03 | 广州虎牙信息科技有限公司 | 直播视频的显示方法、装置、设备及存储介质 |
CN110858910B (zh) * | 2018-08-23 | 2022-05-27 | 广州虎牙信息科技有限公司 | 直播视频的显示方法、装置、设备及存储介质 |
CN109361961B (zh) * | 2018-09-05 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 一种弹幕显示方法、装置及电子设备 |
CN109361961A (zh) * | 2018-09-05 | 2019-02-19 | 武汉斗鱼网络科技有限公司 | 一种弹幕显示方法、装置及电子设备 |
CN110971952A (zh) * | 2018-09-29 | 2020-04-07 | 传线网络科技(上海)有限公司 | 弹幕展示方法及装置 |
CN109495782A (zh) * | 2018-10-30 | 2019-03-19 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息的存储方法、系统和存储介质 |
CN109495782B (zh) * | 2018-10-30 | 2021-04-09 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息的存储方法、系统和存储介质 |
CN109862414A (zh) * | 2019-03-22 | 2019-06-07 | 武汉斗鱼鱼乐网络科技有限公司 | 一种蒙版弹幕显示方法、装置及服务器 |
CN109862414B (zh) * | 2019-03-22 | 2021-10-15 | 武汉斗鱼鱼乐网络科技有限公司 | 一种蒙版弹幕显示方法、装置及服务器 |
CN111294663B (zh) * | 2020-02-10 | 2022-01-07 | 腾讯科技(深圳)有限公司 | 弹幕处理方法、装置、电子设备及计算机可读存储介质 |
CN111294663A (zh) * | 2020-02-10 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 弹幕处理方法、装置、电子设备及计算机可读存储介质 |
CN111277910A (zh) * | 2020-03-07 | 2020-06-12 | 咪咕互动娱乐有限公司 | 弹幕显示方法、装置、电子设备及存储介质 |
CN111277910B (zh) * | 2020-03-07 | 2022-03-22 | 咪咕互动娱乐有限公司 | 弹幕显示方法、装置、电子设备及存储介质 |
CN111309279A (zh) * | 2020-05-06 | 2020-06-19 | 上海幻电信息科技有限公司 | 多屏互动显示方法及装置 |
US11695979B2 (en) | 2020-05-06 | 2023-07-04 | Shanghai Hode Information Technology Co., Ltd. | Method and device of displaying multi-screen interactive |
CN112528594A (zh) * | 2020-12-16 | 2021-03-19 | 上海连尚网络科技有限公司 | 控件标识方法和设备 |
CN112528594B (zh) * | 2020-12-16 | 2024-04-12 | 上海尚往网络科技有限公司 | 控件标识方法和设备 |
CN113395567A (zh) * | 2021-06-11 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种字幕展示方法和相关装置 |
CN114697707A (zh) * | 2022-03-25 | 2022-07-01 | 上海哔哩哔哩科技有限公司 | 弹幕渲染方法、装置、电子设备及计算机存储介质 |
CN114697707B (zh) * | 2022-03-25 | 2023-10-27 | 上海哔哩哔哩科技有限公司 | 弹幕渲染方法、装置、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106973309A (zh) | 一种弹幕生成方法及装置 | |
US7802256B2 (en) | Class scheduler for increasing the probability of processor access by time-sensitive processes | |
CN107680157A (zh) | 一种基于直播的互动方法及直播系统、电子设备 | |
US11494993B2 (en) | System and method to integrate content in real time into a dynamic real-time 3-dimensional scene | |
CN103853576B (zh) | 一种截图方法,及装置 | |
US9242178B2 (en) | Creation of game-based scenes | |
CN107222510A (zh) | 一种游戏同步方法、系统及相关设备 | |
US20090227368A1 (en) | Display of notational object in an interactive online environment | |
CN105589747B (zh) | 应用程序多开的控制方法及系统 | |
CN103889524B (zh) | 信息处理系统、信息处理方法、信息处理程序、存储信息处理程序的计算机可读记录介质、数据结构、信息处理服务器和信息处理终端 | |
CN105261055B (zh) | 一种游戏角色换装方法、装置及终端 | |
CN106331832B (zh) | 信息显示方法和装置 | |
CN105653140A (zh) | 标签页自定义交互的方法和系统 | |
CN109254650A (zh) | 一种人机交互方法和装置 | |
Aylett et al. | Research in interactive drama environments, role-play and story-telling | |
Nareyek | Game AI is dead. Long live game AI! | |
CN105094765B (zh) | 动画显示处理方法和动画显示处理装置 | |
KR20070101844A (ko) | 원격 플랫폼을 위한 선언 컨텐트를 저작하는 방법 및 장치 | |
CN103561289B (zh) | 一种界面配置方法及装置 | |
CN108399091B (zh) | 一种答题页面的展示方法、计算机存储介质及终端设备 | |
US8631334B2 (en) | Virtual world presentation composition and management | |
Cavazza et al. | Interactive storytelling: from AI experiment to new media | |
CN107241635A (zh) | 一种弹幕位置切换的方法及装置 | |
US20230059361A1 (en) | Cross-franchise object substitutions for immersive media | |
CN106345118A (zh) | 一种渲染方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170721 |