CN115297371A - 一种自适应播放器的生成方法及自适应播放器设备 - Google Patents
一种自适应播放器的生成方法及自适应播放器设备 Download PDFInfo
- Publication number
- CN115297371A CN115297371A CN202210916676.XA CN202210916676A CN115297371A CN 115297371 A CN115297371 A CN 115297371A CN 202210916676 A CN202210916676 A CN 202210916676A CN 115297371 A CN115297371 A CN 115297371A
- Authority
- CN
- China
- Prior art keywords
- player
- video
- kernel
- played
- playing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 39
- 230000008569 process Effects 0.000 claims abstract description 25
- 230000009471 action Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 3
- 238000002360 preparation method Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000004590 computer program Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 206010044565 Tremor Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- 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
-
- 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- 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/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及计算机程序技术领域,具体涉及一种自适应播放器的生成方法及自适应播放器设备,包括:S1:分别根据每一个待播放视频在顶层播放器内核中添加对应的子播放器内核;S2:分别配置子播放器内核的播放参数;S3:根据所有的播放参数和待播放视频,分别生成每一个子播放器内核的切换条件;S4:根据顶层播放器内核、切换条件和子播放器内核生成自适应播放器。本发明的有益效果在于:通过在生成自适应播放器的过程中,根据待播放视频选择对应的播放器内核并添加对应的播放参数和切换条件,使得最终生成的自适应播放器能够根据不同的场景对播放器内核进行切换,从而避免了现有技术中基于单一内核的视频播放器在播放时可能出现卡顿的问题。
Description
技术领域
本发明涉及广电音视频领域,具体涉及一种自适应播放器的生成方法及自适应播放器设备。
背景技术
视频播放器,是一种搭载在计算机或手机***中的用于对视频内容进行解码、播放的计算机程序或手机App。以手机端的视频播放器为例,该类型的视频播放器根据内容提供方的不同需求,比如本地视频文件播放、直播网络视频流流等,均需要对视频播放器进行一定程度的定制,以满足不同用户的不同需求。
现有技术中,已存在有较多的适用于移动端的视频播放器。以某厂商所采用的视频播放器为例,该视频播放器主要是基于Android***的原生视频播放器VideoView进行进一步开发,通过继承SurfaceView后生成自己的播放器类,以实现对一部分自定义功能的添加。再比如,另一厂商所采用的视频播放器,是基于ijkPlayer为开发基础,通过继承该播放器的全部特性,并进行二次开发,以满足客户的实际播放需求。
但是,在实际实施过程中,发明人发现,上述两种方案均存在一定的不足。比如,基于原生VideoView内核的视频播放器,其只能播放mp4、3gp和m3u8等有限格式,适应性较低。并且,在播放特定格式,比如m3u8格式时,会有偶发性的“卡顿”现象;在播放直播流时也会频繁出现“卡顿”现象。以上“卡顿”现象会导致界面在2至5秒内无响应,严重影响客户收视体验。并且,仅基于ijkPlayer内核的视频播放器,如果采用动态加载的方式,同样会出现视频播放中的“卡顿”现象。
发明内容
针对现有技术中存在的上述问题,现提供一种自适应播放器的生成方法及自适应播放器设备。
具体技术方案如下:
一种自适应播放器的生成方法,适用于在计算机***中生成视频播放器程序,包括:
步骤S1:针对多个待播放视频,分别根据每一个所述待播放视频在顶层播放器内核中添加对应的子播放器内核;
步骤S2:针对每一个所述子播放器内核,分别配置所述子播放器内核的播放参数;
步骤S3:根据所有的所述播放参数和所述待播放视频,分别生成每一个所述子播放器内核的切换条件;
步骤S4:根据所述顶层播放器内核、所述切换条件和所述子播放器内核生成所述自适应播放器。
优选地,所述步骤S2包括:
步骤S21:针对每一个所述子播放器内核,分别获取对应于所述子播放器内核的所述待播放视频的地址类型和解码方式;
所述地址类型包括:本地视频文件资源、网络视频流资源和直播流;
步骤S22:判断所述待播放视频的地址类型是否为所述本地视频文件资源;
若是,生成对应于所述待播放视频的播放方式参数、文件路径和解码参数,以作为所述播放参数;
若否,生成对应于所述待播放视频的播放方式参数、URL请求头参数和解码参数,以作为所述播放参数。
优选地,所述步骤S22中,当所述待播放视频为所述网络视频资源或所述直播流,且具有多个URL地址时,根据每一个所述URL地址分别生成URL请求头参数,多个所述URL请求头参数以Map格式连接。
优选地,所述步骤S2还包括:于所述顶层播放器内核中添加播放方法参数;
所述播放方法参数包括:播放动作、暂停动作、停止播放动作、重新播放动作、定位动作、获取时长动作。
优选地,所述步骤S2还包括:于所述顶层播放器内核中添加状态自检参数;
所述状态自检参数用于在所述顶层播放器内核中标记所述待播放视频需要进行状态自检的节点;
所述状态自检参数包括:播放准备前***、播放完成***、播放错误***、播放缓存***、播放器大小变化***和自定义参数***。
优选地,所述步骤S4包括:
步骤S41:生成对应于所述自适应播放器的视图组;
步骤S42:于所述视图组中添加所述顶层播放器内核和所有的所述子播放器内核,并在顶层容器中添加对应于所述子播放器内核的播放参数;
所述顶层容器中还设置有控制器组件;
步骤S43:对所述视图组进行初始化以完成所述自适应播放器。
优选地,所述步骤S41中,所述视图组中还添加有声音焦点组件、播放器缩放比例组件、进度条管理组件。
优选地,所述步骤S43还包括:根据所述播放参数在所述视图组中分别对每一个所述子播放器内核的抽象类泛型进行赋值。
优选地,多个所述子播放器内核中,包括一个所述计算机***的***原生播放器内核;
于形成所述自适应播放器后,获取到所述待播放视频时还包括播放过程,所述播放过程包括:
步骤A1:调用所述***原生播放器内核对所述待播放视频进行播放,判断是否能够正常播放所述待播放视频;
若是,播放所述待播放视频直至结束;
若否,转向步骤A2;
步骤A2:获取所述待播放视频的视频格式,根据所述视频格式和所述切换条件选择对应的所述子播放器内核进行播放。
一种自适应播放器设备,采用上述的生成方法生成,包括:
顶层播放器内核,所述顶层播放器内核连接至多个子播放器内核;
每一个所述子播放器内核分别对应于至少一种待播放视频的类型;
所述子播放器内核中存在一个***原生播放器内核,和至少一个第三方播放器内核;
控制器组件,所述控制器组件连接所述顶层播放器内核,所述控制器组件根据切换条件选择对应的所述子播放器内核。
上述技术方案具有如下优点或有益效果:通过在生成自适应播放器的过程中,根据待播放视频选择对应的播放器内核并添加对应的播放参数和切换条件,使得最终生成的自适应播放器能够根据不同的场景对播放器内核进行切换,从而避免了现有技术中基于单一内核的视频播放器在播放时可能出现卡顿的问题。
附图说明
参考所附附图,以更加充分地描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
图1为本发明实施例的整体示意图;
图2为本发明实施例中顶层播放器内核示意图;
图3为本发明实施例中步骤S2子步骤示意图;
图4为本发明实施例中步骤S4子步骤示意图;
图5为本发明实施例中播放过程示意图;
图6为本发明实施例中自适应播放器示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本发明包括:
一种自适应播放器的生成方法,适用于在计算机***中生成视频播放器程序,如图1所示,包括:
步骤S1:针对多个待播放视频,分别根据每一个待播放视频在顶层播放器内核中添加对应的子播放器内核;
步骤S2:针对每一个子播放器内核,分别配置子播放器内核的播放参数;
步骤S3:根据所有的播放参数和待播放视频,分别生成每一个子播放器内核的切换条件;
步骤S4:根据顶层播放器内核、切换条件和子播放器内核生成自适应播放器。
具体地,针对现有技术中的视频播放器,其在播放特定格式的视频或进行特定类型的操作时容易发生卡顿,严重影响用户体验的问题,本实施例中,通过获取需要播放的待播放视频,并根据每一个待播放视频选择可用于播放该待播放视频的子播放器内核,并分别配置每一个子播放器内核的播放参数以及切换条件,进而在生成自适应播放器的过程中,可根据多个子播放器内核、子播放器内核的播放参数以及切换条件,构建出能够在使用中自动切换子播放器内核的自适应播放器,以此避免了单一内核播放器在特定情况下表现不佳,且添加自定义功能不便的问题。
在实施过程中,上述待播放视频指内容提供方需要在自适应播放器上进行播放的视频内容,其根据内容提供方的不同需要会被设置为本地视频、网络视频或者直播流中的至少一种。受限于内容提供方自身的技术方案,待播放视频的视频格式、编码格式、码率、色深等属性会发生改变,且同一种类的待播放视频根据实际需要可能具有不同的属性,比如本地视频中包含有mp4、3gp、m3u8以及内容提供方自定义的本地缓存格式等。子播放器内核主要包括解码器、渲染器、网络管理引擎和媒体管理引擎等内容,其根据不同类型的子播放器内核,比如VideoView、ijkPlayer、ExoPlayer、VLC Media Player等会发生一定程度的改变。播放参数指子播放器内核在播放过程中需要定义的的各项内容,比如播放源、播放方法、状态自检等内容。切换条件指视频播放器在运行过程中对子播放器内核进行切换的依据。
作为可选的实施方式,在步骤S1之前还包括:创建一新的顶层播放器内核“NewMediaPlayer”。如图2所示,在自适应播放器中,其视图组自上往下依次包括:控制器1、顶层播放器内核2以及多个子播放器内核3A、3B、3C。其中,顶层播放器内核2为用于根据切换条件选择对应的子播放器内核3A或3B或3C来进行播放的播放器内核,其基于“View树ViewGroup”设计,区别于传统的继承“TextureView”的设计方式,这样设计的好处正是符合软件设计中的高内聚、低耦合特性。在实际应用过程中,通过设置顶层播放器内核1,可通过实例化NewVideoView对象实现对子播放器内核3A、3B、3C的切换,便于自适应播放器的迭代。
在一种较优的实施例中,如图3所示,步骤S2包括:
步骤S21:针对每一个所述子播放器内核,分别获取对应于所述子播放器内核的所述待播放视频的地址类型和解码方式;
所述地址类型包括:本地视频文件资源、网络视频流资源和直播流;
步骤S22:判断所述待播放视频的地址类型是否为所述本地视频文件资源;
若是,生成对应于所述待播放视频的播放方式参数、文件路径和解码参数,以作为所述播放参数;
若否,生成对应于所述待播放视频的播放方式参数、URL请求头参数和解码参数,以作为所述播放参数。
具体地,针对现有技术中的视频播放器,其在播放特定格式的视频或进行特定类型的操作时容易发生卡顿,严重影响用户体验的问题,本实施例中,通过针对每一个待播放视频分别获取其地址类型和解码方式,从而判断出需要生成的播放参数,进而使得多个播放器内核能够有效地适应对应的视频,提高播放性能。
在实施过程中,上述播放器内核指能够对待播放视频进行正常播放的播放器内核,根据实际需要可进一步设置为“兼容性”和“播放性能”两种选择方式。比如,在部分对应用程序的安装包大小有严格限制的情况,比如嵌入式设备中的播放器程序,则可基于兼容性去选择对应的播放器内核,即,在最终选择的播放器内核能够播放所有的待播放视频的情况下,通过合并可播放同一类的待播放视频的播放器内核,来减少最终选择的播放器内核的数量,从而减少了自适应播放器中的播放器内核数量以及切换条件、播放参数等。在另一实施例中,为实现较好的播放效率,则可针对不同的播放器内核在播放待播放视频时的播放效率、性能占用等因素,选择对应于待播放视频的最佳播放器内核,以作为最终选择的播放器内核。在上述过程中,当选择了需要添加在自适应播放器中的播放器内核后,需要进一步地判断其播放的地址类型为本地视频文件资源、网络视频资源或直播流资源,进而生成不同的播放参数。
在一种较优的实施例中,步骤S22中,当待播放视频为网络视频资源或直播流,且具有多个URL地址时,根据每一个URL地址分别生成一URL请求头参数,多个URL请求头参数以Map格式连接。
在一种较优的实施例中,步骤S2还包括:于顶层播放器内核中添加播放方法参数;
播放方法参数包括:播放动作、暂停动作、停止播放动作、重新播放动作、定位动作、获取时长动作。
具体地,针对现有技术中,部分基于单一内核的视频播放器,其在播放过程中提供的操作方式相对单一,仅能够将自定义的控制器部分固定在播放器上面,且不能由用户来动态添加、删除播放时的功能项的问题,本实施例中,通过在顶层播放器内核中添加播放方法参数,使得用户可根据实际需要添加对应的播放方法,进而使得最终生成的自适应播放器能够符合用户的需求。
在一种较优的实施例中,步骤S2还包括:于顶层播放器内核中添加状态自检参数;
状态自检参数用于在播放器内核中标记待播放视频需要进行状态自检的节点;
状态自检参数包括:播放准备前***、播放完成***、播放错误***、播放缓存***、播放器大小变化***和自定义参数***。
具体地,针对现有技术中,基于单一内核的视频播放器,其在使用过程中无法进行频繁的动态加载和释放的问题,本实施例中,通过在顶层播放器内核中添加状态自检参数,使得顶层播放器内核能够在运行过程中,根据状态自检参数中设置的各个节点进行状态自检,从而可触发对应的动态加载和释放事件,使得自适应播放器在使用过程中能够有效地控制播放器当前占用的资源,且不会造成内存泄漏的问题。
在一种较优的实施例中,如图4所示,步骤S4包括:
步骤S41:生成对应于自适应播放器的视图组;
步骤S42:于视图组中添加顶层播放器内核和所有的子播放器内核,并在顶层容器中添加对应于子播放器内核的播放参数;
顶层容器中还设置有控制器组件;
步骤S43:对视图组进行初始化以完成自适应播放器。
具体地,针对现有技术中的单一内核的视频播放器,其在播放过程中功能相对单一,不能很好地满足用户的需求的问题,本实施例中,通过创建对应于自适应播放器的视图组,并在视图组中依次设置如图2所示的架构,在顶层容器中设置控制器组件和子播放器内核的播放参数,并添加顶层播放器内核和子播放器,从而创建出一可进一步扩展的视图组。该视图组以View树的形式构建一容器,以组件的形式容纳各类模块,包括控制器、顶层播放器内核、子播放器内核、功能组件等模块,进而使得最终生成的自适应播放器符合用户的需求。
在一种较优的实施例中,步骤S41中,视图组中还添加有声音焦点组件、播放器缩放比例组件、进度条管理组件。
具体地,针对现有技术中的单一内核的视频播放器,其在播放过程中功能相对单一,不能很好地满足用户的需求的问题,本实施例中,通过创建对应于自适应播放器的视图组,并在视图组中添加对应的组件,从而可使得创建出的自适应播放器能够实现对应的功能,比如读取全局配置来设置播放器的声音焦点、缩放比例及进度条管理等,实现了自适应播放器的可扩展性。
在一种较优的实施例中,步骤S43还包括:根据播放参数在视图组中分别对每一个子播放器内核的抽象类泛型进行赋值。
具体地,针对现有技术中的视频播放器,其在播放特定格式的视频或进行特定类型的操作时容易发生卡顿,严重影响用户体验的问题,本实施例中,通过在视图组中添加了每一项子播放器内核后,根据视音频格式、是否为直播等信息选择对应的子播放器内核,并对子播放器内核进行抽象类泛型的赋值,从而使得每一个子播放器内核处于随时可进行调度的状态,便于顶层播放器内核对子播放器内核进行切换。
在一种较优的实施例中,多个子播放器内核中,包括一个计算机***的***原生播放器内核;
于形成自适应播放器后,获取到待播放视频时还包括播放过程,如图5所示,播放过程包括:
步骤A1:调用***原生播放器内核对待播放视频进行播放,判断是否能够正常播放待播放视频;
若是,播放待播放视频直至结束;
若否,转向步骤A2;
步骤A2:获取待播放视频的视频格式,根据视频格式和切换条件选择对应的子播放器内核进行播放。
具体地,针对现有技术中的计算机***,其在播放过程中仅依赖***原生的播放器进行播放时兼容性不佳,容易导致部分视频或直播流无法正常进行播放的问题,本实施例中,通过在播放视频的过程中,预先调用效率较高的***原生播放器内核,比如Android自带的“***MediaPlayer内核”进行播放,当其无法正常播放时,则可根据设置的切换条件选择对应的子播放器内核进行播放。
在实施过程中,上述播放过程还包括:对开始播放组件进行初始化操作,并将每一个组件及其添加顺序依次显示在容器中,并调用对应的子播放器内核,使得自适应播放器可以正常播放。在对开始播放组件进行初始化操作时,需要先判断待播放视频的类型,比如,针对待播放视频为直播流时,首先检查当前网络状态,如果无网络或网络连接不正常,即弹出提示框,并直接返回。否则读取视频链接并开始播放。在一实施例中,还可进一步判断视频的播放次数,并区分为“首次播放”和“此后播放”。当首次播放的时候,初始化进程会向***发出控制当前View视图在屏幕常驻的通知,以便获取屏幕焦点,声音焦点等参数。而“此后播放”则不再需要上述操作,只是将其改为读取缓存中的参数即可获得。随后,对控制器组件进行初始化,初始化的过程包括:将所有控制器组件,以及添加顺序迭加显示在播放器容器中。随后,通过调用对应的子播放器内核获取到视频渲染逻辑,把解析的视频及相关控制器显示在当前屏幕上。这意味着当前的视音频已进入到正常的播放状态。在播放状态中,可采用步骤S2中定义的各类监视器获取自适应播放器的状态,并根据用户的操作调用对应的组件。
一种自适应播放器,采用上述的生成方法生成,如图6所示,包括:
顶层播放器内核B1,顶层播放器内核B1连接至多个子播放器内核B2;
每一个子播放器内核B2分别对应于至少一种待播放视频的类型;
子播放器内核B2中存在一个***原生播放器内核B21,和至少一个第三方播放器内核B22;
控制器组件B3,控制器组件B3连接顶层播放器内核B1,控制器组件B3根据切换条件选择对应的子播放器内核B22。
具体地,针对现有技术中的单一内核播放器,其仅能够播放少数格式的视频内容,而对特定格式的视频内容无法正常进行播放的问题,本实施例中,通过设置顶层播放器内核B1连接若干个子播放器内核B2,并在子播放器内核B2中添加***原生播放器内核B21,使得自适应播放器能够在常规条件下采用***原生播放器内核B21进行播放,并根据需要采用特定的第三方播放器内核B22对特定格式的视频或直播流进行播放,以此实现较好的播放效果。
本发明的有益效果在于:
1、新播放器可以根据不同视频源的需求,动态选择预创建的多个子播放器内核,进而实现对不同格式视频文件、视频流、直播流的播放。并且实际***中,还对该功能进行了扩展,即可以对符合规范要求的任意第三方播放器内核作为子播放器内核进行加载,从而大大提供了播放器的灵活性。满足了客户多方面的需求。目前的新播放器不仅支持mp4和3gp等格式,而且还支持m3u8,avi,mov,flv,以及直播流等广电行业音视频领域主流媒体形式。
2、***内置自启动模式,当发现播放“卡顿”现象,可以通过重启方式,以全新模式重新运行,以保证播放的流畅程度,减少长时间播放状态下频繁出现的“卡顿”现象。
3、因为新播放器继承于***ViewGroup所以既可以动态加载到滑动列表界面,还能固定写在页面指定位置,也可以实现像抖音、b站等主流视频播放器多画面拼接的播放效果。
4、可以频繁的进行动态加载播放,重播及释放等,不会出现内存泄漏问题。
5、可以动态添加控制器,管理视频各种手势,状态等,并遵循软件设计的高内聚、低耦合及开闭原则。
以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (10)
1.一种自适应播放器的生成方法,适用于在计算机***中生成视频播放器程序,其特征在于,包括:
步骤S1:针对多个待播放视频,分别根据每一个所述待播放视频在顶层播放器内核中添加对应的子播放器内核;
步骤S2:针对每一个所述子播放器内核,分别配置所述子播放器内核的播放参数;
步骤S3:根据所有的所述播放参数和所述待播放视频,分别生成每一个所述子播放器内核的切换条件;
步骤S4:根据所述顶层播放器内核、所述切换条件和所述子播放器内核生成所述自适应播放器。
2.根据权利要求1所述的生成方法,其特征在于,所述步骤S2包括:
步骤S21:针对每一个所述子播放器内核,分别获取对应于所述子播放器内核的所述待播放视频的地址类型和解码方式;
所述地址类型包括:本地视频文件资源、网络视频流资源和直播流;
步骤S22:判断所述待播放视频的地址类型是否为所述本地视频文件资源;
若是,生成对应于所述待播放视频的播放方式参数、文件路径和解码参数,以作为所述播放参数;
若否,生成对应于所述待播放视频的播放方式参数、URL请求头参数和解码参数,以作为所述播放参数。
3.根据权利要求2所述的生成方法,其特征在于,所述步骤S22中,当所述待播放视频为所述网络视频资源或所述直播流,且具有多个URL地址时,根据每一个所述URL地址分别生成URL请求头参数,多个所述URL请求头参数以Map格式连接。
4.根据权利要求2所述的生成方法,其特征在于,所述步骤S2还包括:于所述顶层播放器内核中添加播放方法参数;
所述播放方法参数包括:播放动作、暂停动作、停止播放动作、重新播放动作、定位动作、获取时长动作。
5.根据权利要求2所述的生成方法,其特征在于,所述步骤S2还包括:于所述顶层播放器内核中添加状态自检参数;
所述状态自检参数用于在所述顶层播放器内核中标记所述待播放视频需要进行状态自检的节点;
所述状态自检参数包括:播放准备前***、播放完成***、播放错误***、播放缓存***、播放器大小变化***和自定义参数***。
6.根据权利要求1所述的生成方法,其特征在于,所述步骤S4包括:
步骤S41:生成对应于所述自适应播放器的视图组;
步骤S42:于所述视图组中添加所述顶层播放器内核和所有的所述子播放器内核,并在顶层容器中添加对应于所述子播放器内核的播放参数;
所述顶层容器中还设置有控制器组件;
步骤S43:对所述视图组进行初始化以完成所述自适应播放器。
7.根据权利要求6所述的生成方法,其特征在于,所述步骤S41中,所述视图组中还添加有声音焦点组件、播放器缩放比例组件、进度条管理组件。
8.根据权利要求6所述的生成方法,其特征在于,所述步骤S43还包括:根据所述播放参数在所述视图组中分别对每一个所述子播放器内核的抽象类泛型进行赋值。
9.根据权利要求1所述的生成方法,其特征在于,多个所述子播放器内核中,包括一个所述计算机***的***原生播放器内核;
于形成所述自适应播放器后,获取到所述待播放视频时还包括播放过程,所述播放过程包括:
步骤A1:调用所述***原生播放器内核对所述待播放视频进行播放,判断是否能够正常播放所述待播放视频;
若是,播放所述待播放视频直至结束;
若否,转向步骤A2;
步骤A2:获取所述待播放视频的视频格式,根据所述视频格式和所述切换条件选择对应的所述子播放器内核进行播放。
10.一种自适应播放器设备,其特征在于,采用如权利要求1-9任意一项所述的生成方法生成,包括:
顶层播放器内核,所述顶层播放器内核连接至多个子播放器内核;
每一个所述子播放器内核分别对应于至少一种待播放视频的类型;
所述子播放器内核中存在一个***原生播放器内核,和至少一个第三方播放器内核;
控制器组件,所述控制器组件连接所述顶层播放器内核,所述控制器组件根据切换条件选择对应的所述子播放器内核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210916676.XA CN115297371A (zh) | 2022-08-01 | 2022-08-01 | 一种自适应播放器的生成方法及自适应播放器设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210916676.XA CN115297371A (zh) | 2022-08-01 | 2022-08-01 | 一种自适应播放器的生成方法及自适应播放器设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115297371A true CN115297371A (zh) | 2022-11-04 |
Family
ID=83825494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210916676.XA Pending CN115297371A (zh) | 2022-08-01 | 2022-08-01 | 一种自适应播放器的生成方法及自适应播放器设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115297371A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115955597A (zh) * | 2023-03-14 | 2023-04-11 | 深圳市英唐数码科技有限公司 | 一种多格式视频自适应切换方法、***和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101511018A (zh) * | 2009-02-27 | 2009-08-19 | 张昊 | 一种广告媒体播放装置及其播放方法 |
CN103777938A (zh) * | 2012-10-25 | 2014-05-07 | 百度在线网络技术(北京)有限公司 | 支持多浏览器的播放方法及装置 |
CN104244048A (zh) * | 2014-10-15 | 2014-12-24 | 飞狐信息技术(天津)有限公司 | 一种视频播放方法及视频客户端 |
CN110944231A (zh) * | 2018-09-21 | 2020-03-31 | 北京国双科技有限公司 | 视频播放器的监听方法及装置 |
-
2022
- 2022-08-01 CN CN202210916676.XA patent/CN115297371A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101511018A (zh) * | 2009-02-27 | 2009-08-19 | 张昊 | 一种广告媒体播放装置及其播放方法 |
CN103777938A (zh) * | 2012-10-25 | 2014-05-07 | 百度在线网络技术(北京)有限公司 | 支持多浏览器的播放方法及装置 |
CN104244048A (zh) * | 2014-10-15 | 2014-12-24 | 飞狐信息技术(天津)有限公司 | 一种视频播放方法及视频客户端 |
CN110944231A (zh) * | 2018-09-21 | 2020-03-31 | 北京国双科技有限公司 | 视频播放器的监听方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115955597A (zh) * | 2023-03-14 | 2023-04-11 | 深圳市英唐数码科技有限公司 | 一种多格式视频自适应切换方法、***和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11659230B2 (en) | Passive data collection from third-party channel applications | |
US11336953B2 (en) | Video processing method, electronic device, and computer-readable medium | |
CN105791889A (zh) | 一种视频直播中的广告插播方法及装置 | |
CN108900854B (zh) | 直播中连麦房间切换方法、存储介质、设备及*** | |
US20080244682A1 (en) | Method for enhancing features offered by a software application residing on a set top terminal | |
CN104780378A (zh) | 一种用于解码视频的方法、装置和播放器 | |
WO2017080175A1 (zh) | 用于多机位的视频播放器、播放***及播放方法 | |
CN110913278B (zh) | 视频播放方法、显示终端及存储介质 | |
JP2018521550A (ja) | ビデオを再生するための方法、クライアント及びコンピュータ記憶媒体 | |
US9294803B2 (en) | Kiosk set-top-box | |
CN115297371A (zh) | 一种自适应播放器的生成方法及自适应播放器设备 | |
CN104219544B (zh) | Iptv业务资源的动态调度方法与*** | |
CN110460904A (zh) | 音视频推送方法、移动终端及显示终端 | |
CN106961634B (zh) | Vod视频结束播放后启动dtv信号的方法、装置和终端设备 | |
JP2013511761A (ja) | プラグインコンテンツを有するウェブページのレンダリング | |
WO2017076011A1 (zh) | 用于直播节目的回看方法和*** | |
CN104023260A (zh) | 硬件解码实现方法、装置及播放器 | |
US20150026711A1 (en) | Method and apparatus for video content distribution | |
US11375296B2 (en) | Server-side ad insertions (SSAI) with additional metadata and client functionality | |
CN112019858B (zh) | 一种视频播放方法、装置、计算机设备和存储介质 | |
JP2006514457A (ja) | 保存された双方向テレビアプリケーションの再生性能を向上させる相互アプリケーション制御 | |
US11917241B2 (en) | Electronic device and its execution method and computer-readable medium | |
US20210297735A1 (en) | Video playback method and apparatus and computer storage medium | |
TWI721706B (zh) | 動態改變影音播放行為的方法及終端播放裝置 | |
CN103731735A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221104 |