CN106921662A - 实时流连接生命周期管理方法 - Google Patents
实时流连接生命周期管理方法 Download PDFInfo
- Publication number
- CN106921662A CN106921662A CN201710117055.4A CN201710117055A CN106921662A CN 106921662 A CN106921662 A CN 106921662A CN 201710117055 A CN201710117055 A CN 201710117055A CN 106921662 A CN106921662 A CN 106921662A
- Authority
- CN
- China
- Prior art keywords
- real
- stream
- live
- time
- detectaphone
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Abstract
本发明的实时流连接生命周期管理方法,用于实时提交用户需求以自动修改直播流,包括:步骤1:服务器启动时,服务器侦听器开始监听服务器的事件并响应,每当服务器的周期改变时,服务器侦听器均通知用户变更需求对应的代码并运行以修改直播流;步骤2:虚拟主机启动时,虚拟主机侦听器监听虚拟主机的事件并响应,每当虚拟主机的周期改变时,虚拟主机侦听器均通知用户变更需求对应的代码并运行以修改直播流;步骤3:直播流启动时,直播流侦听器监听直播流的事件并响应,每当直播流的周期改变时,直播流侦听器均通知用户变更需求对应的代码并运行以修改直播流。本发明能够实现多层次侦听和多粒度的控制,能很好地适应用户需求的变化。
Description
技术领域
本发明涉及实时直播流技术,尤其涉及一种实时流管理技术。
背景技术
目前,实时直播流技术中还没有根据用户需求自动更新系统的方法。因此,程序员仅仅依赖客户一开始提出的需求进行开发。而在系统开发过程中,当用户更改需求时,又要编写大量文档,花费大量人力物力。并且,在实践中要想预先获得完善的需求说明是非常困难的,反馈信息也慢,因而经常造成系统的交付时间延迟,因此,不能很好地适应用户需求的变化。
本领域迫切需要一款能克服上述缺陷的实时流管理技术。
发明内容
本发明之目的是提供一种实时流连接生命周期管理方法,其能够实现多层次侦听和多粒度的控制,通过相应侦听器对相应周期的响应自动调用更新代码以更新相应的需求,以无需预先定义需求或冻结用户的需求,无需编写需求文档或更新需求文档,从而能够很好地适应用户需求的变化。
本发明提供一种实时流连接生命周期管理方法,用于实时提交用户需求以自动修改直播流,包括:
步骤1:服务器启动时,服务器侦听器开始监听服务器的事件并响应,并且,每当服务器的周期改变时,服务器侦听器均通知用户变更需求对应的代码并运行以修改直播流;
步骤2:虚拟主机启动时,虚拟主机侦听器监听虚拟主机的事件并响应,并且,每当虚拟主机的周期改变时,虚拟主机侦听器均通知用户变更需求对应的代码并运行以修改直播流;
步骤3:直播流启动时,直播流侦听器监听直播流的事件并响应,并且,每当直播流的周期改变时,直播流侦听器均通知用户变更需求对应的代码并运行以修改直播流。
作为优选方式,本发明提供一种实时流连接生命周期管理方法,其中,服务器侦听器监听服务器的事件包括:
服务器侦听器通过服务器端口监听服务器的动作事件,以及接收用户对服务器配置的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
作为优选方式,本发明提供一种实时流连接生命周期管理方法,其中,虚拟主机侦听器监听虚拟主机的事件包括:
虚拟主机侦听器通过服务器端口监听设置于服务器上的虚拟主机的动作,以及接收用户对虚拟主机配置的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
作为优选方式,本发明提供一种实时流连接生命周期管理方法,其中,直播流侦听器监听直播流的事件包括:
直播流侦听器通过服务器端口或虚拟主机端口监听设置于虚拟主机上的直播流,以及接收用户对直播流的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
作为优选方式,本发明提供一种实时流连接生命周期管理方法,其中,直播流侦听器包括流媒体侦听器和流媒体动作侦听器,
流媒体侦听器通过服务器端口监听设置于服务器上的虚拟主机建立的直播流的创建和销毁的事件,以及接收用户对直播流配置的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
流媒体动作侦听器通过服务器端口监听设置于服务器上的虚拟主机建立的直播流的动作的事件,以及接收用户对直播流的编码、解码、改变码率、改变帧率、动态静态添加图片信息的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
作为优选方式,本发明提供一种实时流连接生命周期管理方法,其中,步骤1包括:
服务器加载配置,以及服务器侦听器监听服务器加载配置并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器创建和分配资源,以及服务器侦听器监听服务器加载配置并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器对资源初始化,以及服务器侦听器监听服务器的资源初始化并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器开始关闭,以及服务器侦听器监听服务器开始关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器关闭完成,以及服务器侦听器监听服务器关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
作为优选方式,本发明提供一种实时流连接生命周期管理方法,其中,步骤2包括:
虚拟主机创建和分配资源,以及虚拟主机侦听器监听虚拟主机加载配置并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
虚拟主机对资源初始化,以及虚拟主机侦听器监听虚拟主机的资源初始化并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
虚拟主机开始关闭,以及虚拟主机侦听器监听虚拟主机开始关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
虚拟主机关闭完成,以及虚拟主机侦听器监听虚拟主机关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
作为优选方式,本发明提供一种实时流连接生命周期管理方法,其中,步骤3包括:
直播流创建,以及流媒体侦听器监听直播流创建并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流销毁,以及流媒体侦听器监听直播流销毁并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
作为优选方式,本发明提供一种实时流连接生命周期管理方法,其中,步骤3包括:
直播流元数据加载,以及流媒体动作侦听器监听直播流元数据加载并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流播放,以及流媒体动作侦听器监听直播流播放并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流发布,以及侦听器监听直播流发布并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流编解码视频,以及流媒体动作侦听器监听直播流编解码视频并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流编解码音频,以及流媒体动作侦听器监听直播流编解码音频并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流取消分布,以及流媒体动作侦听器监听直播流取消分布并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流暂停,以及流媒体动作侦听器监听直播流暂停并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流停止,以及流媒体动作侦听器监听直播流停止并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
作为优选方式,本发明提供一种实时流连接生命周期管理方法,还包括:
在步骤1之前在配置文件中配置服务器侦听器、虚拟主机侦听器和直播流侦听器。
本发明提供的一种实时流连接生命周期管理方法能够实现多层次侦听(服务器级别侦听、虚拟主机级别侦听和直播流级别侦听)和多粒度的控制(服务器级别响应调用、虚拟主机级别响应调用和直播流级别响应调用)。本发明通过相应侦听器对相应周期的响应自动调用更新代码以更新相应的需求,因而无需预先定义需求或冻结用户的需求,无需编写需求文档或更新需求文档,节省人力物力,大大降低了项目开发的时间。另外,同一生命周期事件可以被多个侦听器监听,因而能够实时反馈多个用户需求,有效防止交付延迟,能很好地适应用户需求的变化。
附图说明
下面将简要说明本申请所使用的附图,显而易见地,这些附图仅用于解释本发明的构思。
图1为本发明的步骤流程图;
图2为本发明服务器的生命周期的示意框图;
图3为本发明虚拟主机的生命周期的示意框图;
图4为本发明直播流初始化的生命周期的示意框图;
图5为本发明直播流动作调用的生命周期的示意框图;
图6为本发明的结构示意框图。
附图标记汇总:
1、服务器 2、虚拟主机 3、直播流
4、服务器侦听器 5、虚拟主机侦听器 6、直播流侦听器
具体实施方式
在下文中,将参照附图描述本发明的实时流连接生命周期管理方法的实施例。
在此记载的实施例为本发明的特定的具体实施方式,用于说明本发明的构思,均是解释性和示例性的,不应解释为对本发明实施方式及本发明范围的限制。除在此记载的实施例外,本领域技术人员还能够基于本申请权利要求书和说明书所公开的内容采用显而易见的其它技术方案,这些技术方案包括对在此记载的实施例做出任何显而易见的替换和修改的技术方案。
本说明书的附图为示意图,辅助说明本发明的构思,示意性地表示各部分的相互关系。相同或相似的参考标记用于表示相同或相似的部分。
参见图1,本发明提出的一种实时流连接生命周期管理方法,用于实时提交用户需求以自动修改直播流3,包括:
步骤1:S1服务器1启动时,服务器侦听器4开始监听服务器1的事件并响应,并且,每当服务器1的周期改变时,服务器侦听器4均通知用户变更需求对应的代码并运行以修改直播流3;
步骤2:S2虚拟主机2启动时,虚拟主机侦听器5监听虚拟主机2的事件并响应,并且,每当虚拟主机2的周期改变时,虚拟主机侦听器5均通知用户变更需求对应的代码并运行以修改直播流3;
步骤3:S3直播流3启动时,直播流侦听器6监听直播流3的事件并响应,并且,每当直播流3的周期改变时,直播流侦听器6均通知用户变更需求对应的代码并运行以修改直播流3。
在本实施例中,实时流连接生命周期管理方法能够为视频流建立集成的数据环境,实现数据的一致性管理。事件侦听器(服务器侦听器4、虚拟主机侦听器5和直播流侦听器6)在整个视频流连接的生命周期里扮演着非常重要的角色。事件侦听器捕获事件进而可以扩展服务器1的功能。服务器侦听器4(IServerNotify2)和虚拟主机侦听器5(IVHostNotify)可以在配置文件中配置。服务器1或虚拟主机2触发事件时,服务器侦听器4、虚拟主机侦听器5能够自动分别监听相应事件。直播流侦听器6用户可以通过虚拟主机2的API接口调用。服务器侦听器4由服务器1来通知,在服务器1运行时可以很方便的扩展一些新的功能,其中,新的功能包括:数据库配置;直播视频流开始或者结束时运行自定义的代码;必须在服务器1启动或关闭时运行的自定义代码;第三方服务,如Web服务或自定义的HTTP接口。
虚拟主机2在服务器1内运行,一个服务器1上可以同时运行一个或多个虚拟主机2;一个虚拟主机2可以设置和运行一个或多个直播流侦听器6;一个直播流3(流媒体)可以对应一个或多个直播流侦听器6。配置文件可以存储在服务器1上,例如XML文件,其文件的格式根据用户需求预先设置好。服务器1、虚拟主机2、直播流3或是侦听器加载相对应的配置文件运行。因此,可以通过用户实时变更配置文件或运行相应代码设置新需求覆盖旧需求以实现实时配置变更。
整体工作步骤如下:
首先,进行服务器1数据库的配置管理。其次,在服务器1配置完毕后运行预先安装好的虚拟主机2。然后,在虚拟主机2上运行直播视频流创建或者销毁时自定义的代码。之后,运行必须在服务器1启动或关闭时运行的自定义代码,以及运行第三方服务(如Web服务或自定义的HTTP接口)最后,运行必须在视频流播放、停止、发布、编解码及元数据修改时的自定义代码,其中,元数据就是流媒体的一些参数,比如码率、帧率、视频音频编码格式(H264、AACLD等)。
可以通过JAVA实现本发明的实时流连接生命周期管理方法:
服务器1数据库配置管理的步骤如下:首先,安装MySQL JDBC Connector。其次,将其中的mysql-connector-java-5.1.8-bin.jar放入服务器1目录。然后,创建配置相关的数据库表。最后,设置配置管理数据库连接字符串,比如数据库名、数据库账号等。
服务器侦听器4、虚拟主机侦听器5和直播流侦听器6可以通过Java侦听器模式实现,即Java事件源经过事件的封装传给侦听器,当事件源触发事件后,侦听器接收到事件对象可以回调事件的方法。
事件被触发时,为每个侦听器的听众在配置文件中添加的顺序调用侦听器方法,例如根据服务器1及虚拟主机2XML配置文件定义的顺序运行各个侦听器。服务器侦听器4、虚拟主机侦听器5和直播服务器1的运行顺序均预设在配置文件中。当一个新的侦听器接口版本发布添加新功能时,新版本具有分配编号和原始版本保留向后兼容性(新版接口版本号例如版本1.0、版本2.0,其中,版本1.0和版本2.0都可以运行,并且同时存在,只是优先运行新版本)。
服务器侦听器4(IServerNotify2)能够在服务器1的生命周期发生改变时通知用户调用相应代码或是更新数据。服务器1的生命周期参见图2。这样在服务器1的生命周期改变时能够根据用户的需求直接在程序中加入修改需求对应的相应代码,从而免除了程序员二次发布程序的麻烦。
虚拟主机侦听器5(IVHostNotify)在虚拟主机2的生命周期发生改变时通知用户调用相应代码或是更新数据。虚拟主机2的生命周期参见图3。这样在虚拟主机2的生命周期改变时能够根据用户的需求直接在程序中加入修改需求对应的相应代码,从而免除了程序员二次发布程序的麻烦。
直播流侦听器6能够在直播流3的生命周期发生改变时通知用户调用相应代码或是更新数据。直播流3初始化的生命周期参见图4。直播流3动作调用的生命周期参见图5。这样在直播流3的生命周期改变时能够根据用户的需求直接在程序中加入修改需求对应的相应代码,从而免除了程序员二次发布程序的麻烦。
当启动服务器1后,在服务器1配置加载、创建服务器1资源、初始化服务器1、开始关闭服务器1和关闭服务器1完成时分别调用虚拟主机侦听器5。服务器侦听器4可以检测服务器1是否配置加载完毕,是否创建服务器1资源完毕,是否初始化服务器1完毕,是否开始关闭服务器1,是否关闭服务器1完成。服务器侦听器4还可以根据服务器1运行的状态(周期)来调用程序更新包或是用户自定义代码。例如服务器1通过服务器1配置加载方法加载配置,通过服务器1创建方法创建服务器1资源,通过服务器1初始化方法初始化服务器1,通过关闭服务器1方法使得服务器1开始关闭和关闭完成,其中,创建服务器1和初始化服务器1的参数预先设置在配置文件中。在服务器1配置加载时,自动加载配置文件。当虚拟主机2调用创建主机和初始化主机的方法时,分别加载配置文件。服务器侦听器4侦听服务器1加载配置文件的过程,根据相应的数值判断服务器1是否在相应的周期,并调用用户的需求。每个用户作为一个听众,通过一个或多个服务器侦听器4侦听服务器1周期的变化。可以设置一个服务器1总侦听消息模块,统一接收所有的服务器1侦听信息,并且,将所有服务器1侦听信息统一转发给所有听众。服务器1总侦听消息模块连接所有服务器侦听器4,并且,自动接收所有服务器侦听器4接收的消息并按照预设的用户目的地转发相应的数据。这样当服务器1的周期发生变化时,用户能够接收到服务器1变化的通知,并且提交自己的新需求对应的新代码到系统中,让新代码覆盖旧代码实现需求变更。
当启动服务器1上的虚拟主机2后,在虚拟主机2创建和配置资源时分别调用虚拟主机侦听器5。虚拟主机侦听器5可以检测虚拟主机2是否创建,以及是否已经配置资源完毕。虚拟主机侦听器5还可以根据虚拟主机2运行的状态(周期)来调用程序更新包或是用户自定义代码。例如虚拟主机2通过虚拟主机2创建方法(onVHostCreate)创建主机,通过虚拟主机2初始化方法(onVHostInit)初始化主机,其中,创建主机和初始化主机的参数预先设置在配置文件中。当虚拟主机2调用创建主机和初始化主机的方法时,分别加载配置文件。虚拟主机侦听器5侦听虚拟主机2加载配置文件的过程,根据相应的数值判断虚拟主机2是否在相应的周期,并调用用户的需求。当调用创建主机和初始化主机的方法时,虚拟主机2不能接受访问连接请求。因此,虚拟主机2启动后做的配置应该单独设置一个初始化方法(onServerInit)来实现。每个用户作为一个听众,通过一个或多个虚拟主机侦听器5侦听虚拟主机2周期的变化。可以设置一个虚拟主机2总侦听消息模块,统一接收所有的虚拟主机2侦听信息,并且,将所有虚拟主机2侦听信息统一转发给所有听众。虚拟主机2总侦听消息模块连接所有虚拟主机侦听器5,并且,自动接收所有虚拟主机侦听器5接收的消息并按照预设的用户目的地转发相应的数据。这样,当虚拟主机2的周期发生变化时,用户能够接收到虚拟主机2变化的通知,并且提交自己的新需求对应的新代码到系统中,让新代码覆盖旧代码实现需求变更。
当开始运行虚拟主机2上的直播流3后,在直播流3创建、直播流3动作和直播流3销毁时分别调用直播流侦听器6。直播流侦听器6可以检测到是否创建了直播流3,直播流3是否调用了相应的动作(例如加载、播放、编解码、暂停、停止、发布、取消发布等),是否销毁了直播流3。直播流侦听器6还可以根据直播流3运行的状态(周期)来调用程序更新包或是用户自定义代码。例如直播流3通过通过直播流3创建方法创建直播流3,直播流3动作调用方法调用相应动作,通过直播流3销毁方法销毁直播流3,其中,创建直播流3时使用的参数预先设置在配置文件中。在直播流3创建时,自动加载配置文件。当直播流3调用创建直播流3、直播流3动作和直播流3销毁的方法时,分别加载配置文件。直播流侦听器6侦听直播流3加载配置文件和运行动作的过程,根据相应的初始化数值和动作参数判断直播流3是否在相应的周期,并调用用户的需求。每个用户作为一个听众,通过一个或多个直播流侦听器6侦听直播流3周期的变化。可以设置一个直播流3总侦听消息模块,统一接收所有的直播流3侦听信息,并且,将所有直播流3侦听信息统一转发给所有听众。直播流3总侦听消息模块连接所有直播流侦听器6,并且,自动接收所有直播流侦听器6接收的消息并按照预设的用户目的地转发相应的数据。这样,当直播流3的周期发生变化时,用户能够接收到直播流3变化的通知,并且提交自己的新需求对应的新代码到系统中,让新代码覆盖旧代码实现需求变更。
可以设置一个总侦听消息模块,统一接收所有的侦听信息,并且,将所有侦听信息统一转发给所有听众。总侦听消息模块连接所有侦听器,并且,自动接收所有侦听器接收的消息并按照预设的用户目的地转发相应的数据。这样,当服务器1、虚拟主机2或是直播流3的周期发生变化时,用户能够接收到服务器1、虚拟主机2和直播流3变化的通知,并且提交自己的新需求对应的新代码到系统中,让新代码覆盖旧代码实现需求变更。
在服务器1上配置好系统,例如WINDOWS或是LINUX系统等。在配置好的系统上设置虚拟主机2。系统内设置有服务器侦听器4、虚拟主机侦听器5和直播流侦听器6。服务器侦听器4可以设置在服务器1上,连接服务器1的底层接口,能够接收服务器1输出的数据,并且,能够在服务器1的周期的状态变化时灵活的针对直播视频流进行编辑,比如编码、解码、改变码率、改变帧率、动态静态添加图片等。虚拟主机侦听器5可以设置在服务器1上,连接虚拟主机2的底层接口,能够接收虚拟主机2输出的数据,并且,能够在虚拟主机2的周期的状态变化时灵活的针对直播视频流进行编辑,比如编码、解码、改变码率、改变帧率、动态静态添加图片等。直播流侦听器6可以设置在虚拟主机2上,通过虚拟主机2的底层接口来接收直播流3的相关数据。直播流侦听器6能够在虚拟主机2的周期的状态变化时灵活的针对直播视频流进行编辑,比如编码、解码、改变码率、改变帧率、动态静态添加图片等。
这样,通过服务器侦听器4、虚拟主机侦听器5和直播流侦听器6可以实现多层次侦听(服务器1级别侦听、虚拟主机2级别侦听和直播流3级别侦听)和多粒度的控制(服务器1级别响应调用、虚拟主机2级别响应调用和直播流3级别响应调用)。本发明通过相应侦听器对相应周期的响应自动调用更新代码以更新相应的需求,因而无需预先定义需求或冻结用户的需求,无需编写需求文档或更新需求文档,节省人力物力,大大降低了项目开发的时间。另外,同一生命周期事件可以被多个侦听器监听,因而能够实时反馈多个用户需求,有效防止交付延迟,能很好地适应用户需求的变化。
本实施例进一步优选地,提供了一种实时流连接生命周期管理方法,其中,服务器侦听器4监听服务器1的事件包括:
服务器侦听器4通过服务器1端口监听服务器1的动作事件,以及接收用户对服务器1配置的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
在本实施例中,直播流3的每种操作都对应一个模块(例如播放模块、暂停模块、关闭模块等),每一个模块都触发一个动作事件,直播流侦听器6可以侦听到相应的动作事件并相应,以及根据用户提交的需求,自动变更需求。这样监听并行模块的侦听器可以并行运行并且同时向用户发布消息或通知,防止消息和通知延迟。
本实施例进一步优选地,提供了一种实时流连接生命周期管理方法,其中,虚拟主机侦听器5监听虚拟主机2的事件包括:
虚拟主机侦听器5通过服务器1端口监听设置于服务器1上的虚拟主机2的动作,以及接收用户对虚拟主机2配置的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
本实施例进一步优选地,提供了一种实时流连接生命周期管理方法,其中,直播流侦听器6监听直播流3的事件包括:
直播流侦听器6通过服务器1端口或虚拟主机2端口监听设置于虚拟主机2上的直播流3,以及接收用户对直播流3的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
本实施例进一步优选地,提供了一种实时流连接生命周期管理方法,其中,直播流侦听器6包括流媒体侦听器和流媒体动作侦听器,
流媒体侦听器(IMediaStreamNotify)通过服务器1端口监听设置于服务器1上的虚拟主机2建立的直播流3的创建和销毁的事件,以及接收用户对直播流3配置的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
流媒体动作侦听器通过服务器1端口监听设置于服务器1上的虚拟主机2建立的直播流3的动作的事件,以及接收用户对直播流3的编码、解码、改变码率、改变帧率、动态静态添加图片信息的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
这样分别通过流媒体侦听器和流媒体动作侦听器监听直播流3周期的变化,监听效率高,延迟低。
本实施例进一步优选地,提供了一种实时流连接生命周期管理方法,其中,步骤1包括:
服务器1加载配置,以及服务器侦听器4监听服务器1加载配置并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器1创建和分配资源,以及服务器侦听器4监听服务器1加载配置并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器1对资源初始化,以及服务器侦听器4监听服务器1的资源初始化并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器1开始关闭,以及服务器侦听器4监听服务器1开始关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器1关闭完成,以及服务器侦听器4监听服务器1关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
本实施例进一步优选地,提供了一种实时流连接生命周期管理方法,其中,步骤2包括:
虚拟主机2创建和分配资源,以及虚拟主机侦听器5监听虚拟主机2加载配置并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
虚拟主机2对资源初始化,以及虚拟主机侦听器5监听虚拟主机2的资源初始化并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
虚拟主机2开始关闭,以及虚拟主机侦听器5监听虚拟主机2开始关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
虚拟主机2关闭完成,以及虚拟主机侦听器5监听虚拟主机2关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
本实施例进一步优选地,提供了一种实时流连接生命周期管理方法,其中,步骤3包括:
直播流3创建,以及流媒体侦听器监听直播流3创建并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流3销毁,以及流媒体侦听器监听直播流3销毁并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
本实施例进一步优选地,提供了一种实时流连接生命周期管理方法,其中,步骤3包括:
直播流3元数据加载,以及流媒体动作侦听器监听直播流3元数据加载并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流3播放,以及流媒体动作侦听器监听直播流3播放并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流3发布,以及侦听器监听直播流3发布并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流3编解码视频,以及流媒体动作侦听器监听直播流3编解码视频并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流3编解码音频,以及流媒体动作侦听器监听直播流3编解码音频并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流3取消分布,以及流媒体动作侦听器监听直播流3取消分布并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流3暂停,以及流媒体动作侦听器监听直播流3暂停并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流3停止,以及流媒体动作侦听器监听直播流3停止并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
在本实施例中,直播流3的运行事件分别对应一个单独的模块,所有模块均并行运行,并且,所有流媒体动作侦听器也并行运行。不管直播流3运行事件的顺序如何(直播流3元数据加载、直播流3播放、直播流3发布、直播流3编解码视频、直播流3编解码音频、直播流3取消分布、直播流3暂停、直播流3停止可以为任意运行顺序,不分先后,不仅限于本实施例),流媒体动作侦听器都能同时发布消息和通知给用户。
本实施例进一步优选地,提供了一种实时流连接生命周期管理方法,还包括:
在步骤1之前在配置文件中配置服务器侦听器4、虚拟主机侦听器5和直播流侦听器6。
以上对本发明的实时流连接生命周期管理方法进行了说明。对于本发明的实时流连接生命周期管理方法涉及的装置的具体特征可以根据本发明披露的特征的作用进行具体设计,这些设计均是本领域技术人员能够实现的。而且,本发明披露的各技术特征并不限于已披露的与其它特征的组合,本领域技术人员还可根据本发明之目的进行各技术特征之间的其它组合,以实现本发明之目的为准。
Claims (10)
1.一种实时流连接生命周期管理方法,用于实时提交用户需求以自动修改直播流,包括:
步骤1:服务器启动时,服务器侦听器开始监听服务器的事件并响应,并且,每当服务器的周期改变时,服务器侦听器均通知用户变更需求对应的代码并运行以修改直播流;
步骤2:虚拟主机启动时,虚拟主机侦听器监听虚拟主机的事件并响应,并且,每当虚拟主机的周期改变时,虚拟主机侦听器均通知用户变更需求对应的代码并运行以修改直播流;
步骤3:直播流启动时,直播流侦听器监听直播流的事件并响应,并且,每当直播流的周期改变时,直播流侦听器均通知用户变更需求对应的代码并运行以修改直播流。
2.根据权利要求1所述的实时流连接生命周期管理方法,其中,服务器侦听器监听服务器的事件包括:
服务器侦听器通过服务器端口监听服务器的动作事件,以及接收用户对服务器配置的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
3.根据权利要求1所述的实时流连接生命周期管理方法,其中,虚拟主机侦听器监听虚拟主机的事件包括:
虚拟主机侦听器通过服务器端口监听设置于服务器上的虚拟主机的动作,以及接收用户对虚拟主机配置的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
4.根据权利要求1所述的实时流连接生命周期管理方法,其中,直播流侦听器监听直播流的事件包括:
直播流侦听器通过服务器端口或虚拟主机端口监听设置于虚拟主机上的直播流,以及接收用户对直播流的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
5.根据权利要求4所述的实时流连接生命周期管理方法,其中,直播流侦听器包括流媒体侦听器和流媒体动作侦听器,
流媒体侦听器通过服务器端口监听设置于服务器上的虚拟主机建立的直播流的创建和销毁的事件,以及接收用户对直播流配置的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
流媒体动作侦听器通过服务器端口监听设置于服务器上的虚拟主机建立的直播流的动作的事件,以及接收用户对直播流的编码、解码、改变码率、改变帧率、动态静态添加图片信息的需求信息并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
6.根据权利要求1所述的实时流连接生命周期管理方法,其中,步骤1包括:
服务器加载配置,以及服务器侦听器监听服务器加载配置并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器创建和分配资源,以及服务器侦听器监听服务器加载配置并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器对资源初始化,以及服务器侦听器监听服务器的资源初始化并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器开始关闭,以及服务器侦听器监听服务器开始关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
服务器关闭完成,以及服务器侦听器监听服务器关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
7.根据权利要求1所述的实时流连接生命周期管理方法,其中,步骤2包括:
虚拟主机创建和分配资源,以及虚拟主机侦听器监听虚拟主机加载配置并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
虚拟主机对资源初始化,以及虚拟主机侦听器监听虚拟主机的资源初始化并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
虚拟主机开始关闭,以及虚拟主机侦听器监听虚拟主机开始关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
虚拟主机关闭完成,以及虚拟主机侦听器监听虚拟主机关闭并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
8.根据权利要求5所述的实时流连接生命周期管理方法,其中,步骤3包括:
直播流创建,以及流媒体侦听器监听直播流创建并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流销毁,以及流媒体侦听器监听直播流销毁并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
9.根据权利要求5所述的实时流连接生命周期管理方法,其中,步骤3包括:
直播流元数据加载,以及流媒体动作侦听器监听直播流元数据加载并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流播放,以及流媒体动作侦听器监听直播流播放并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流发布,以及侦听器监听直播流发布并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流编解码视频,以及流媒体动作侦听器监听直播流编解码视频并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流编解码音频,以及流媒体动作侦听器监听直播流编解码音频并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流取消分布,以及流媒体动作侦听器监听直播流取消分布并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流暂停,以及流媒体动作侦听器监听直播流暂停并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求;
直播流停止,以及流媒体动作侦听器监听直播流停止并响应,通过实时加载用户变更需求对应的代码实时运行,以实现实时变更需求。
10.根据权利要求1所述的实时流连接生命周期管理方法,还包括:
在步骤1之前在配置文件中配置服务器侦听器、虚拟主机侦听器和直播流侦听器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710117055.4A CN106921662B (zh) | 2017-03-01 | 2017-03-01 | 实时流连接生命周期管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710117055.4A CN106921662B (zh) | 2017-03-01 | 2017-03-01 | 实时流连接生命周期管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106921662A true CN106921662A (zh) | 2017-07-04 |
CN106921662B CN106921662B (zh) | 2020-01-03 |
Family
ID=59453878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710117055.4A Active CN106921662B (zh) | 2017-03-01 | 2017-03-01 | 实时流连接生命周期管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106921662B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866295A (zh) * | 2022-04-20 | 2022-08-05 | 哈尔滨工业大学(威海) | 一种不良站点服务ip池构建及ip主体属性数据采集和分析方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547346A (zh) * | 2003-12-15 | 2004-11-17 | 浙江大学 | 一种开放式的超远距离工业监控信息集成方法及系统 |
US20060041924A1 (en) * | 2004-08-20 | 2006-02-23 | Matsushita Electric Industrial Co., Ltd. | Digital television middleware service for home networking domains |
US20150058731A1 (en) * | 2012-12-21 | 2015-02-26 | Ustudio, Inc. | Media Distribution And Management Platform |
CN105898209A (zh) * | 2015-11-13 | 2016-08-24 | 乐视云计算有限公司 | 视频平台监控分析系统 |
CN106060071A (zh) * | 2016-06-27 | 2016-10-26 | 杭州当虹科技有限公司 | 一种直播流视频实时编辑系统 |
CN106230841A (zh) * | 2016-08-04 | 2016-12-14 | 深圳响巢看看信息技术有限公司 | 一种基于终端的网络直播中视频实时美颜及推流的方法 |
-
2017
- 2017-03-01 CN CN201710117055.4A patent/CN106921662B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547346A (zh) * | 2003-12-15 | 2004-11-17 | 浙江大学 | 一种开放式的超远距离工业监控信息集成方法及系统 |
US20060041924A1 (en) * | 2004-08-20 | 2006-02-23 | Matsushita Electric Industrial Co., Ltd. | Digital television middleware service for home networking domains |
US20150058731A1 (en) * | 2012-12-21 | 2015-02-26 | Ustudio, Inc. | Media Distribution And Management Platform |
CN105898209A (zh) * | 2015-11-13 | 2016-08-24 | 乐视云计算有限公司 | 视频平台监控分析系统 |
CN106060071A (zh) * | 2016-06-27 | 2016-10-26 | 杭州当虹科技有限公司 | 一种直播流视频实时编辑系统 |
CN106230841A (zh) * | 2016-08-04 | 2016-12-14 | 深圳响巢看看信息技术有限公司 | 一种基于终端的网络直播中视频实时美颜及推流的方法 |
Non-Patent Citations (3)
Title |
---|
王君黛: ""基于OpenStack的P2P流媒体平台设计与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
胡国强 等: ""基于SRS的开源直播系统的设计与实现"", 《现代电子技术》 * |
鲁寅辉: ""基于开源软件的校园网络视频平台设计与实现"", 《华东师范大学学报(自然科学版)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866295A (zh) * | 2022-04-20 | 2022-08-05 | 哈尔滨工业大学(威海) | 一种不良站点服务ip池构建及ip主体属性数据采集和分析方法 |
CN114866295B (zh) * | 2022-04-20 | 2023-07-25 | 哈尔滨工业大学(威海) | 一种不良站点服务ip池构建及ip主体属性数据采集和分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106921662B (zh) | 2020-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9699409B1 (en) | Recording web conferences | |
CN1866283B (zh) | 实现规则系统触发的系统及方法 | |
CN105119966A (zh) | 一种公众号管理方法及装置 | |
CN102124794B (zh) | 用于控制无线设备资源上的广告的系统和方法 | |
TW200609779A (en) | Method, system, and apparatus for discovering and connecting to data sources | |
US11704616B2 (en) | Systems and methods for distributed business processmanagement | |
CN108777818B (zh) | 一种直播软件支持同时多路推流的方法 | |
CN105204949B (zh) | 在手机安全数码卡加密过程中主动触发系统广播的方法与装置 | |
CN103081492A (zh) | 用于创建并且在移动广播通信系统中的移动设备上传送交互事件的信令机制、模板和系统 | |
CN102771133A (zh) | 用于在移动广播通信系统中的移动设备上启用、发送和维持交互特征的信令机制和系统 | |
US10331488B2 (en) | Multilayered resource scheduling | |
CN108200070B (zh) | 一种生成榜单的方法及装置 | |
CN110321120B (zh) | 数据处理方法、数据处理装置及计算机可读存储介质 | |
CN102419709A (zh) | 基于元数据的事件化 | |
EP3846482A1 (en) | Systems and methods for deactivating problematic secondary content | |
CN102609302A (zh) | 一种多媒体应用的并发管理方法和装置 | |
CN112188224A (zh) | 界面消息流控制方法、装置、设备及存储介质 | |
CN106921662A (zh) | 实时流连接生命周期管理方法 | |
CN113238731B (zh) | 一种Ebeit开发平台 | |
CN108762757A (zh) | 直播间平台业务快速开发框架及方法、服务器及介质 | |
CN113296742A (zh) | App数据处理方法、装置及移动终端 | |
CN108228192A (zh) | 一种面向服务的机载软件的动态管理的实现方法 | |
CN102033775A (zh) | 一种数据处理设备上的声音管理模块及方法 | |
CN110673827B (zh) | 基于安卓系统的资源调用方法及装置、电子设备 | |
CN106789326A (zh) | 一种基于mPaaS的媒体转码弹性伸缩服务方法 |
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 |