CN109600654B - 弹幕处理方法、装置以及电子设备 - Google Patents
弹幕处理方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN109600654B CN109600654B CN201811429226.8A CN201811429226A CN109600654B CN 109600654 B CN109600654 B CN 109600654B CN 201811429226 A CN201811429226 A CN 201811429226A CN 109600654 B CN109600654 B CN 109600654B
- Authority
- CN
- China
- Prior art keywords
- video
- bullet screen
- video processing
- electronic device
- display mode
- 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.)
- Active
Links
Images
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/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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请实施例公开了一种弹幕处理方法、装置以及电子设备。所述方法包括:当处于视频播放状态后,获取所述电子设备的视频处理资源的信息;判断所述视频处理资源是否满足目标条件;根据判断结果,确定所述视频对应的弹幕的显示模式,其中,不同的所述显示模式所占用的所述视频处理资源不同。在本方法中,因为不同的所述显示模式所占用的所述视频处理资源不同,那么电子设备就可以根据当前的视频处理资源的信息,来确定当前所播放视频的弹幕是以何种模式进行显示,进而提升了弹幕显示的灵活性,也进一步的提升了用户体验。
Description
技术领域
本申请涉及互联网技术领域,更具体地,涉及一种弹幕处理方法、装置以及电子设备。
背景技术
弹幕,通常指的是在观看视频时在视频图像上层叠弹出的评论性字幕。但是,电子设备在显示弹幕的过程中,对于弹幕显示的调节还缺乏一定的灵活性,造成用户体验还有待提升。
发明内容
鉴于上述问题,本申请提出了一种弹幕处理方法、装置以及电子设备,以实现改善上述问题。
第一方面,本申请提供了一种弹幕处理方法,应用于电子设备,所述方法包括:当处于视频播放状态后,获取所述电子设备的视频处理资源的信息;判断所述视频处理资源是否满足目标条件;根据判断结果,确定所述视频对应的弹幕的显示模式,其中,不同的所述显示模式所占用的所述视频处理资源不同。
第二方面,本申请提供了一种弹幕处理装置,运行于电子设备,所述装置包括:资源获取单元,用于当处于视频播放状态后,获取所述电子设备的视频处理资源的信息;资源判断单元,用于判断所述视频处理资源是否满足目标条件;显示模式确定单元,用于根据判断结果,确定所述视频对应的弹幕的显示模式,其中,不同的所述显示模式所占用的所述视频处理资源不同。
第三方面,本申请提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第四方面,本申请提供的一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
本申请提供的一种弹幕处理方法、装置以及电子设备,在检测到处于视频播放状态后,获取所述电子设备的视频处理资源的信息,判断所述视频处理资源是否满足目标条件,再根据判断结果,确定所述视频对应的弹幕的显示模式。而其中因为不同的所述显示模式所占用的所述视频处理资源不同,那么电子设备就可以根据当前的视频处理资源的信息,来确定当前所播放视频的弹幕是以何种模式进行显示,进而提升了弹幕显示的灵活性,也进一步的提升了用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提出的一种弹幕显示示意图;
图2示出了本申请实施例提出的一种视频处理架构示意图;
图3示出了本申请实施例提出的一种弹幕处理方法的流程图;
图4示出了本申请实施例提出的应用程序的开关控件示意图;
图5示出了本申请实施例提出的视频播放界面的示意图;
图6示出了本申请另一实施例提出的一种弹幕处理方法的流程图;
图7示出了本申请另一实施例提出的一种弹幕处理方法中的弹幕显示路径长度对比示意图;
图8示出了本申请另一实施例提出的一种弹幕处理方法中的弹幕显示样式对比示意图;
图9示出了本申请另一实施例提出的一种弹幕处理方法中的弹幕显示时长调节控件的示意图;
图10示出了本申请另一实施例提出的一种弹幕处理方法中的弹幕显示路径调节控件的示意图;
图11示出了本申请提出另一实施例的一种弹幕处理方法中的弹幕显示路径调节控件的示意图;
图12示出了本申请实施例提出的一种弹幕处理装置的结构框图;
图13示出了本申请另一实施例提出的一种弹幕处理装置的结构框图;
图14示出了本申请实施例提出的一种电子设备的结构框图;
图15是本申请实施例的用于保存或者携带实现根据本申请实施例的弹幕处理方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
弹幕(barrage),中文流行词语,指的是在网络上观看视频时弹出的评论性字幕。类似小说中行间彰显的夹批,视频中屏间飘过的评点叫做弹幕,原意指用大量或少量火炮提供密集炮击。而弹幕,顾名思义是指子弹多而形成的幕布,大量吐槽评论从屏幕飘过时效果看上去像是飞行射击游戏里的弹幕。
弹幕可以给观众一种“实时互动”的感觉,虽然不同弹幕的发送时间有所区别,但是其只会在视频中特定的一个时间点出现,因此在相同时刻发送的弹幕基本主题都是类似的,在参与评论时就会有与其他观众同时评论的感觉。例如,如图1所示,在视频播放界面99中,在视频播放界面99上显示的“弹幕内容1”、“弹幕内容2”、“弹幕内容3”以及“弹幕内容4”通常都是与视频播放界面99中的内容相关的,从而可以让参与发弹幕的用户感觉到其他用户与自己的互动。
而可以理解的是,弹幕通常是独立于视频内容显示的,其并不是视频内容的一部分,那么在将弹幕内容渲染到视频播放界面上的过程中,电子设备除了需要进行视频解码以及渲染外,依然需要单独对弹幕内容进行渲染。而如果在弹幕内容较多的情况下,会消耗较多的电子设备的处理资源,进而使得电子设备会缺乏资源去处理其他的任务,造成电子设备的卡顿。因此,发明人提出了本申请中可以提升弹幕显示模式的灵活性,以便根据电子设备的实时视频处理资源来调节弹幕的显示模式的的弹幕处理方法、装置以及电子设备。
下面先对本申请涉及的电子设备的硬件架构进行介绍。
如图2所示,通常,如图1所示,电子设备可以通过硬解码以及软解码两种方式来进行视频解码。其中,硬解码是指使用非CPU进行解码,如GPU(Graphics Processing Unit)、专用的DSP、FPGA、ASIC芯片等。而软解码是指使用CPU进行解码。
具体地,如图2所示,MediaFramework(多媒体框架)通过与客户端或者网页浏览器的API接口获取待播放的视频文件,并交由Video Decode(视频解码器),其中,MediaFramework(多媒体框架)为操作系统中多媒体框架。
不论是硬解码还是软解码,在将视频数据解码之后,会将解码后的视频数据发送至SurfaceFlinger(图层传递模块),由SurfaceFlinger将解码后的视频数据渲染和合成之后,在屏幕上显示。其中,SurfaceFlinger是一个独立的Service,它接收所有的Surface作为输入,根据ZOrder、透明度、大小、位置等参数,计算出每个Surface在最终合成图像中的位置,然后交由HWComposer或OpenGL生成最终的显示Buffer,然后显示到特定的显示设备上。
下面将结合附图具体描述本申请的各实施例。
请参阅图3,本申请实施例提供的一种弹幕处理方法,应用于电子设备,所述方法包括:
步骤S110:当处于视频播放状态后,获取所述电子设备的视频处理资源的信息。
在本申请中,电子设备可以通过多种的方式来识别当前是否处于视频播放状态。
作为一种方式,所述检测电子设备是否处于视频播放状态的步骤包括:检测所述电子设备中是否有设定的视频播放应用程序在运行;若检测到有设定的视频播放应用程序在运行,判定所述电子设备处于所述视频播放状态。其中,电子设备可以预先建立一个视频播放应用程序的名单,以便在该名单中记录视频播放应用程序。其中,该名单可以由电子设备的用户自由配置,也可以根据某个视频播放应用程序的使用情况来确定。
例如,如图4所示,在图4所示的界面中显示有多个应用程序,以及每个应用程序对应的状态。可以理解的是,若应用程序对应的状态为图示的“关”,那么表示该应用程序移除或者不加入到上述名单中,若应用程序对应的状态为图示的“开”,那么表示该应用程序加入到上述名单中。例如,对于名称为“TX视频”的应用程序,其对应的状态为“开”,即表示“TX视频”这个应用程序会存在于前述的名单中。而对于名称为“AQY视频”的应用程序,其对应的状态为“关”,那么表示“AQY视频”这个应用程序不会存在于前述的名单中。
再者,电子设备可以检测每个视频播放应用程序的使用频率,若检测到某个视频播放程序的使用频率超过设定的频率,则可以将该视频播放应用程序添加到前述名单中,并对应的将该视频播放应用程序的名称在图4中所对应的状态配置为“开”。
那么在这种情况下,电子设备可以先检测当前在前台运行的应用程序是哪个,然后再进一步的检测当前前台运行的应用程序是否在该名单中,若在,那么就判定当前处于视频播放状态。其中,作为一种方式,若电子设备为Android操作系统,可以通过执行ActivityManager的getRunningTasks方法来获取到当前在前台运行的应用程序的名称。此外,电子设备还可以通过UsageStatsManager来获取用户使用的程序的列表,将该列表中记录的最近使用的应用程序识别为当前的前台应用。再者,还可以通过Android自带无障碍功能,监控窗口焦点的变化,拿到焦点窗口对应包名作为当期在前台运行的应用程序。
作为另外一种方式,电子设备还可以结合检测AudioManager类的返回值来确定是否有视频在进行播放。在这种情况下,电子设备可以先检测AudioManager类的返回值来确定是否有音频输出,若在检测到有音频输出的情况下,再进一步的根据前述检测是否有视频播放应用程序运行来确定电子设备是否处于视频播放状态。
再者,作为再一种方式,电子设备还可以通过检测视频播放按键的触控状态来检测是否处于视频播放状态。例如,如图5所示,在图5所示的视频播放界面99中显示有播放按键98,且图5中所示的界面为视频播放暂停的状态。那么在这种情况下,当检测到播放按键98被触控后,即可判定电子设备当前处于视频播放状态。
需要说明的是,在电子设备上播放的视频文件通常都是经过压缩的,因为这样有利于节约存储空间。那么在播放过程,就需要进行一个解码过程。在以前这项工作都是由CPU来完成的,对于普通分辨率的AVI、RMVB等文件,绝大多数的CPU都可以胜任;但是发展到高清视频(1080i/p)之后,数据解码的工作量比以前翻了数倍。
随着技术的发展,工程师们发现显卡的GPU/VPU要比CPU更适合这类大数据量的、低难度的重复工作。视频解码工作从处理器那里分离出来,交给显卡去做,这就叫做“硬解码”;与之对应的,以前那种纯粹依靠CPU来解压的方式则是“软解码”。
那么基于方式,电子设备中进行视频解码的过程中,可以进行软解码也可以进行硬解码。作为一种方式,若电子设备识别到自身具有CPU,那么获取到的视频解码资源的信息为CPU的剩余可用率。而若电子设备识别到自身具有GPU,那么获取到的视频解码资源的信息为GPU的剩余可用率。而若电子设备识别到自身同时具有CPU以及GPU,那么获取到的视频解码资源的信息包括GPU的剩余可用率以CPU的剩余可用率。
步骤S120:判断所述视频处理资源是否满足目标条件。
可以理解的是,在配置有CPU的电子设备中,通常的数据处理都是由CPU来完成的。如果某个应用程序请求调用CPU来处理数据,就会增加CPU的剩余可用率。而通常CPU基于多线程的方式工作的,在CPU的工作过程中,会基于并行的方式来同时处理多个应用程序的数据处理任务,或者是同一个应用程序的多个线程的数据处理任务。那么在这种情况下,若需要并行处理的任务数量超过一定数量时,在CPU的工作频率一定的情况下,会造成单个任务等待时间被延长,进而会造成单个的任务处理出现卡顿,也即会造成该单个任务所属的应用程序卡顿。而与CPU类似的,GPU也是会基于并行的多线程方式来处理任务。
那么基于前述情况,作为一种减小电子设备的应用程序卡顿概率的方式,所述目标条件包括以下条件中的至少一个:所述电子设备的CPU的剩余可用率大于第一目标值;以及所述电子设备的GPU的剩余可用率大于第二目标值。其中,减小电子设备的应用程序卡顿概率可以是减小进行视频播放的应用程序卡顿概率,也可以是减小其他的应用程序的卡顿概率。
而其中,对于第一目标值以及第二目标值,电子设备可以预先根据用户的设置进行配置,也可以实时根据当前的运行环境进行配置。
例如,作为一种方式,在电子设备可以识别到自身出现卡顿的情况下,电子设备可以检测到出现卡顿时的CPU的剩余可用率或者GPU的剩余可用率,而将在这种情况下识别出的CPU的剩余可用率设置为前述的第一目标值,而将识别出的GPU的剩余可用率设置为第二目标值。
此外,作为另外一种方式,电子设备可以在检测到出现卡顿时的CPU的剩余可用率或者GPU的剩余可用率的情况下,将第一目标值设置为高于该CPU的剩余可用率,类似的,将第二目标值设置为高于该GPU的剩余可用率,从而进一步的避免电子设备出现卡顿。
再者,作为再一种方式,电子设备可以根据预估的CPU或者GPU使用状态来确定前述第一目标值或者第二目标值,以便可以更佳智能化的确定第一目标值或者第二目标值。具体的,电子设备中的应用程序在开始启动的时候,通常都是界面的启动或者常规数据的加载显示,还不会涉及到较多的数据处理。而在进入到主要的功能场景以后,就可能会涉及到较多的数据处理,进而会占用更多的CPU或者GPU的处理资源。例如,对于游戏类的应用程序,在启动的时候,通常是都是游戏登陆界面的展示或者是游戏用户的组队数据处理。在这个阶段,游戏类的应用程序并不会占用较多的CPU或者GPU的处理资源。但是,在游戏类的应用程序进入到游戏界面以后,会涉及到多用户的游戏交互数据处理,以及较为丰富的游戏界面的处理,进而会增加所需要的CPU处理资源或者GPU处理资源。
那么在这种情况下,可选的,若电子设备检测到会存在潜在的较大的CPU资源占用或者GPU资源占用的应用程序启动以后,提升基于前述方式确定的第一目标值或者第二目标值,或者直接配置一个高于前述方式确定的第一目标值的值作为第一目标值,配置一个高于前述方式确定的第二目标值的值作为第二目标值,以便可以对于CPU处理资源以及GPU处理资源配置一定的缓冲空间,进而以避免多个应用程序互相抢夺CPU资源或者GPU资源,造成电子设备卡顿。
例如,以弹幕渲染处理任务为CPU处理完成为例。作为一种方式,若目标条件只包括所述电子设备的CPU的剩余可用率大于第一目标值,而电子设备可以在初始阶段配置第一目标值为80%,那么在这种情况下,电子设备在检测处于视频播放状态以后,且该视频有对应的弹幕需要显示的情况下,会先判断当前的CPU的剩余可用率为多少,且CPU的剩余可用率是否大于80%,若判定大于80%,那么就采用弹幕本身配置的样式进行显示,而若检测到CPU的剩余可用率小于80%,那么就采用简化的模式进行弹幕显示。
而在引入了判断会存在潜在的较大的CPU资源占用的应用程序的机制以后,电子设备会在检测到有存在潜在的较大的CPU资源占用的应用程序启动以后,提升已经确定的第一目标值。例如,将前述确定的第一目标值为80%提升了90%,进而避免存在潜在的较大的CPU资源占用占用的应用程序在运行的过程中,突然增加对CPU的占用,进而造成CPU处理资源紧张,使得电子设备卡顿。
可以理解的是,前述对于目标条件的确定是以第一目标值为例说明的,而对于若目标条件包括第二目标值的情况下,也是类似的。例如,若弹幕的渲染任务是由GPU来完成的情况下,那么电子设备在检测到处于视频播放状态以后,开始检测当前的GPU的剩余可用率为多少,且GPU的剩余可用率是否大于70%,若判定大于70%,那么就采用弹幕本身配置的样式进行显示,而若检测到GPU的剩余可用率小于70%,那么就采用简化的模式进行弹幕显示。
而在引入了判断会存在潜在的较大的GPU资源占用的应用程序的机制以后,电子设备会在检测到有存在潜在的较大的GPU资源占用的应用程序启动以后,提升已经确定的第一目标值。例如,将前述确定的第一目标值为80%提升了90%,进而避免存在潜在的较大的GPU资源占用的应用程序在运行的过程中,突然增加对GPU的占用,进而造成GPU处理资源紧张,使得电子设备的画面显示卡顿。
需要说明的是,电子设备在配置目标条件的过程中,在检测到电子设备自身设置有CPU以后,就可以配置第一目标值,而在检测到电子设备设置有GPU以后就可以配置第二目标值。而在检测到同时具备CPU以及GPU的情况下,可以同时配置第一目标值以及第二目标值。当然,电子设备在检测到处于视频播放状态以后,进行视频处理资源的判断过程中,可以先获取电子设备当前的画面渲染操作是由CPU来完成还是由GPU来完成,若检测到画面渲染是由CPU来完成,那么就确定目标条件包括所述电子设备的CPU的剩余可用率大于第一目标值。
而若检测到画面渲染是由GPU来完成,那么确定目标条件包括所述电子设备的GPU的剩余可用率大于第二目标值,而若检测到画面渲染可以在CPU以及GPU之间交替完成,或者是说,画面渲染会由CPU以及GPU共同完成,那么确定所述目标条件包括所述电子设备的CPU的剩余可用率大于第一目标值;以及所述电子设备的GPU的剩余可用率大于第二目标值。
此外,会存在潜在的较大的CPU资源占用或者GPU资源占用的应用程序除了前述游戏类的应用程序外,还有其他类型的应用程序,例如,视频播放类的应用程序。通常在视频播放类的应用程序启动的初期,显示的都是视频内容介绍界面,以便用户选择自己所需要观看的视频内容。在这种阶段,视频播放类的应用程序仅需要显示一些文本介绍信息或者图片介绍信息。而当开始播放视频内容以后,就需要占用更多的CPU或者GPU处理资源进行视频内容的解码以及画面的渲染。
而对于会存在潜在的较大的CPU资源占用或者GPU资源占用的应用程序,电子设备可以配置一个数据表进行存储。在这种情况下,当电子设备获取到某个应用程序的启动后,可以先判断该启动的应用程序的名称是否存在于该数据表中,若存在,则降低当前配置的第一目标值或者第二目标值。而若该启动的应用程序的名称不在该数据表中,电子设备则不会对当前已经确定的第一目标值或者第二目标值进行更改。
例如,若前述的数据表中存储了应用程序A、应用程序B以及应用程序C,那么在电子设备获取到应用程序A启动以后,检测到应用程序A的名称在该数据表中,那么电子设备可以直接将当前确定的第一目标值以及第二目标值进行提升。
再者,对于该数据表具体可以包括哪些应用程序可以由电子设备根据多种情况确定。作为一种方式,可以将历史统计的占用视频处理资源较高的几个应用程序均配置到该数据表中。再者,作为另外一种方式,还可以根据用户的手动选择来确定是否将某个应用程序的名称添加到该数据表中。此外,作为一种方式,对于被用户手动从数据表中移除的应用程序的名称,电子设备将不会再添加到该数据表中。
而其中,对于第一目标值以及第二目标值具体可以提升多少,可以根据存在潜在的较大的CPU资源占用或者GPU资源占用的应用程序的历史统计数据确定。在这种情况下,对于所运行的应用程序,电子设备可以统计应用程序在运行过程中对于视频处理资源的占用情况,例如,对于CPU的占用率或者对于GPU的占用率,然后将统计得到的对于视频处理资源的占用情况存储在电子设备中,并且在存储过程中是将应用程序与该应用程序的视频处理资源的占用情况对应存储。
例如,以CPU的占用率为例。在电子设备中安装有应用程序A、应用程序B、应用程序C以及应用程序D的情况下,电子设备可以分别统计应用程序A、应用程序B、应用程序C以及应用程序D各自在每次运行过程中的CPU占用率,而将应用程序A、应用程序B、应用程序C以及应用程序D与各自的CPU占用率对应存储。其中,对于应用程序在运行过程中的CPU占用率可以为平均占用率,也可以为峰值占用率。可以理解的是,对于GPU占用率存储也可以参照CPU的占用率的存储方式。
步骤S130:根据判断结果,确定所述视频对应的弹幕的显示模式,其中,不同的所述显示模式所占用的所述视频处理资源不同。
本申请提供的一种弹幕处理方法,在检测到处于视频播放状态后,获取所述电子设备的视频处理资源的信息,判断所述视频处理资源是否满足目标条件,再根据判断结果,确定所述视频对应的弹幕的显示模式。而其中因为不同的所述显示模式所占用的所述视频处理资源不同,那么电子设备就可以根据当前的视频处理资源的信息,来确定当前所播放视频的弹幕是以何种模式进行显示,进而提升了弹幕显示的灵活性,也进一步的提升了用户体验。
请参阅图6,本申请另一实施例提供的一种弹幕处理方法,应用于电子设备,所述方法包括:
步骤S210:当处于视频播放状态后,获取所述电子设备的视频处理资源的信息。
步骤S220:判断所述视频处理资源是否满足目标条件。
步骤S230:若检测到所述视频处理资源不满足所述目标条件,以第一显示模式显示所述视频对应的弹幕。
其中,作为一种方式,所述以第一显示模式显示所述视频对应的弹幕的步骤包括以下步骤中的至少一个:减小所述弹幕的显示时长;缩短所述弹幕的移动路径长度;以及取消所述弹幕的美化样式。
下面将分别对减小所述弹幕的显示时长;缩短所述弹幕的移动路径长度;以及取消所述弹幕的美化样式进行说明。
对于减小所述弹幕的显示时长这种模式,可以理解的是,在一种方式中,视频播放界面上所显示的弹幕的显示时长都是固定的,那么在弹幕配置的显示时长内,渲染元件(CPU或者GPU)都需要进行相应的渲染操作,进而将弹幕在视频播放界面上显示出来。而缩短弹幕的显示时长以后,可以减少渲染元件的占用率,进而提升渲染元件的剩余可用率。
对于缩短所述弹幕的移动路径长度这种模式,可以理解的是,在一种方式中,视频播放界面上所显示的弹幕的路径长度都是固定的,那么在弹幕配置的移动路径内,渲染元件都需要进行相应的渲染操作,进而将弹幕在视频播放界面上显示出来。而缩短弹幕的路径长度以后,可以减少渲染元件的占用率,进而提升渲染元件的剩余可用率。例如,如同7所示,图7中的实线为弹幕原来的移动路径长度,而虚线为缩短移动路径长度以后的弹幕的移动路径长度。
对于取消所述弹幕的美化样式这种模式,需要说明的是,随着现在界面的多样化,有一些弹幕会配置有对应的美化样式。例如,给弹幕内容配置更丰富的颜色,或者在弹幕外包裹一圈边框,再或者在弹幕前面加上视频中人物的头像。而可以理解的是,基于前述增加的美化样式,会消耗更多的渲染元件的处理资源,进而降低渲染元件的剩余可用率。那么,在取消所述弹幕的美化样式以后,可以减少渲染元件的占用率,进而提升渲染元件的剩余可用率。如图8所示,在图8所示的界面中显示有弹幕96以及弹幕97,并且弹幕96以及弹幕97的内容均是相同的,但是,在显示样式方面,弹幕86外面还包括有边框以及发布该弹幕内容的用户的头像。若电子设备在渲染弹幕的过程中,渲染的弹幕更多的为弹幕96所示的样式,那么必然会增加渲染元件的占用率。
而其中,对于减小所述弹幕的显示时长以及缩短所述弹幕的移动路径长度的过程中,具体减小多少时长,以及具体缩短多少移动路径,电子设备可以根据多种方式来确定。
作为一种方式,电子设备可以通过获取用户手动设置的参数来确定减小所述弹幕的显示时长以及缩短所述弹幕的移动路径长度。可选的,当电子设备检测到所述视频处理资源不满足所述目标条件以后,可以在视频播放界面上显示时长配置控件,提示用户手动选择减少显示的时间。
如图9所示,在视频播放界面上行悬浮显示一时长配置界面95,在该时长配置界面95中显示有时长配置控件94,以及时长配置控件93,其中,通过触控时长配置控件94可以增加弹幕显示时长,而通过触控时长配置控件93可以缩短弹幕显示时长。而当在电子设备检测到所述视频处理资源不满足所述目标条件以后触发显示该时长配置界面95后,对于时长配置控件94可以配置为不响应用户操作的状态,而只会响应于对于时长配置控件93的触控操作,进而起到提示用户缩短弹幕的显示时长的效果,从而对于显示弹幕对于渲染元件的占用。
而作为另外一种方式,电子设备可以自动化的确定缩短的时间。可选的,在移动路径不变的情况下,缩短了显示时长以后,弹幕在视频播放界面上的移动速度会增加。那么可选的,电子设备可以在检测到视频以快进的方式播放后,缩短弹幕的显示时长,进而可以使得弹幕的移动速度与快进播放的视频画面更加协调,进而提升用户体验。
作为一种方式,电子设备可以通过获取用户手动设置的参数来确定缩短所述弹幕的移动路径长度。如图10所示,当电子设备检测到触发调节显示移动路径后,可以在视频播放界面上显示一标识移动路径的控件92,其中,该移动路径的控件92的长度表征弹幕的移动路径长度。如图11所示,当移动路径的控件92被用户调节到图11所示的长度以后,弹幕的移动路径也随着调节到移动路径的控件92所示的长度。
步骤S240:若检测到所述视频处理资源满足所述目标条件,以第二显示模式显示所述视频对应的弹幕,其中,所述第一显示模式所占用的视频处理资源少于所述第二显示模式所占用的视频处理资源。
本申请提供的一种弹幕处理方法,在检测到处于视频播放状态后,获取所述电子设备的视频处理资源的信息,判断所述视频处理资源是否满足目标条件,再获取判断结果,如果判断结果显示所述视频处理资源不满足所述目标条件,那么电子设备就以占用视频处理资源相对更小的第一显示模式显示所述视频对应的弹幕,而若如果判断结果显示所述视频处理资源满足所述目标条件,就以第二显示模式显示所述视频对应的弹幕,进而提升了弹幕显示的灵活性,也进一步的提升了用户体验。
请参阅图12,本申请实施例提供的一种弹幕处理装置300,运行于电子设备,所述装置300包括:资源获取单元310、资源判断单元320以及显示模式确定单元330。
资源获取单元310,用于当处于视频播放状态后,获取所述电子设备的视频处理资源的信息。
资源判断单元320,用于判断所述视频处理资源是否满足目标条件。
所述目标条件包括以下条件中的至少一个:
所述电子设备的CPU的剩余可用率大于第一目标值;以及
所述电子设备的GPU的剩余可用率大于第二目标值。
显示模式确定单元330,用于根据判断结果,确定所述视频对应的弹幕的显示模式,其中,不同的所述显示模式所占用的所述视频处理资源不同。
本申请提供的一种弹幕处理装置,在检测到处于视频播放状态后,获取所述电子设备的视频处理资源的信息,判断所述视频处理资源是否满足目标条件,再根据判断结果,确定所述视频对应的弹幕的显示模式。而其中因为不同的所述显示模式所占用的所述视频处理资源不同,那么电子设备就可以根据当前的视频处理资源的信息,来确定当前所播放视频的弹幕是以何种模式进行显示,进而提升了弹幕显示的灵活性,也进一步的提升了用户体验。
请参阅图13,本申请另一实施例提供的一种弹幕处理装置400,运行于电子设备,所述装置400包括:资源获取单元410、资源判断单元420、显示模式确定单元430以及弹幕显示单元440。
资源获取单元410,用于当处于视频播放状态后,获取所述电子设备的视频处理资源的信息。
资源判断单元420,用于判断所述视频处理资源是否满足目标条件。
显示模式确定单元430,用于若检测到所述视频处理资源不满足所述目标条件,确定像是模式为第一显示模式。
显示模式确定单元430,用于若检测到所述视频处理资源不满足所述目标条件,确定像是模式为第二显示模式。
弹幕显示单元440,根据确定的显示模式显示弹幕。
作为一种方式,弹幕显示单元440,以第一显示模式显示所述视频对应的弹幕的步骤包括以下步骤中的至少一个:减小所述弹幕的显示时长;缩短所述弹幕的移动路径长度;以及取消所述弹幕的美化样式。
可选的,所述视频处理资源包括渲染元件的剩余可用率,弹幕显示单元440,具体用于获取所述渲染元件的剩余可用率与目标剩余可用率之间的剩余可用率差值;根据所述剩余可用率差值确定所述显示时长所减小的时长。
弹幕显示单元440,具体用于获取所述渲染元件的剩余可用率与目标剩余可用率之间的剩余可用率差值;根据所述剩余可用率差值确定所述路径长度所减小的长度。
作为一种方式,弹幕显示单元440,以第二显示模式显示所述视频对应的弹幕的步骤包括:按照弹幕生成时所配置的显示样式显示所述视频对应的弹幕。
本申请提供的一种弹幕处理装置,在检测到处于视频播放状态后,获取所述电子设备的视频处理资源的信息,判断所述视频处理资源是否满足目标条件,再获取判断结果,如果判断结果显示所述视频处理资源不满足所述目标条件,那么电子设备就以占用视频处理资源相对更小的第一显示模式显示所述视频对应的弹幕,而若如果判断结果显示所述视频处理资源满足所述目标条件,就以第二显示模式显示所述视频对应的弹幕,进而提升了弹幕显示的灵活性,也进一步的提升了用户体验。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性。另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
综上所述,本申请提供的一种弹幕处理方法、装置以及电子设备,在检测到处于视频播放状态后,获取所述电子设备的视频处理资源的信息,判断所述视频处理资源是否满足目标条件,再根据判断结果,确定所述视频对应的弹幕的显示模式。而其中因为不同的所述显示模式所占用的所述视频处理资源不同,那么电子设备就可以根据当前的视频处理资源的信息,来确定当前所播放视频的弹幕是以何种模式进行显示,进而提升了弹幕显示的灵活性,也进一步的提升了用户体验。
下面将结合图14对本申请提供的一种电子设备进行说明。
请参阅图14,基于上述的弹幕处理方法、装置,本申请实施例还提供的另一种可以执行前述弹幕处理方法的电子设备100。电子设备100包括相互耦合的一个或多个(图中仅示出一个)处理器102、存储器104以及无线模块106。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
其中,处理器102可以包括一个或者多个处理核。处理器102利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器104内的指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器102可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实现。
存储器104可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
所述无线模块106用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。所述无线模块106可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。所述无线模块106可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。例如,无线模块106可以与基站进行信息交互。
请参考图15,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (7)
1.一种弹幕处理方法,其特征在于,应用于电子设备,所述方法包括:
当处于视频播放状态后,获取所述电子设备的视频处理资源的信息;
判断所述视频处理资源是否满足目标条件,所述目标条件包括以下条件中的至少一个:所述电子设备的CPU的剩余可用率大于第一目标值;以及
所述电子设备的GPU的剩余可用率大于第二目标值;
若检测到所述视频处理资源不满足所述目标条件,以第一显示模式显示所述视频对应的弹幕;所述以第一显示模式显示所述视频对应的弹幕的步骤包括以下步骤中的至少一个:减小所述弹幕的显示时长;缩短所述弹幕的移动路径长度;以及取消所述弹幕的美化样式;
若检测到所述视频处理资源满足所述目标条件,以第二显示模式显示所述视频对应的弹幕,其中,所述第一显示模式所占用的视频处理资源少于所述第二显示模式所占用的视频处理资源;
所述方法还包括:
获取出现卡顿时的CPU的剩余可用率或者GPU的剩余可用率,将所述第一目标值设置为高于出现卡顿时的CPU的剩余可用率,将第二目标值设置为高于出现卡顿时的GPU的剩余可用率。
2.根据权利要求1所述的方法,其特征在于,所述视频处理资源包括渲染元件的剩余可用率,所述方法还包括:
获取所述渲染元件的剩余可用率与目标剩余可用率之间的剩余可用率差值;
根据所述剩余可用率差值确定所述显示时长所减小的时长。
3.根据权利要求1所述的方法,其特征在于,所述视频处理资源包括渲染元件的剩余可用率,所述方法还包括:
获取所述渲染元件的剩余可用率与目标剩余可用率之间的剩余可用率差值;
根据所述剩余可用率差值确定所述路径长度所减小的长度。
4.根据权利要求1所述的方法,其特征在于,所述以第二显示模式显示所述视频对应的弹幕的步骤包括:
按照弹幕生成时所配置的显示样式显示所述视频对应的弹幕。
5.一种弹幕处理装置,其特征在于,运行于电子设备,所述装置包括:
资源获取单元,用于当处于视频播放状态后,获取所述电子设备的视频处理资源的信息;
资源判断单元,用于判断所述视频处理资源是否满足目标条件,所述目标条件包括以下条件中的至少一个:所述电子设备的CPU的剩余可用率大于第一目标值;以及所述电子设备的GPU的剩余可用率大于第二目标值;
显示模式确定单元,用于若检测到所述视频处理资源不满足所述目标条件,以第一显示模式显示所述视频对应的弹幕;所述以第一显示模式显示所述视频对应的弹幕的步骤包括以下步骤中的至少一个:减小所述弹幕的显示时长;缩短所述弹幕的移动路径长度;以及取消所述弹幕的美化样式;
若检测到所述视频处理资源满足所述目标条件,以第二显示模式显示所述视频对应的弹幕,其中,所述第一显示模式所占用的视频处理资源少于所述第二显示模式所占用的视频处理资源;
所述资源判断单元,还用于获取出现卡顿时的CPU的剩余可用率或者GPU的剩余可用率,将所述第一目标值设置为高于出现卡顿时的CPU的剩余可用率,将第二目标值设置为高于出现卡顿时的GPU的剩余可用率。
6.一种电子设备,其特征在于,包括一个或多个处理器以及存储器;
一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-4任一所述的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行权利要求1-4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811429226.8A CN109600654B (zh) | 2018-11-27 | 2018-11-27 | 弹幕处理方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811429226.8A CN109600654B (zh) | 2018-11-27 | 2018-11-27 | 弹幕处理方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109600654A CN109600654A (zh) | 2019-04-09 |
CN109600654B true CN109600654B (zh) | 2021-03-12 |
Family
ID=65958916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811429226.8A Active CN109600654B (zh) | 2018-11-27 | 2018-11-27 | 弹幕处理方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109600654B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112118473B (zh) * | 2019-06-19 | 2022-05-17 | 上海哔哩哔哩科技有限公司 | 视频弹幕显示方法、装置、计算机设备及可读存储介质 |
CN111131910B (zh) * | 2020-01-02 | 2022-04-12 | 广州虎牙科技有限公司 | 弹幕实现方法、装置、电子设备和可读存储介质 |
CN112040295A (zh) * | 2020-08-28 | 2020-12-04 | 苏州日煊数字科技有限公司 | 一种基于云计算的视频弹幕加载系统及其工作方法 |
CN114640890B (zh) * | 2020-12-15 | 2024-05-17 | 北京神州数码云科信息技术有限公司 | 一种视频数据动态加载方法、装置、电子设备及存储介质 |
CN115484465B (zh) * | 2021-05-31 | 2024-03-15 | 上海幻电信息科技有限公司 | 弹幕生成方法及装置、电子设备和存储介质 |
CN115767163A (zh) * | 2022-10-14 | 2023-03-07 | 北京奇艺世纪科技有限公司 | 一种弹幕展示方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267800A (zh) * | 2014-09-19 | 2015-01-07 | 上海联彤网络通讯技术有限公司 | 操作系统中实现应用程序显示解析度自动调整的方法 |
CN106131641A (zh) * | 2016-06-30 | 2016-11-16 | 乐视控股(北京)有限公司 | 一种弹幕控制方法、系统和安卓智能电视 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883213B (zh) * | 2012-09-13 | 2018-02-13 | 中兴通讯股份有限公司 | 字幕提取方法及装置 |
CN107181976B (zh) * | 2017-04-28 | 2021-01-29 | 华为技术有限公司 | 一种弹幕显示方法及电子设备 |
CN107360459B (zh) * | 2017-07-07 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 一种弹幕的处理方法、装置和存储介质 |
CN107371056A (zh) * | 2017-07-18 | 2017-11-21 | 北京蜜莱坞网络科技有限公司 | 一种加载弹幕的方法和装置 |
-
2018
- 2018-11-27 CN CN201811429226.8A patent/CN109600654B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267800A (zh) * | 2014-09-19 | 2015-01-07 | 上海联彤网络通讯技术有限公司 | 操作系统中实现应用程序显示解析度自动调整的方法 |
CN106131641A (zh) * | 2016-06-30 | 2016-11-16 | 乐视控股(北京)有限公司 | 一种弹幕控制方法、系统和安卓智能电视 |
Also Published As
Publication number | Publication date |
---|---|
CN109600654A (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109600654B (zh) | 弹幕处理方法、装置以及电子设备 | |
US11930197B2 (en) | Video decoding method and apparatus, computer device, and storage medium | |
CN109688465B (zh) | 视频增强控制方法、装置以及电子设备 | |
CN109640179B (zh) | 视频解码控制方法、装置以及电子设备 | |
CN110795056B (zh) | 调节显示参数的方法、装置、终端及存储介质 | |
CN106547417A (zh) | 显示后台任务消息的方法和装置 | |
CN112203034B (zh) | 帧率控制方法、装置以及电子设备 | |
CN112135081B (zh) | 模式控制方法、装置、插帧芯片以及电子设备 | |
CN109361950B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN111491208B (zh) | 视频处理方法、装置、电子设备及计算机可读介质 | |
JP2022508225A (ja) | 映像増強制御方法、装置、電子機器及び記憶媒体 | |
CN112057842B (zh) | 帧率控制方法、装置以及电子设备 | |
CN104053002A (zh) | 视频解码方法和视频解码装置 | |
CN109587561B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN106792251A (zh) | 信息显示方法、装置及终端 | |
CN109640094B (zh) | 视频解码方法、装置以及电子设备 | |
CN110377258B (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
EP3264284B1 (en) | Data processing method and device | |
WO2020038071A1 (zh) | 视频增强控制方法、装置、电子设备及存储介质 | |
CN113900609B (zh) | 大屏终端交互方法、大屏终端及计算机可读存储介质 | |
CN112087668A (zh) | 一种视频处理方法、装置、视频处理设备及存储介质 | |
CN115278319A (zh) | 一种投屏数据传输方法、装置、电子设备和存储介质 | |
CN114710804A (zh) | 数据传输调节方法、装置、电子设备及可读存储介质 | |
CN113923469A (zh) | 直播中礼物连送的处理方法、装置、设备和存储介质 | |
CN114401452A (zh) | 一种视频预览方法、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |