一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种智能电视播放器内存适配优化方法、装置及介质与流程

2022-11-12 22:00:52 来源:中国专利 TAG:


1.本发明涉及智能电视技术领域,特别涉及一种智能电视播放器内存适配优化方法、装置及介质。


背景技术:

2.无论是linux还是android平台的智能电视系统的在线应用流媒体播放,都离不开浏览器与播放器之间的协作播放。由于google维护的chromium开源浏览器功能较为完善,可移植能力强,所以大多平台都是使用chromium浏览器,然而这也伴随着较大的内存占用,继而影响到整个电视系统内存,留给gstreamer框架的播放器可使用内存就不多了,所以开发者需要针对不同电视系统平台进行不同播放器版本的内存优化。
3.目前现有的技术或者在软件上通过在播放器移植到机芯平台前裁剪对应的代码库以达到内存占用减小的目的,或者在硬件上采取机芯内存扩大的方法。然而厂商考虑到成本,所提供机芯平台可使用的内存空间一般都不会太大,因此通过软件方法适配每个平台需要花费非常多的时间。


技术实现要素:

4.本发明要解决的技术问题,在于提供一种智能电视播放器内存适配优化方法、装置及介质,根据平台内存实际占用情况灵活选择启动模式,通过设置低内存模式减少播放器在智能电视系统上内存占用,从而在保证用户体验的同时减少开发人员在不同电视系统平台播放器适配的时间。
5.第一方面,本发明提供了一种智能电视播放器内存适配优化方法,包括:在播放器配置文件中增加播放器运行所需内存大小以及启动模式标志,所述启动模式标志默认为正常启动;当播放器移植到机芯平台上并第一次运行时,读取所述播放器运行所需内存大小,并获取系统剩余可运行内存大小,判断播放器运行所需内存大小是否小于等于系统剩余可运行内存大小,若是,则正常启动程序;若否,则将所述启动模式标志修改为低内存模式,然后使播放器以低内存模式启动;所述低内存模式启动包括:减少加载gst-plugins下播放时无需使用的代码库;在ipc共享内存队列的初始化流程改为低内存模式设置,减小一路流占用的内存块的单位大小;在gstmutilqueue下调低播放缓冲水位,在播放视频时减少缓冲内存。
6.进一步地,所述方法还包括:在播放结束后,播放器资源回收,播放器进程退出;在播放器再次运行时,不再获取播放器运行所需内存大小,直接根据所述启动模式标志执行对应的启动模式。
7.进一步地,所述播放器运行所需内存大小根据移植前虚拟运行时测定的参数确
定。
8.进一步地,所述播放时无需使用的代码库包括gst-plugins-bad下的库。
9.第二方面,本发明提供了一种智能电视播放器内存适配优化装置,包括:配置模块以及启动判断模块;所述配置模块,用于在播放器配置文件中增加播放器运行所需内存大小以及启动模式标志,所述启动模式标志默认为正常启动;所述启动判断模块,用于当播放器移植到机芯平台上并第一次运行时,读取所述播放器运行所需内存大小,并获取系统剩余可运行内存大小,判断播放器运行所需内存大小是否小于等于系统剩余可运行内存大小,若是,则正常启动程序;若否,则将所述启动模式标志修改为低内存模式,然后使播放器以低内存模式启动;所述低内存模式启动包括:减少加载gst-plugins下播放时无需使用的代码库;在ipc共享内存队列的初始化流程改为低内存模式设置,减小一路流占用的内存块的单位大小;在gstmutilqueue下调低播放缓冲水位,在播放视频时减少缓冲内存。
10.进一步地,所述装置还包括:资源回收模块,用于在播放结束后,播放器资源回收,播放器进程退出;启动执行模块,用于在播放器再次运行时,不再获取播放器运行所需内存大小,直接根据所述启动模式标志执行对应的启动模式。
11.进一步地,所述播放器运行所需内存大小根据移植前虚拟运行时测定的参数确定。
12.进一步地,所述播放时无需使用的代码库包括gst-plugins-bad下的opencv、assrender、libxml2.so和libopus.so库。
13.第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
14.本发明实施例中提供的技术方案,至少具有如下技术效果或优点:1、通过根据平台内存实际占用情况灵活选择启动模式,并设置低内存模式减少播放器在智能电视系统上内存占用,从而可以实现在尽可能不影响用户体验的基础上,显著减少播放器在智能电视系统上内存占用;2、可以在多个不同电视系统平台上适配同个版本的播放器,大大减少了开发人员在不同电视系统平台播放器适配的时间。
15.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
16.下面参照附图结合实施例对本发明作进一步的说明。
17.图1为本发明实施例一中方法的流程图之一;图2为本发明实施例一中低内存模式启动流程示意图;图3为本发明实施例一中方法的流程图之二;
图4为本发明实施例二中装置的结构示意图;图5为本发明实施例三中介质的结构示意图。
具体实施方式
18.本发明通过提供一种智能电视播放器内存适配优化方法、装置及介质,根据平台内存实际占用情况灵活选择启动模式,通过设置低内存模式减少播放器在智能电视系统上内存占用,从而在保证用户体验的同时减少开发人员在不同电视系统平台播放器适配的时间。
19.本发明技术方案的总体思路如下:本发明的目的在于开发一种智能电视上播放器内存改善方法,在尽量不影响用户体验的基础上,又能显著减少播放器内存和开发适配不同平台的时间,以解决背景技术中存在的技术问题。
20.如图1至图3所示,为了达到上述的技术效果,本发明采取以下技术方案:步骤一、第一次启动播放器进程时,读取播放器配置文件中的播放器运行内存大小,并获取系统剩余可运行内存大小俩者做对比。如果播放器运行内存大于系统可运行内存的话,则播放器进入低内存模式启动并设置启动模式标志,反之则以正常模式启动程序(启动模式标志默认为正常启动模式)。
21.步骤二、当播放器以正常模式启动时,播放器相关模块和与浏览器通信的ipc(进程间通信)模块相关初始化接口读取启动读取标志,播放流程为默认正常设置。
22.步骤三、当播放器以低内存模式启动时,播放器相关模块和与浏览器通信的ipc(进程间通信)模块相关初始化接口读取启动读取标志,播放流程为低内存模式设置。
23.步骤四:播放结束,播放器资源回收,播放器进程退出。
24.本发明技术方案具体是以步骤三进行开展的,低内存模式启动时具体实施措施如下:

减少加载gst-plugins下一些播放时无需使用的代码库(如gst-plugins-bad下的opencv、assrender、libxml2.so和libopus.so等,也可以根据实际需要减少加载其它播放时无需使用的代码库),以减小启动时gstreamer占用的内存。
25.②
在ipc 共享内存队列的初始化流程改为低内存模式设置,假设在原先一路流占用的内存为1mb(内存块) x 20条读写内存队列 = 20mb,因为播放一个流媒体基本会占用三条流(audio/video/drm),而且基本音视频每一帧的数据大小将在300-1000kb区间,所以播放一个流媒体则会占用60mb空间。
26.当进入低内存模式时,内存块的空间会调整为200kb,读写内存队列数不变,当流媒体的音视频帧大小大于一个内存块(200kb)大小时,则会拼接多个内存块以达到一个帧的大小。所以播放一个流媒体视频时,将只占用200kb(内存块) x 20条读写内存队列 = 4mb空间。从而达到了ipc(进程间通信)模块使用时的内存优化。
27.③
当gstreamer 播放器播放的时候,在低内存模式下,将在gstmutilqueue下调低播放缓冲水位,在播放视频时减少缓冲内存。以达到减小播放时的内存占用。
28.实施例一本实施例提供一种智能电视播放器内存适配优化方法,如图1所示,包括:
在播放器配置文件中增加播放器运行所需内存大小(可以根据移植前虚拟运行时测定的参数确定)以及启动模式标志,所述启动模式标志默认为正常启动;当播放器移植到机芯平台上并第一次运行时,读取所述播放器运行所需内存大小,并获取系统剩余可运行内存大小,判断播放器运行所需内存大小是否小于等于系统剩余可运行内存大小,若是,则正常启动程序;若否,则将所述启动模式标志修改为低内存模式,然后使播放器以低内存模式启动;如图2所示,所述低内存模式启动包括:减少加载gst-plugins下播放时无需使用的代码库(比如,gst-plugins-bad下的opencv、assrender、libxml2.so和libopus.so等库);在ipc共享内存队列的初始化流程改为低内存模式设置,减小一路流占用的内存块的单位大小;在gstmutilqueue下调低播放缓冲水位,在播放视频时减少缓冲内存。
29.如图3所示,所述方法还包括:在播放结束后,播放器资源回收,播放器进程退出。
30.在播放器再次运行时,不再获取播放器运行所需内存大小,直接根据所述启动模式标志执行对应的启动模式。
31.基于同一发明构思,本技术还提供了与实施例一中的方法对应的装置,详见实施例二。
32.实施例二在本实施例中提供了一种智能电视播放器内存适配优化装置,如图4所示,包括:配置模块以及启动判断模块;所述配置模块,用于在播放器配置文件中增加播放器运行所需内存大小(可以根据移植前虚拟运行时测定的参数确定)以及启动模式标志,所述启动模式标志默认为正常启动;所述启动判断模块,用于当播放器移植到机芯平台上并第一次运行时,读取所述播放器运行所需内存大小,并获取系统剩余可运行内存大小,判断播放器运行所需内存大小是否小于等于系统剩余可运行内存大小,若是,则正常启动程序;若否,则将所述启动模式标志修改为低内存模式,然后使播放器以低内存模式启动;所述低内存模式启动包括:减少加载gst-plugins下播放时无需使用的代码库(比如,gst-plugins-bad下的opencv、assrender、libxml2.so和libopus.so等库);在ipc共享内存队列的初始化流程改为低内存模式设置,减小一路流占用的内存块的单位大小;在gstmutilqueue下调低播放缓冲水位,在播放视频时减少缓冲内存。
33.在一种可能的实现方式中,所述装置还包括:资源回收模块,用于在播放结束后,播放器资源回收,播放器进程退出;启动执行模块,用于在播放器再次运行时,不再获取播放器运行所需内存大小,直接根据所述启动模式标志执行对应的启动模式。
34.由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
35.基于同一发明构思,本技术提供了实施例一对应的存储介质,详见实施例三。
36.实施例三本实施例提供一种计算机可读存储介质,如图5所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
37.由于本实施例所介绍的计算机可读存储介质为实施本技术实施例一中方法所采用的计算机可读存储介质,故而基于本技术实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的计算机可读存储介质的具体实施方式以及其各种变化形式,所以在此对于该计算机可读存储介质如何实现本技术实施例中的方法不再详细介绍。只要本领域所属技术人员实施本技术实施例中的方法所采用的计算机可读存储介质,都属于本技术所欲保护的范围。
38.本发明通过根据平台内存实际占用情况灵活选择启动模式,并设置低内存模式减少播放器在智能电视系统上内存占用,从而可以实现在尽可能不影响用户体验的基础上,显著减少播放器在智能电视系统上内存占用;可以在多个不同电视系统平台上适配同个版本的播放器,大大减少了开发人员在不同电视系统平台播放器适配的时间。
39.本领域内的技术人员应明白,本发明的实施例可提供为方法、装置或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
40.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
41.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
42.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
43.虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献