CN115278339A - 混播处理方法及*** - Google Patents

混播处理方法及*** Download PDF

Info

Publication number
CN115278339A
CN115278339A CN202210923643.8A CN202210923643A CN115278339A CN 115278339 A CN115278339 A CN 115278339A CN 202210923643 A CN202210923643 A CN 202210923643A CN 115278339 A CN115278339 A CN 115278339A
Authority
CN
China
Prior art keywords
service
player
panel
playing
video data
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.)
Granted
Application number
CN202210923643.8A
Other languages
English (en)
Other versions
CN115278339B (zh
Inventor
杨正飞
蒋威
施理壮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202210923643.8A priority Critical patent/CN115278339B/zh
Publication of CN115278339A publication Critical patent/CN115278339A/zh
Priority to PCT/CN2023/105786 priority patent/WO2024027449A1/zh
Application granted granted Critical
Publication of CN115278339B publication Critical patent/CN115278339B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种混播处理方法,该方法包括:将每个业务视频按照预设规则抽象为基础视频数据,生成播放任务队列,提交至播放器;播放器从播放任务队列中读取当前的第一播放任务,获取第一播放任务对应的第一基础视频数据,根据第一播放任务从面板缓存池中加载对应的第一面板实例,采用第一面板实例播放第一基础视频数据;当切换第二播放任务时,重置播放器中的第一基础视频数据,获取第二播放任务对应的第二基础视频数据,根据第二播放任务从面板缓存池中加载对应的第二面板实例,采用第二面板实例播放第二基础视频数据。本申请还公开了一种混播处理***、电子装置和计算机可读存储介质。由此,能够实现不同播放形态的混合播放与播放器复用。

Description

混播处理方法及***
技术领域
本申请涉及视频播放技术领域,尤其涉及一种混播处理方法、***、电子装置及计算机可读存储介质。
背景技术
随着计算机技术的普及与发展,视频播放平台包含的业务频道也越来越多。例如番剧、纪录片、电影、直播等不同的业务(播放形态),分属于不同的频道页面。
现在视频业内,暂无一种播放方式能承载不同播放形态的混合播放与播放器复用。也就是说,用户需要切换不同的形态(或者说场景),例如进入到各个不同业务对应的页面去点击相应的视频,才可体验到不同业务的视频播放形态。这种方式会使得用户的观看体验发生割裂,用户感受不佳。
发明内容
本申请的主要目的在于提出一种混播处理方法、***、电子装置及计算机可读存储介质,旨在解决如何承载不同播放形态的混合播放与播放器复用的问题。
为实现上述目的,本申请实施例提供了一种混播处理方法,所述方法包括:
将每个业务视频按照预设规则抽象为基础视频数据,生成播放任务队列,提交至播放器;
所述播放器从所述播放任务队列中读取当前的第一播放任务,获取所述第一播放任务对应的第一基础视频数据,根据所述第一播放任务对应的第一业务视频所属的业务类型从面板缓存池中加载对应的第一面板实例,采用所述第一面板实例播放所述第一基础视频数据;
当切换第二播放任务时,重置所述播放器中的所述第一基础视频数据,获取所述第二播放任务对应的第二基础视频数据,根据所述第二播放任务对应的第二业务视频所属的业务类型从所述面板缓存池中加载对应的第二面板实例,采用所述第二面板实例播放所述第二基础视频数据。
可选地,所述将每个业务视频按照预设规则抽象为基础视频数据包括:
获取所述播放器提供的播放任务定义,根据所述播放任务定义对应的规则将所述业务视频抽象为所述基础视频数据,其中,所述基础视频数据不包含业务逻辑。
可选地,所述方法还包括:
当所述播放器首次播放一种业务类型的业务视频时,创建所述业务类型对应的面板实例,将所述面板实例缓存在所述面板缓存池中,并保存所述业务类型与所述面板实例之间的映射关系。
可选地,所述根据所述第一播放任务对应的第一业务视频所属的业务类型从面板缓存池中加载对应的第一面板实例包括:
从所述映射关系中查询所述业务类型对应的面板实例信息,再根据查询到的信息从所述面板缓存池中找到并加载所述第一面板实例。
可选地,所述播放器仅创建一个播放器实例,在所述播放器实例中采用各种业务类型对应的所述面板实例播放所述业务类型的业务视频对应的所述基础视频数据。
可选地,所述方法还包括:
当所述播放器触发状态更新时,将状态更新消息传递给当前绑定的业务方,其中,所述当前绑定的业务方为当前正在播放的业务视频对应的业务方。
可选地,所述方法还包括:
当从播放所述第一业务视频切换为播放所述第二业务视频时,将所述第一业务视频对应的业务方与所述播放器解绑,并绑定至所述第二业务视频对应的业务方。
可选地,所述播放器为卡片播放器,通过小窗视图播放所述业务视频。
可选地,所述方法还包括:
接收用户的预设操作,根据所述预设操作在当前显示界面添加或删除所述播放器对应的小窗视图。
可选地,所述方法还包括:
当删除所述小窗视图时,清除所述面板缓存池中缓存的面板实例。
此外,为实现上述目的,本申请实施例还提供一种混播处理***,所述***包括:
管理模块,用于将每个业务视频按照预设规则抽象为基础视频数据,生成播放任务队列,提交至播放器;
播放模块,用于控制所述播放器从所述播放任务队列中读取当前的第一播放任务,获取所述第一播放任务对应的第一基础视频数据,根据所述第一播放任务对应的第一业务视频所属的业务类型从面板缓存池中加载对应的第一面板实例,采用所述第一面板实例播放所述第一基础视频数据;
所述播放模块还用于当切换第二播放任务时,重置所述播放器中的所述第一基础视频数据,获取所述第二播放任务对应的第二基础视频数据,根据所述第二播放任务对应的第二业务视频所属的业务类型从所述面板缓存池中加载对应的第二面板实例,采用所述第二面板实例播放所述第二基础视频数据。
为实现上述目的,本申请实施例还提供一种电子装置,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的混播处理程序,所述混播处理程序被所述处理器执行时实现如上述的混播处理方法。
为实现上述目的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有混播处理程序,所述混播处理程序被处理器执行时实现如上述的混播处理方法。
本申请实施例提出的混播处理方法、***、电子装置及计算机可读存储介质,能够对播放器与业务数据做深层次的解耦,将业务视频抽象为最基础的数据提交给播放器,仅创建一个播放器实例,采用不用业务类型对应的面板实例播放相应的业务视频,实现不同播放形态(不同业务类型的视频)的混合播放与播放器复用,而不用切换不同的页面、场景,既保证了多业务的无缝切换也保证了性能,实现最佳的用户体验。
附图说明
图1为实现本申请各个实施例的一种应用环境架构图;
图2为图1中客户端的一种架构图;
图3为本申请第一实施例提出的一种混播处理方法的流程图;
图4为本申请中的小窗视图的一种示意图;
图5为本申请第二实施例提出的一种混播处理方法的流程图;
图6为本申请第三实施例提出的一种电子装置的硬件架构示意图;
图7为本申请第四实施例提出的一种混播处理***的模块示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请参阅图1,图1为实现本申请各个实施例的一种应用环境架构图。本申请可应用于包括,但不仅限于客户端2、服务器4、网络6的应用环境中。
其中,所述客户端2用于向用户显示视频播放页面并接收用户的各种操作。所述客户端2可以为PC(Personal Computer,个人电脑)、手机、平板电脑、便携计算机、可穿戴设备等终端设备。
所述服务器4用于为所述客户端2提供数据和技术支持。所述服务器4可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
所述网络6可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System of Mobile communication,GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。所述服务器4和一个或多个所述客户端2之间通过所述网络6通信连接,以进行数据传输和交互。
进一步参阅图2所示,为所述客户端2中的一种架构图。在图2中,所述客户端2中包括但不限于播放器20、业务管理器22、和面板缓存池24。
目前,视频播放可能有直播、UGC(User Generated Content,用户生成内容,例如UP主上传的系列视频内容)点播、OGV(Occupationally Generated Video,专业生产内容,例如番剧、剧集、电影、纪录片等)点播、PPC(Pay Per Click,按效果付费,即点击付费广告)点播等不同播放形态(业务类型)。但在现有的视频播放平台中,无法将多种播放形态混合播放以及播放器复用,用户需要繁琐切换到不同的播放形态对应的场景(例如点击不同业务频道页面的视频),才可体验到不同的视频播放形态。
为避免上述割裂的用户体验缺陷,本申请采用一种多业务混播模式,可以实现不同播放形态的混合播放与播放器复用,而不用切换不同的页面、场景,实现最佳的用户体验(视频播放/消费感受)。所述混播是指在同一个视频容器(播放器)内,进行多种不同业务类型视频的播放,并根据业务定制进行相关UI(User Interface,用户界面)的自动更新。
播放器20提供了播放任务的定义和任务提交接口,通过一些简单的配置即可播放一个业务视频。在整个混播过程中只会存在一个卡片播放器实例,所有的业务视频都会按照规则被抽象为基础数据(不包含业务逻辑)给播放器20进行消费。
优选地,所述播放器20为卡片播放器,所述卡片播放器为一种视频的轻量播放框架,通过小窗视图播放所述业务视频。小窗播放是指在APP(应用程序)内或者APP外,通过一个悬浮的小窗口,来承载视频的播放,用户可以在看视频的时候同时进行其它操作(例如微信聊天、购物、看新闻等)。
业务管理器22作为视频播放过程中播放器20与多种业务逻辑之间的桥梁,主要用于:
(1)保管业务类型与面板实例之间的映射关系,区分不同的业务类型并从面板缓存池24中加载对应的面板实例。
(2)各个业务方注入的代理接口相关功能的调度。在播放器20触发一定的状态更新(暂停、起播、数据错误导致播放失败等)时,能够准确的将播放器20状态更新消息传递给对应的业务方。在发生业务切换时,及时将旧业务代理进行解绑并通知业务方,然后绑定至新业务代理,避免播放操控权的错乱。
(3)在发生业务切换时,重置播放器20中的旧数据,并提交新数据。
(4)根据用户操作进行小窗视图的添加和删除(即创建或删除卡片播放器)。
面板缓存池24用于在混播场景中,对多种不同业务类型的面板实例(例如UGC面板、OGV面板等)进行缓存。在混播过程中,当首次播放到某一业务类型的视频时,创建该业务类型的面板实例并放入面板缓存池24,后续同业务类型间进行复用,一种业务类型最多只会创建一个面板实例,有效避免性能浪费。
实施例一
如图3所示,为本申请第一实施例提出的一种混播处理方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。该方法可以由所述客户端或所述服务器执行,下面以所述客户端作为执行主体为例对该方法进行说明。
该方法包括以下步骤:
S200,将每个业务视频按照预设规则抽象为基础视频数据,生成播放任务队列,提交至播放器。
本实施例采用一种多业务混播模式,实现不同播放形态的混合播放与播放器复用。
首先,需要对播放器与业务视频数据做深层次的解耦,涉及到的业务逻辑均采用代理的方式进行注入,实际由业务方自行处理。这样的处理方式,对播放器的起播流程进行了简化,业务管理器将每次播放抽象为一次纯粹的不含业务逻辑的播放任务,然后提交给播放器。播放器在不同的播放任务之间进行切换时,无需反复的创建销毁,而是复用同一个播放实例进行必要的状态清除,既保证了多业务的无缝切换也保证了性能。
所述播放器提供了播放任务的定义和任务提交接口。所述播放任务定义为能播放的最小数据集,规定了视频模式、属性等,相当于播放器与业务方之间的协议。业务管理器获取所述播放器提供的播放任务定义,根据所述播放任务定义对应的规则将每个需要播放的业务视频抽象为基础视频数据,生成播放任务队列,然后通过所述接口提交给播放器。其中,所述基础视频数据不包含业务逻辑。
在本实施例中,用户可以通过将各个业务频道中的多个业务视频添加到指定收藏夹等形式选择需要播放的业务视频。例如,用户在收藏夹中收藏了100个业务视频,全部按顺序播放,100个业务视频同时提交给业务管理器。业务管理器对这100个业务视频进行抽象,生成播放任务队列,提交给播放器消费。
值得注意的是,业务管理器可以提前对所述播放任务队列中的所有业务视频进行抽象,提交基础视频数据;也可以在切换到某一个业务视频时,对该业务视频进行抽象,提交基础视频数据。一般情况下,是在切换到业务视频时再进行抽象,以避免性能浪费。
S202,所述播放器从所述播放任务队列中读取当前的第一播放任务,获取所述第一播放任务对应的第一基础视频数据,根据所述第一播放任务对应的第一业务视频所属的业务类型从面板缓存池中加载对应的第一面板实例,采用所述第一面板实例播放所述第一基础视频数据。
在本实施例中,当所述播放器首次播放一种业务类型的业务视频时,创建所述业务类型对应的面板实例,将所述面板实例缓存在面板缓存池中,并保存所述业务类型与所述面板实例之间的映射关系。
所述映射关系通过K-V(key-value,键值对)方式保存在数据库中,包括业务类型名称和对应的面板实例信息(例如在面板缓存池中的缓存地址)等。每执行一个播放任务时,从所述映射关系中查询所述业务类型对应的面板实例信息,再根据查询到的信息从所述面板缓存池中找到并加载所述面板实例。例如,从所述映射关系中查询所述第一业务视频所属的业务类型对应的面板实例信息,再根据查询到的信息从所述面板缓存池中找到并加载第一面板实例。
在其他实施例中,也可以将各种业务类型的面板实例预先全部缓存在所述面板缓存池中,当执行其中一种业务类型的播放任务时,从所述面板缓存池中找到对应的面板实例进行加载,在此不再赘述。
S204,当切换第二播放任务时,重置所述播放器中的所述第一基础视频数据,获取所述第二播放任务对应的第二基础视频数据,根据所述第二播放任务对应的第二业务视频所属的业务类型从所述面板缓存池中加载对应的第二面板实例,采用所述第二面板实例播放所述第二基础视频数据。
值得注意的是,所述播放器在混播过程中仅创建一个播放器实例,消费所述播放任务队列中的播放任务,在所述播放器实例中采用各种业务类型对应的所述面板实例播放所述业务类型的业务视频对应的所述基础视频数据。
当发生播放任务切换时,重置播放器中的旧数据,提交新数据。例如,当从第一业务视频切换至第二业务视频时,重置所述播放器中所述第一业务视频对应的第一基础视频数据,提交所述第二业务视频对应的第二基础视频数据。具体地,所述切换可以是用户手动操作切换视频或者播放列表自动播放下一个视频等。
然后,播放器根据所述第二播放任务对应的第二业务视频所属的业务类型从所述面板缓存池中加载对应的第二面板实例,采用所述第二面板实例播放所述第二基础视频数据。
具体地,播放器从所述映射关系中查询第二业务视频所属的业务类型对应的面板实例信息,再根据查询到的信息从所述面板缓存池中找到并加载所述第二面板实例。
优选地,所述播放器为卡片播放器,通过小窗视图播放业务视频。在其他实施例中,也可以采用其他任意可行的播放形式实现所述播放任务的播放。目前而言,卡片播放器(小窗播放)是比较好的实现方式,其他的成本较高。
在一种可选实施例中,还可以接收用户的预设操作(例如在所述指定收藏夹中点击播放/点击小窗上的关闭按钮),根据所述预设操作在当前显示界面添加或删除所述播放器对应的小窗视图(也就是创建或删除卡片播放器)。
在一种可选实施例中,当删除所述小窗视图时,还需要清除所述面板缓存池中缓存的面板实例,以释放存储空间。
如图4所示,为所述小窗视图的一种示意图。在当前显示界面的任意位置(例如右下角)创建所述小窗视图(卡片播放器)。业务管理器将用户放入指定收藏夹的多个业务视频(顺序播放)进行抽象,生成播放任务队列(对应图中的播放列表),提交给卡片播放器。卡片播放器消费所述播放任务队列中的播放任务,通过每个播放任务对应的业务类型的面板实例播放相应的业务视频。当用户在播放列表中点击切换下一个视频,或者播放列表自动播放下一个视频时,卡片播放器复用已创建的播放实例,采用所述下一个视频对应的面板实例进行播放。
本实施例提出的混播处理方法,可以对播放器与业务数据做深层次的解耦,将业务视频抽象为最基础的数据提交给播放器,仅创建一个播放器实例,采用不用业务类型对应的面板实例播放相应的业务视频,实现不同播放形态(不同业务类型的视频)的混合播放与播放器复用,而不用切换不同的页面、场景,既保证了多业务的无缝切换也保证了性能,实现最佳的用户体验。
实施例二
如图5所示,为本申请第二实施例提出的一种混播处理方法的流程图。在第二实施例中,所述混播处理方法在上述第一实施例的基础上,还包括步骤S306。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。
该方法包括以下步骤:
S300,将每个业务视频按照预设规则抽象为基础视频数据,生成播放任务队列,提交至播放器。
所述播放器提供了播放任务的定义和任务提交接口。业务管理器获取所述播放器提供的播放任务定义,根据所述播放任务定义对应的规则将每个需要播放的业务视频抽象为基础视频数据,生成播放任务队列,然后通过所述接口提交给播放器。其中,所述基础视频数据不包含业务逻辑。
S302,所述播放器从所述播放任务队列中读取当前的第一播放任务,获取所述第一播放任务对应的第一基础视频数据,根据所述第一播放任务对应的第一业务视频所属的业务类型从面板缓存池中加载对应的第一面板实例,采用所述第一面板实例播放所述第一基础视频数据。
在本实施例中,当所述播放器首次播放一种业务类型的业务视频时,创建所述业务类型对应的面板实例,将所述面板实例缓存在面板缓存池中,并保存所述业务类型与所述面板实例之间的映射关系。每执行一个播放任务时,从所述映射关系中查询所述业务类型对应的面板实例信息,再根据查询到的信息从所述面板缓存池中找到并加载所述面板实例。例如,从所述映射关系中查询所述第一业务视频所属的业务类型对应的面板实例信息,再根据查询到的信息从所述面板缓存池中找到并加载第一面板实例。
S304,当切换第二播放任务时,重置所述播放器中的所述第一基础视频数据,获取所述第二播放任务对应的第二基础视频数据,根据所述第二播放任务对应的第二业务视频所属的业务类型从所述面板缓存池中加载对应的第二面板实例,采用所述第二面板实例播放所述第二基础视频数据。
值得注意的是,所述播放器在混播过程中仅创建一个播放器实例,消费所述播放任务队列中的播放任务,在所述播放器实例中采用各种业务类型对应的所述面板实例播放所述业务类型的业务视频对应的所述基础视频数据。
当发生播放任务切换时,重置播放器中的旧数据,提交新数据。例如,当从第一业务视频切换至第二业务视频时,重置所述播放器中所述第一业务视频对应的第一基础视频数据,提交所述第二业务视频对应的第二基础视频数据。具体地,所述切换可以是用户手动操作切换视频或者播放列表自动播放下一个视频等。
然后,播放器根据所述第二播放任务对应的第二业务视频所属的业务类型从所述面板缓存池中加载对应的第二面板实例,采用所述第二面板实例播放所述第二基础视频数据。
具体地,播放器从所述映射关系中查询第二业务视频所属的业务类型对应的面板实例信息,再根据查询到的信息从所述面板缓存池中找到并加载所述第二面板实例。
优选地,所述播放器为卡片播放器,通过小窗视图播放业务视频。
在一种可选实施例中,还可以接收用户的预设操作,根据所述预设操作在当前显示界面添加或删除所述播放器对应的小窗视图(也就是创建或删除卡片播放器)。
在一种可选实施例中,当删除所述小窗视图时,还需要清除所述面板缓存池中缓存的面板实例,以释放存储空间。
S306,当所述播放器触发状态更新时,将状态更新消息传递给当前绑定的业务方。
其中,所述当前绑定的业务方为当前正在播放的业务视频对应的业务方。
业务管理器负责与各个业务方之间的交互,当所述播放器播放某一业务类型的视频时,业务方监听注册给业务管理器,形成与所述播放器的绑定关系。播放器触发一定的状态(暂停、起播、数据错误导致播放失败等)更新时,业务管理器将播放器状态更新消息传递给当前绑定的业务方。
当切换到其他业务类型的视频时,及时将旧业务代理进行解绑并通知业务方(不再向其发送状态更新消息),然后绑定至新业务代理,避免播放操控权的错乱。
具体地,当播放第一业务视频时,绑定所述第一业务视频对应的业务方,将播放器的状态更新消息发送给该业务方。当从播放第一业务视频切换为播放第二业务视频时,将所述第一业务视频对应的业务方与所述播放器解绑,并绑定至所述第二业务视频对应的业务方。
本实施例提出的混播处理方法,可以对播放器与业务数据做深层次的解耦,将业务视频抽象为最基础的数据提交给播放器,仅创建一个播放器实例,采用不用业务类型对应的面板实例播放相应的业务视频,实现不同播放形态(不同业务类型的视频)的混合播放与播放器复用,而不用切换不同的页面、场景,既保证了多业务的无缝切换也保证了性能,实现最佳的用户体验。另外,可以有效管理播放器与业务方之间的交互调度,准确地将播放器的状态更新消息传递给当前绑定的业务方,并在发生业务切换时及时解绑旧业务方和绑定新的业务方,避免播放操控权的错乱。
实施例三
如图6所示,为本申请第三实施例提出一种电子装置6的硬件架构示意图。本实施例中,所述电子装置6可包括,但不仅限于,可通过***总线相互通信连接的存储器61、处理器62、网络接口63。需要指出的是,图6仅示出了具有组件61-63的电子装置6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。在本实施例中,所述电子装置6可以是所述客户端。
所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述电子装置6的内部存储单元,例如该电子装置6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述电子装置6的外部存储设备,例如该电子装置6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器61还可以既包括所述电子装置6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述电子装置6的操作***和各类应用软件,例如混播处理***60的程序代码等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述电子装置6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的程序代码或者处理数据,例如运行所述混播处理***60等。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述电子装置6与其他电子设备之间建立通信连接。
实施例四
如图7所示,为本申请第四实施例提出一种混播处理***60的模块示意图。所述混播处理***60可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例各程序模块的功能。
在本实施例中,所述混播处理***60包括:
管理模块600,用于将每个业务视频按照预设规则抽象为基础视频数据,生成播放任务队列,提交至播放模块602。
播放模块602(播放器)提供了播放任务的定义和任务提交接口。管理模块600获取所述播放器提供的播放任务定义,根据所述播放任务定义对应的规则将每个需要播放的业务视频抽象为基础视频数据,生成播放任务队列,然后通过所述接口提交给播放器。其中,所述基础视频数据不包含业务逻辑。
播放模块602,用于控制播放器从所述播放任务队列中读取当前的第一播放任务,获取所述第一播放任务对应的第一基础视频数据,根据所述第一播放任务对应的第一业务视频所属的业务类型从面板缓存池中加载对应的第一面板实例,采用所述第一面板实例播放所述第一基础视频数据。
所述播放模块602,还用于当切换第二播放任务时,重置所述播放器中的所述第一基础视频数据,获取所述第二播放任务对应的第二基础视频数据,根据所述第二播放任务对应的第二业务视频所属的业务类型从所述面板缓存池中加载对应的第二面板实例,采用所述第二面板实例播放所述第二基础视频数据。
在本实施例中,当所述播放器首次播放一种业务类型的业务视频时,创建所述业务类型对应的面板实例,将所述面板实例缓存在面板缓存池中,并保存所述业务类型与所述面板实例之间的映射关系。每切换一个播放任务时,从所述映射关系中查询所述业务类型对应的面板实例信息,再根据查询到的信息从所述面板缓存池中找到并加载所述面板实例。
值得注意的是,所述播放器在混播过程中仅创建一个播放器实例,消费所述播放任务队列中的播放任务,在所述播放器实例中采用各种业务类型对应的所述面板实例播放所述业务类型的业务视频对应的所述基础视频数据。
当发生播放任务切换时,重置播放器中的旧数据,提交新数据。例如,当从第一业务视频切换至第二业务视频时,重置所述播放器中所述第一业务视频对应的第一基础视频数据,提交所述第二业务视频对应的第二基础视频数据。具体地,所述切换可以是用户手动操作切换视频或者播放列表自动播放下一个视频等。
优选地,所述播放器为卡片播放器,通过小窗视图播放业务视频。
在一种可选实施例中,管理模块600还用于接收用户的预设操作,根据所述预设操作在当前显示界面添加或删除所述播放器对应的小窗视图(也就是创建或删除卡片播放器)。
在一种可选实施例中,当删除所述小窗视图时,管理模块600还用于清除所述面板缓存池中缓存的面板实例,以释放存储空间。
在一种可选实施例中,管理模块600还用于当所述播放器触发状态更新时,将状态更新消息传递给当前绑定的业务方,其中,所述当前绑定的业务方为当前正在播放的业务视频对应的业务方。
管理模块600还负责与各个业务方之间的交互,当所述播放器播放某一业务类型的视频时,业务方监听注册给管理模块600,形成与所述播放器的绑定关系。播放器触发一定的状态(暂停、起播、数据错误导致播放失败等)更新时,管理模块600将播放器状态更新消息传递给当前绑定的业务方。
当切换到其他业务类型的视频时,及时将旧业务代理进行解绑并通知业务方(不再向其发送状态更新消息),然后绑定至新业务代理,避免播放操控权的错乱。
具体地,当播放第一业务视频时,绑定所述第一业务视频对应的业务方,将播放器的状态更新消息发送给该业务方。当从播放第一业务视频切换为播放第二业务视频时,将所述第一业务视频对应的业务方与所述播放器解绑,并绑定至所述第二业务视频对应的业务方。
本实施例提出的混播处理***,可以对播放器与业务数据做深层次的解耦,将业务视频抽象为最基础的数据提交给播放器,仅创建一个播放器实例,采用不用业务类型对应的面板实例播放相应的业务视频,实现不同播放形态(不同业务类型的视频)的混合播放与播放器复用,而不用切换不同的页面、场景,既保证了多业务的无缝切换也保证了性能,实现最佳的用户体验。另外,可以有效管理播放器与业务方之间的交互调度,准确地将播放器的状态更新消息传递给当前绑定的业务方,并在发生业务切换时及时解绑旧业务方和绑定新的业务方,避免播放操控权的错乱。
实施例五
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有混播处理程序,所述混播处理程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的混播处理方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。

Claims (13)

1.一种混播处理方法,其特征在于,所述方法包括:
将每个业务视频按照预设规则抽象为基础视频数据,生成播放任务队列,提交至播放器;
所述播放器从所述播放任务队列中读取当前的第一播放任务,获取所述第一播放任务对应的第一基础视频数据,根据所述第一播放任务对应的第一业务视频所属的业务类型从面板缓存池中加载对应的第一面板实例,采用所述第一面板实例播放所述第一基础视频数据;
当切换第二播放任务时,重置所述播放器中的所述第一基础视频数据,获取所述第二播放任务对应的第二基础视频数据,根据所述第二播放任务对应的第二业务视频所属的业务类型从所述面板缓存池中加载对应的第二面板实例,采用所述第二面板实例播放所述第二基础视频数据。
2.根据权利要求1所述的混播处理方法,其特征在于,所述将每个业务视频按照预设规则抽象为基础视频数据包括:
获取所述播放器提供的播放任务定义,根据所述播放任务定义对应的规则将所述业务视频抽象为所述基础视频数据,其中,所述基础视频数据不包含业务逻辑。
3.根据权利要求1或2所述的混播处理方法,其特征在于,所述方法还包括:
当所述播放器首次播放一种业务类型的业务视频时,创建所述业务类型对应的面板实例,将所述面板实例缓存在所述面板缓存池中,并保存所述业务类型与所述面板实例之间的映射关系。
4.根据权利要求3所述的混播处理方法,其特征在于,所述根据所述第一播放任务对应的第一业务视频所属的业务类型从面板缓存池中加载对应的第一面板实例包括:
从所述映射关系中查询所述业务类型对应的面板实例信息,再根据查询到的信息从所述面板缓存池中找到并加载所述第一面板实例。
5.根据权利要求1至4任一项所述的混播处理方法,其特征在于,所述播放器仅创建一个播放器实例,在所述播放器实例中采用各种业务类型对应的所述面板实例播放所述业务类型的业务视频对应的所述基础视频数据。
6.根据权利要求1至5任一项所述的混播处理方法,其特征在于,所述方法还包括:
当所述播放器触发状态更新时,将状态更新消息传递给当前绑定的业务方,其中,所述当前绑定的业务方为当前正在播放的业务视频对应的业务方。
7.根据权利要求6所述的混播处理方法,其特征在于,所述方法还包括:
当从播放所述第一业务视频切换为播放所述第二业务视频时,将所述第一业务视频对应的业务方与所述播放器解绑,并绑定至所述第二业务视频对应的业务方。
8.根据权利要求1至7任一项所述的混播处理方法,其特征在于,所述播放器为卡片播放器,通过小窗视图播放所述业务视频。
9.根据权利要求8所述的混播处理方法,其特征在于,所述方法还包括:
接收用户的预设操作,根据所述预设操作在当前显示界面添加或删除所述播放器对应的小窗视图。
10.根据权利要求9所述的混播处理方法,其特征在于,所述方法还包括:
当删除所述小窗视图时,清除所述面板缓存池中缓存的面板实例。
11.一种混播处理***,其特征在于,所述***包括:
管理模块,用于将每个业务视频按照预设规则抽象为基础视频数据,生成播放任务队列,提交至播放器;
播放模块,用于控制所述播放器从所述播放任务队列中读取当前的第一播放任务,获取所述第一播放任务对应的第一基础视频数据,根据所述第一播放任务对应的第一业务视频所属的业务类型从面板缓存池中加载对应的第一面板实例,采用所述第一面板实例播放所述第一基础视频数据;
所述播放模块还用于当切换第二播放任务时,重置所述播放器中的所述第一基础视频数据,获取所述第二播放任务对应的第二基础视频数据,根据所述第二播放任务对应的第二业务视频所属的业务类型从所述面板缓存池中加载对应的第二面板实例,采用所述第二面板实例播放所述第二基础视频数据。
12.一种电子装置,其特征在于,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的混播处理程序,所述混播处理程序被所述处理器执行时实现如权利要求1至10中任一项所述的混播处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有混播处理程序,所述混播处理程序被处理器执行时实现如权利要求1至10中任一项所述的混播处理方法。
CN202210923643.8A 2022-08-02 2022-08-02 混播处理方法及*** Active CN115278339B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210923643.8A CN115278339B (zh) 2022-08-02 2022-08-02 混播处理方法及***
PCT/CN2023/105786 WO2024027449A1 (zh) 2022-08-02 2023-07-05 混播处理方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210923643.8A CN115278339B (zh) 2022-08-02 2022-08-02 混播处理方法及***

Publications (2)

Publication Number Publication Date
CN115278339A true CN115278339A (zh) 2022-11-01
CN115278339B CN115278339B (zh) 2024-03-15

Family

ID=83746408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210923643.8A Active CN115278339B (zh) 2022-08-02 2022-08-02 混播处理方法及***

Country Status (2)

Country Link
CN (1) CN115278339B (zh)
WO (1) WO2024027449A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024027449A1 (zh) * 2022-08-02 2024-02-08 上海哔哩哔哩科技有限公司 混播处理方法及***

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118075571B (zh) * 2024-04-12 2024-06-18 北京搜狐新动力信息技术有限公司 播放器复用管理方法、装置、设备、可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647629A (zh) * 2012-04-27 2012-08-22 北京人民广播电台 内容播放方法和装置
WO2015135403A1 (zh) * 2014-03-14 2015-09-17 可牛网络技术(北京)有限公司 一种播放视频的方法、装置及应用服务器
CN106375835A (zh) * 2016-08-31 2017-02-01 北京奇艺世纪科技有限公司 一种流媒体播放方法及设备
CN110611844A (zh) * 2019-10-18 2019-12-24 网易(杭州)网络有限公司 应用中播放器的控制方法、装置和视频播放装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721954B (zh) * 2016-01-29 2019-10-18 北京奇艺世纪科技有限公司 一种视频轮播***和方法
CN110149544B (zh) * 2018-02-13 2021-09-07 斑马智行网络(香港)有限公司 视频播放的方法、装置和存储介质
CN110582017B (zh) * 2019-09-10 2022-04-19 腾讯科技(深圳)有限公司 一种视频播放方法、装置、终端及存储介质
CN111787408B (zh) * 2020-07-31 2022-07-22 北京小米移动软件有限公司 多类型多媒体混合播放的处理方法、播放装置及存储介质
CN114501100B (zh) * 2022-01-19 2024-05-24 上海哔哩哔哩科技有限公司 直播页面跳转方法及***
CN114666652A (zh) * 2022-03-07 2022-06-24 上海连尚网络科技有限公司 一种用于播放视频的方法、设备、介质及程序产品
CN115278339B (zh) * 2022-08-02 2024-03-15 上海哔哩哔哩科技有限公司 混播处理方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647629A (zh) * 2012-04-27 2012-08-22 北京人民广播电台 内容播放方法和装置
WO2015135403A1 (zh) * 2014-03-14 2015-09-17 可牛网络技术(北京)有限公司 一种播放视频的方法、装置及应用服务器
CN106375835A (zh) * 2016-08-31 2017-02-01 北京奇艺世纪科技有限公司 一种流媒体播放方法及设备
CN110611844A (zh) * 2019-10-18 2019-12-24 网易(杭州)网络有限公司 应用中播放器的控制方法、装置和视频播放装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024027449A1 (zh) * 2022-08-02 2024-02-08 上海哔哩哔哩科技有限公司 混播处理方法及***

Also Published As

Publication number Publication date
CN115278339B (zh) 2024-03-15
WO2024027449A1 (zh) 2024-02-08

Similar Documents

Publication Publication Date Title
CN115278339B (zh) 混播处理方法及***
CN101106498B (zh) 内容管理方法和装置
CN102884529B (zh) 用于社交摘要的可适配布局
CA2674119C (en) Methods and systems for mapping subscription filters to advertisement applications
CN109640173B (zh) 一种视频播放方法、装置、设备及介质
US11909812B2 (en) Application control method and apparatus, electronic device, and storage medium
CN109274979B (zh) 直播间跳转方法、装置、存储介质和服务器
KR20090127060A (ko) 터미널 엔티티의 다운로드 방법 및 장치
CN111744174A (zh) 云游戏的账号管理方法、账号登录方法、装置及电子设备
CN114501100B (zh) 直播页面跳转方法及***
CN112437329A (zh) 一种播放视频的方法、装置、设备、及可读存储介质
WO2022211859A1 (en) Dynamic scheduling of content
CN113873288A (zh) 在直播过程中生成回放的方法和装置
CN101848366B (zh) Iptv***中时移分片文件的归档及节目播放方法和设备
CN112016280B (zh) 一种文件编辑方法、装置及计算机可读介质
CN112118487A (zh) 一种视频播放控制方法、装置、设备、及介质
US20090157841A1 (en) Encapsulation of online storage providers
CN115914664A (zh) 用于直播交互的方法、装置、设备和存储介质
CN111726677B (zh) 视频播放方法、装置、计算机存储介质及电子设备
CN112784074B (zh) 一种多媒体数据处理方法、计算机及可读存储介质
US11004472B2 (en) Method and device of playing video, and computing device
CN102387026B (zh) 基于泛关系链模型的***中用户资料的管理方法及装置
CN113301374A (zh) 直播音视频处理方法、装置、客户端和服务器
CN112423099A (zh) 视频加载方法、装置和电子设备
CN112905082A (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