CN110139153B - 一种视频播放状态检测及播放控制方法与系统 - Google Patents
一种视频播放状态检测及播放控制方法与系统 Download PDFInfo
- Publication number
- CN110139153B CN110139153B CN201810130051.4A CN201810130051A CN110139153B CN 110139153 B CN110139153 B CN 110139153B CN 201810130051 A CN201810130051 A CN 201810130051A CN 110139153 B CN110139153 B CN 110139153B
- Authority
- CN
- China
- Prior art keywords
- playing
- libvlc
- state
- video
- detection
- 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/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/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/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/4425—Monitoring of client processing errors or hardware failure
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种视频播放状态检测及播放控制方法,该方法包括如下步骤:在每个视频播放检测周期内,检测每路视频播放控制线程发送的生命周期信号,在检测到该路线程的生命周期信号后,对该线程中的整个播放过程进行控制;基于预设的libvlc函数接口,检测各路视频播放控制线程的播放状态数据,确定播放状态数据的所属类别;根据播放状态数据的所属类别,输出并执行预设的与所属类别对应的响应措施,以实现对每路视频播放控制线程在播放故障和/或正常状态下的控制。本发明在保证视频状态获取准确的情况下,既能够应对断网等异常情况做出及时响应,还具备完善的状态判定逻辑配合冗余控制,保证软件的稳定可靠运行。
Description
技术领域
本发明涉及多媒体信息处理技术领域,尤其是涉及一种视频播放状态检测及播放控制方法与系统。
背景技术
装配在运营的动车组上的动车组车载接触网运行状态检测装置,能对运行线路上的弓网进行实时检测,该系统将检测到的弓网故障数据实时传递给列车当前位置所属供电段及路局的供电处,同时在车上配备一台X86架构64位触摸显示器,为随车机械师提供弓网高清监控视频,其中,显示器的视频显示部分是基于libvlc开发的。在实际应用过程中,由于现场情况复杂,导致显示终端从视频监控端的检测主机中获取的视频流存在各种偶发异常情况,如网络断开,无法连接到检测主机;网络状态正常,但检测主机的推流程序未能开启;网络正常,检测主机程序开启,但是相机并未能正常采集图像等,这些异常情况一旦出现,就需要立即对检测主机的取流程序进行重新启动连接,这就需要显示器在其运行过程中能够获取准确的视频播放状态。
在现有技术中,基于libvlc开发的视频播放控件,通常采用基于底层事件的方法去获取视频状态,通过大量测试发现,该方法获取的状态并不准确且在与函数接口的播放停止函数libvlc_media_stop()同时使用时有可能造成死锁,增加了获取视频状态及根据状态做出响应存在误判风险。
发明内容
本发明所要解决的技术问题之一是需要提供一种能够准确检测视频播放状态的方法,并实时对该状态进行控制,及时根据播放状态给予正确的重新连接控制信号,以保证偶发异常后视频能够正常播放。
为了解决上述技术问题,本发明实施例提供了一种视频播放状态检测及播放控制方法,该方法包括如下步骤:生命信号检测步骤,在每个视频播放检测周期内,检测每路视频播放控制线程发送的生命周期信号,在检测到该路线程的所述生命周期信号后,对该线程中的整个播放过程进行控制;状态数据检测步骤,基于预设的libvlc函数接口,检测各路所述视频播放控制线程的播放状态数据,确定所述播放状态数据的所属类别;检测结果响应步骤,根据所述播放状态数据的所属类别,输出并执行预设的与所属类别对应的响应措施,以实现对每路所述视频播放控制线程在播放故障和/或正常状态下的控制。
优选地,所述生命信号检测步骤还包括,若在一定时间内没有接收到所述视频播放控制线程发送的所述生命周期信号,则重新启动当前所述视频播放控制线程。
优选地,在所述检测结果响应步骤中,当所属类别为不能正常播放状态时,则停止检测所述播放状态数据,重新启动所述视频播放控制线程的取流及播放状态数据检测流程,重新执行生命信号检测步骤、状态数据检测步骤和检测结果响应步骤。
优选地,在所述检测结果响应步骤中,当所属类别为打开状态时,若获取到的连续状态检测次数小于预设的连续打开状态次数阈值时,则对当前所述视频播放控制线程进行下一轮的所述播放状态数据检测,若当前所述连续状态检测次数等于所述连续打开状态次数阈值时,则停止检测所述播放状态数据,重新启动所述视频播放控制线程的取流及播放状态数据检测流程,重新执行生命信号检测步骤、状态数据检测步骤和检测结果响应步骤。
优选地,在所述检测结果响应步骤中,当所属类别为正常播放状态时,则输出视频正常播放信号,并对当前所述视频播放控制线程进行下一轮的所述播放状态数据检测。
优选地,所述预设的libvlc函数接口为libvlc_media_get_state();所述播放状态数据包括libvlc_Opening、libvlc_Buffering、libvlc_Playing、libvlc_Paused、libvlc_Stopped、libvlc_Ended和libvlc_Error,其中,libvlc_Opening所属类别为打开状态;libvlc_Paused、libvlc_Stopped、libvlc_Ended和libvlc_Error所属类别为不能正常播放状态;libvlc_Buffering和libvlc_Playing所属类别为正常播放状态。
另一方面,提供了一种视频播放状态检测及播放控制系统,该系统包括如下模块:生命信号检测模块,其在每个视频播放检测周期内,检测每路视频播放控制线程发送的生命周期信号,在检测到该路线程的所述生命周期信号后,对该线程中的整个播放过程进行控制;状态数据检测模块,其基于预设的libvlc函数接口,检测各路所述视频播放控制线程的播放状态数据,确定所述播放状态数据的所属类别;检测结果响应模块,其根据所述播放状态数据的所属类别,输出并执行预设的与所属类别对应的响应措施,以实现对每路所述视频播放控制线程在播放故障和/或正常状态下的控制。
优选地,生命信号检测模块,其进一步若在一定时间内没有接收到所述视频播放控制线程发送的所述生命周期信号,则重新启动当前所述视频播放控制线程。
优选地,所述检测结果响应模块,其进一步具备,第一状态控制单元,其当所属类别为不能正常播放状态时,则停止检测所述播放状态数据,重新启动所述视频播放控制线程的取流及播放状态数据检测流程,重新执行生命信号检测模块、状态数据检测模块和检测结果响应模块的处理。
优选地,所述检测结果响应模块,其进一步包括,第二状态控制单元,其当所属类别为打开状态时,若获取到的连续状态检测次数小于预设的连续打开状态次数阈值时,则对当前所述视频播放控制线程进行下一轮的所述播放状态数据检测,若当前所述连续状态检测次数等于所述连续打开状态次数阈值时,则停止检测所述播放状态数据,重新启动所述视频播放控制线程的取流及播放状态数据检测流程,重新执行生命信号检测模块、状态数据检测模块和检测结果响应模块的处理。
优选地,所述检测结果响应模块,其进一步包括,第三状态控制单元,其当所属类别为正常播放状态时,则输出视频正常播放信号,并对当前所述视频播放控制线程进行下一轮的所述播放状态数据检测。
优选地,所述预设的libvlc函数接口为libvlc_media_get_state();所述播放状态数据包括libvlc_Opening、libvlc_Buffering、libvlc_Playing、libvlc_Paused、libvlc_Stopped、libvlc_Ended和libvlc_Error,其中,libvlc_Opening所属类别为打开状态;libvlc_Paused、libvlc_Stopped、libvlc_Ended和libvlc_Error所属类别为不能正常播放状态;libvlc_Buffering和libvlc_Playing所属类别为正常播放状态。
与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
本发明实施例主要提出了一种基于libvlc的视频状态检测及播放控制方法,在保证视频状态获取准确的情况下,既能够应对断网等异常情况做出及时响应,还具备完善的状态判定逻辑配合冗余控制,保证软件的稳定可靠运行。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本申请实施例的视频播放状态检测及播放控制系统的应用情景示意图。
图2为本申请实施例的视频播放状态检测及播放控制系统的结构示意图。
图3为本申请实施例的视频播放状态检测及播放控制方法的步骤示意图。
图4为本申请实施例的视频播放状态检测及播放控制方法的具体实施流程图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
为了克服上述现有技术中的不足,本申请实施例提出了一种通过上述检测主机中的视频播放窗口,基于Libvlc开发的周期性获取视频播放状态数据的方法,将获取的视频播放状态划分为若干类别,并根据这些类别采用不同的措施去应对,以确保显示器端的程序能够应对偶发异常情况发生后的快速重启连接。需要说明的是,本申请基于Libvlc函数接口进行开发。其中,VLC是一款免费、自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及各类流媒体协议。Libvlc是基于VLC多媒体播放器及框架的核心引擎和接口库。
图1为本申请实施例的视频播放状态检测及播放控制系统的应用情景示意图。如图1所示,在视频显示过程中,将每路监控设备1、2……X均配备一台检测主机,并将检测主机中的视频播放控制单独放在一个线程中,每个线程(视频播放控制线程11、21……X1)均可与本申请的视频播放状态检测及播放控制系统建立连接,该系统需要对每一路视频播放控制线程的整个播放过程进行控制,包括取流、播放、停止、状态监控等。视频播放控制线程在每个检测周期内会向外发送生命周期信号。另外,当显示器终端中的视频监控模块开启后,视频播放状态检测及播放控制系统启动,使得对应的视频播放控制线程开启。更进一步地说,每个视频播放控制线程能够获取该路监控设备1、2……X发送的视频流信息,受到视频播放状态检测及播放控制系统的控制,并可在该系统的控制下将上述视频流信息发送至显示器端的视频监控模块中,并在相应的显示区内显示每路监控设备的内容。
图2为本申请实施例的视频播放状态检测及播放控制系统的结构示意图。如图2所示,该系统具备生命信号检测模块11、状态数据检测模块12、以及检测结果响应模块13。其中,生命信号检测模块11,其在每个视频播放检测周期内,检测每路视频播放控制线程发送的生命周期信号,在检测到该路线程的生命周期信号后,对该线程中的整个播放过程进行控制;状态数据检测模块12,其基于预设的libvlc函数接口,检测各路视频播放控制线程的播放状态数据,确定播放状态数据的所属类别;检测结果响应模块13,其根据播放状态数据的所属类别,输出并执行预设的与所属类别对应的响应措施,以实现对每路视频播放控制线程在播放故障和/或正常状态下的控制。
具体地,下面针对上述各模块进行一一说明。首先,生命信号检测模块11,其具有检测定时器,当检测到有效地生命周期信号后,启动检测定时器,开始计时,按照检测定时器确定的上述时间间隔,检测生命周期信号,从而触发视频播放控制线程的播放状态数据检测流程,并在每个固定周期内基于Libvlc函数接口获取播放状态数据。其中,检测定时器检测并记录生命周期信号的持续时间,当该持续时间超过预设的生命信号维持阈值时,表明在一定时间内该系统没有接收到视频播放控制线程发送的生命周期信号,当前视频播放控制线程没有正常运行,则需要立即对当前视频播放控制线程重新启动。需要说明的是,本申请对生命信号维持阈值不作具体限定,本领域技术人员可根据实际应用情况进行设置。另外,在本实施例中,采用发送重启驱动信号,对视频播放控制线程进行重启操作,本申请针对视频播放控制线程的重启方式也不作具体限定。
然后,对上述状态数据检测模块12进行说明,检测定时器启动后,该模块12将通过libvlc函数接口,获取播放状态数据,并将播放状态数据分别进行检测、分类工作,得到当前播放状态数据的所属类别,并将分类结果发送至检测结果响应模块13。具体地,先定义获取播放状态数据的libvlc函数接口libvlc_media_get_state(),其中,播放状态数据包括:视频打开状态(Libvlc_Opening)、视频缓冲状态(Libvlc_Buffering)、视频播放状态(Libvlc_Playing)、视频暂停状态(Libvlc_Paused)、视频停止状态(Libvlc_Stopped)、视频结束状态(Libvlc_Ended)、以及视频错误状态(Libvlc_Error)。根据各种状态在播放过程时的差别,将这几种播放状态数据分为三类:(1)不能正常播放状态,该类别包括视频暂停状态(Libvlc_Paused)、视频停止状态(Libvlc_Stopped)、视频结束状态(Libvlc_Ended)、以及视频错误状态(Libvlc_Error);(2)打开状态,该类别包括视频打开状态(Libvlc_Opening);(3)正常播放状态,该类别包括视频播放状态(Libvlc_Playing)和视频缓冲状态(Libvlc_Buffering)。
接着,对检测结果响应模块13进行说明。该模块13进一步分为第一状态控制单元131、第二状态控制单元132及第三状态控制单元133,该模块13具备连续状态计数器,记录检测到的连续的播放状态的次数,得到当前连续状态检测次数,进一步根据状态数据检测模块12发送的分类结果,调取当前连续状态检测次数执行其中各个单元对应的应对措施。具体地,第一状态控制单元131,当播放状态数据的所属类别为不能正常播放状态时,视频播放控制线程在这种情况下需要执行如下操作:关闭检测定时器,停止检测播放状态数据,连续状态检测次数清零,发送针对视频播放控制线程的重启驱动信号,重新启动视频播放控制线程的取流流程以及播放状态数据检测流程,重新启动并执行生命信号检测模块11、状态数据检测模块12和检测结果响应模块13,以实现针对每一路视频播放控制线程在播放故障状态下的控制。第二状态控制单元132,其存储有连续打开状态次数阈值,用以判断当前连续状态检测次数是否达到连续打开状态次数阈值,在该单元132中,当播放状态数据的所属类别为打开状态时,连续状态检测次数加一,若当前连续状态检测次数(连续若干周期内播放状态数据均为打开状态时的周期数量)小于预设的连续打开状态次数阈值时,说明视频播放控制线程中的流媒体数据不能正常打开,此时,则对当前视频播放控制线程进行下一轮的播放状态数据检测;进一步若当前连续状态检测次数等于连续打开状态次数阈值时,关闭检测定时器,停止检测播放状态数据,连续状态检测次数清零,发送针对该路视频播放控制线程的重启驱动信号,重新启动视频播放控制线程的取流流程以及播放状态数据检测流程,重新启动并执行生命信号检测模块11、状态数据检测模块12和检测结果响应模块13,实现针对视频播放控制线程在播放故障状态下的控制,其中,连续打开状态次数阈值最优选为20。第三状态控制单元133,其当播放状态数据的所属类别为正常播放状态时,输出视频正常播放信号,使得视频播放控制线程中的视频流数据发送至显示器端,从而当前显示器端可正常显示针对弓网设备的高清监控,进一步,将连续状态检测次数清零,并对当前视频播放控制线程进行下一轮的播放状态数据检测。
图3为本申请实施例的视频播放状态检测及播放控制方法的步骤示意图。图4为本申请实施例的视频播放状态检测及播放控制方法的具体实施流程图。下面结合图3、图4,对视频播放状态检测及播放控制方法的流程进行详细说明。
首先,当该系统接收到显示器终端的视频监控模块开启之后,对应的视频播放控制线程开启,进入步骤S210(生命信号检测步骤)中,在每个视频播放检测周期内,检测每路视频播放控制线程发送的生命周期信号,启动检测定时器,在检测到该路线程的所述生命周期信号后,对该线程中的整个播放过程进行控制。另外,若该系统在一定时间内没有接收到视频播放控制线程发送的生命周期信号,则重新启动当前视频播放控制线程。具体地,该系统内存储有生命信号维持阈值,当检测定时器记录的生命信号的持续时间超过生命信号维持阈值时,表明该系统在一定时间内没有接收到视频播放控制线程发送的生命周期信号,当前对应的视频播放控制线程没有正常运行,则需要立即对当前视频播放控制线程重新启动。
然后,进入到步骤S220(状态数据检测步骤)中。在步骤S220中,基于预设的libvlc函数接口libvlc_media_get_state,检测各路视频播放控制线程的播放状态数据,并将其按照上述所述状态数据检测模块的分类方法进行分类并判定,确定当前播放状态数据所属的类别。
接着,对步骤S230(检测结果响应步骤)进行说明。具体地,当得到播放状态数据的所属类别后,进一步获取连续状态检测次数,基于此,输出并执行预设的与所属类别对应的响应措施,实现针对每一路视频播放控制线程在播放故障和/或正常状态下的控制。当播放状态数据的所属类别为不能正常播放状态时,关闭检测定时器,停止检测播放状态数据(停止检测程序),进一步使得连续状态检测次数清零,发送针对视频播放控制线程的重启驱动信号,重新启动视频播放控制线程的取流流程以及播放状态数据检测流程,重新执行生命信号检测步骤、状态数据检测步骤和检测结果响应步骤,以实现针对每一路视频播放控制线程在播放故障状态下的控制。当播放状态数据的所属类别为打开状态时,若获取到的连续状态计数器记录的当前连续状态检测次数小于连续打开状态次数阈值(连续打开状态次数阈值最优选为20)时,说明视频播放控制线程中的流媒体数据不能正常打开,此时,将连续状态检测次数进行累加(加一),并对当前视频播放控制线程进行下一轮的播放状态数据检测。若当前连续状态检测次数等于连续打开状态次数阈值时,关闭检测定时器,停止检测播放状态数据(停止检测程序),连续状态检测次数清零,发送针对该路视频播放控制线程的重启驱动信号,重新启动视频播放控制线程的取流流程以及播放状态数据检测流程,重新执行生命信号检测步骤、状态数据检测步骤和检测结果响应步骤,以实现针对视频播放控制线程在播放故障状态下的控制。需要说明的是,本申请针对连续打开状态次数阈值不作具体限定。当播放状态数据的所属类别为正常播放状态时,输出视频正常播放信号,视频播放控制线程将从对应的监控设备中获得的视频流数据发送至显示器端,从而当前显示器端可正常显示针对弓网设备的高清监控,进一步的说,对应的视频播放控制线程进一步将连续状态检测次数清零,并对当前视频播放控制线程进行下一轮的播放状态数据检测。需要说明的是,停止检测程序是将检测定时器停止计时,避免在重启取流流程中检测程序仍然响应,导致该系统异常。
本发明实施例利用基于Libvlc函数接口开发的视频播放控件,周期性的获取视频播放状态数据,并根据视频播放的功能特性将该数据划分为若干类别,并针对不同状态类别采用相应的应对响应措施,以确保显示器端的视频监控模块能够在偶发异常情况发生后进行快速重启,为随车机械师提供弓网高清监控视频,确保各设备端稳定可靠的运行。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (6)
1.一种视频播放状态检测及播放控制方法,其特征在于,该方法包括如下步骤:
生命信号检测步骤,在每个视频播放检测周期内,检测每路视频播放控制线程发送的生命周期信号,在检测到所述视频播放控制线程的所述生命周期信号后,对该线程中的整个播放过程进行控制;
状态数据检测步骤,基于预设的libvlc函数接口,检测各路所述视频播放控制线程的播放状态数据,确定所述播放状态数据的所属类别;
检测结果响应步骤,根据所述播放状态数据的所属类别,输出并执行预设的与所属类别对应的响应措施,以实现对每路所述视频播放控制线程在播放故障和/或正常状态下的控制,其中,
当所属类别为不能正常播放状态时,则停止检测所述播放状态数据,重新启动所述视频播放控制线程的取流及播放状态数据检测流程,重新执行生命信号检测步骤、状态数据检测步骤和检测结果响应步骤;
当所属类别为打开状态时,若获取到的连续状态检测次数小于预设的连续打开状态次数阈值时,则对当前所述视频播放控制线程进行下一轮的所述播放状态数据检测,若当前所述连续状态检测次数等于所述连续打开状态次数阈值时,则停止检测所述播放状态数据,重新启动所述视频播放控制线程的取流及播放状态数据检测流程,重新执行生命信号检测步骤、状态数据检测步骤和检测结果响应步骤;
当所属类别为正常播放状态时,则输出视频正常播放信号,并对当前所述视频播放控制线程进行下一轮的所述播放状态数据检测。
2.根据权利要求1所述的方法,其特征在于,所述生命信号检测步骤还包括,
若在一定时间内没有接收到所述视频播放控制线程发送的所述生命周期信号,则重新启动当前所述视频播放控制线程。
3.根据权利要求1所述的方法,其特征在于,
所述预设的libvlc函数接口为libvlc_media_get_state();
所述播放状态数据包括libvlc_Opening、libvlc_Buffering、libvlc_Playing、libvlc_Paused、libvlc_Stopped、libvlc_Ended和libvlc_Error,其中,
libvlc_Opening所属类别为打开状态;libvlc_Paused、libvlc_Stopped、libvlc_Ended和libvlc_Error所属类别为不能正常播放状态;libvlc_Buffering和libvlc_Playing所属类别为正常播放状态。
4.一种视频播放状态检测及播放控制系统,其特征在于,该系统包括如下模块:
生命信号检测模块,其在每个视频播放检测周期内,检测每路视频播放控制线程发送的生命周期信号,在检测到所述视频播放控制线程的所述生命周期信号后,对该线程中的整个播放过程进行控制;
状态数据检测模块,其基于预设的libvlc函数接口,检测各路所述视频播放控制线程的播放状态数据,确定所述播放状态数据的所属类别;
检测结果响应模块,其根据所述播放状态数据的所属类别,输出并执行预设的与所属类别对应的响应措施,以实现对每路所述视频播放控制线程在播放故障和/或正常状态下的控制,其中,所述检测结果响应模块,包括:
第一状态控制单元,其当所属类别为不能正常播放状态时,则停止检测所述播放状态数据,重新启动所述视频播放控制线程的取流及播放状态数据检测流程,重新执行生命信号检测模块、状态数据检测模块和检测结果响应模块;
第二状态控制单元,其当所属类别为打开状态时,若获取到的连续状态检测次数小于预设的连续打开状态次数阈值时,则对当前所述视频播放控制线程进行下一轮的所述播放状态数据检测,若当前所述连续状态检测次数等于所述连续打开状态次数阈值时,则停止检测所述播放状态数据,重新启动所述视频播放控制线程的取流及播放状态数据检测流程,重新执行生命信号检测模块、状态数据检测模块和检测结果响应模块;
第三状态控制单元,其当所属类别为正常播放状态时,则输出视频正常播放信号,并对当前所述视频播放控制线程进行下一轮的所述播放状态数据检测。
5.根据权利要求4所述的系统,其特征在于,生命信号检测模块,其进一步若在一定时间内没有接收到所述视频播放控制线程发送的所述生命周期信号,则重新启动当前所述视频播放控制线程。
6.根据权利要求4所述的系统,其特征在于,
所述预设的libvlc函数接口为libvlc_media_get_state();
所述播放状态数据包括libvlc_Opening、libvlc_Buffering、libvlc_Playing、libvlc_Paused、libvlc_Stopped、libvlc_Ended和libvlc_Error,其中,
libvlc_Opening所属类别为打开状态;libvlc_Paused、libvlc_Stopped、libvlc_Ended和libvlc_Error所属类别为不能正常播放状态;libvlc_Buffering和libvlc_Playing所属类别为正常播放状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810130051.4A CN110139153B (zh) | 2018-02-08 | 2018-02-08 | 一种视频播放状态检测及播放控制方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810130051.4A CN110139153B (zh) | 2018-02-08 | 2018-02-08 | 一种视频播放状态检测及播放控制方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110139153A CN110139153A (zh) | 2019-08-16 |
CN110139153B true CN110139153B (zh) | 2021-09-10 |
Family
ID=67567865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810130051.4A Active CN110139153B (zh) | 2018-02-08 | 2018-02-08 | 一种视频播放状态检测及播放控制方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110139153B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112788282B (zh) * | 2019-11-08 | 2022-04-12 | 株洲中车时代电气股份有限公司 | 一种视频信息获取方法 |
CN114071208B (zh) * | 2020-08-03 | 2023-11-28 | 中车株洲电力机车研究所有限公司 | 用于tcms的人机交互装置及其视频显示、控制方法 |
CN113886257A (zh) * | 2021-10-18 | 2022-01-04 | 斑马网络技术有限公司 | 一种多媒体框架测试方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602008002891D1 (de) * | 2008-02-11 | 2010-11-18 | Nagravision Sa | Methode zur Aktualisierung und Verwaltung einer Anwendung für die Verarbeitung von audiovisuellen Daten in einer Multimediaeinheit über ein Modul mit bedingtem Zugriff |
CN103152616A (zh) * | 2013-03-27 | 2013-06-12 | 深圳华昌视数字移动电视有限公司 | 一种实现电视节目与互联网同步交互的方法及系统 |
CN106792163A (zh) * | 2016-11-25 | 2017-05-31 | 上海乐欢软件有限公司 | 一种视频播放状态的检测方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101462279B1 (ko) * | 2008-06-09 | 2014-11-14 | 엘지전자 주식회사 | Iptv에서의 시청 예약 설정 장치 및 방법 |
CN101583036B (zh) * | 2009-06-22 | 2010-11-17 | 浙江大学 | 像素域视频转码中确定运动特征和高效编码模式关系的方法 |
CN102572518B (zh) * | 2012-01-13 | 2014-04-09 | 河海大学 | 基于vlc的视频图像分析平台及方法 |
US10404806B2 (en) * | 2015-09-01 | 2019-09-03 | Yen4Ken, Inc. | Methods and systems for segmenting multimedia content |
CN106559708A (zh) * | 2016-11-09 | 2017-04-05 | 北京奇虎科技有限公司 | 一种基于智能电视的信息推荐方法及电子设备 |
-
2018
- 2018-02-08 CN CN201810130051.4A patent/CN110139153B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602008002891D1 (de) * | 2008-02-11 | 2010-11-18 | Nagravision Sa | Methode zur Aktualisierung und Verwaltung einer Anwendung für die Verarbeitung von audiovisuellen Daten in einer Multimediaeinheit über ein Modul mit bedingtem Zugriff |
CN103152616A (zh) * | 2013-03-27 | 2013-06-12 | 深圳华昌视数字移动电视有限公司 | 一种实现电视节目与互联网同步交互的方法及系统 |
CN106792163A (zh) * | 2016-11-25 | 2017-05-31 | 上海乐欢软件有限公司 | 一种视频播放状态的检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110139153A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110139153B (zh) | 一种视频播放状态检测及播放控制方法与系统 | |
CN108875837B (zh) | 用于测试目标识别设备的装置及方法 | |
US9778988B2 (en) | Power failure detection system and method | |
US8225142B2 (en) | Method and system for tracepoint-based fault diagnosis and recovery | |
CN103744764A (zh) | 一种基于Crontab的整机内存稳定性的测试方法 | |
CN103268277A (zh) | 一种输出日志信息的方法及系统 | |
CN107678909B (zh) | 一种服务器中监控芯片配置状态的电路及方法 | |
US20140122421A1 (en) | Information processing apparatus, information processing method and computer-readable storage medium | |
CN116627877B (zh) | 一种片上总线状态记录系统和记录方法 | |
CN111601105A (zh) | 一种视频显示状态异常检测方法、装置及电子设备 | |
CN110855980B (zh) | 一种传感数据处理方法、系统、装置及存储介质 | |
CN111787256B (zh) | 警前录像的管理方法、装置、介质及电子设备 | |
EP2328322A1 (en) | Method and apparatus for accessing files stored in a storage access network (SAN) or network attached storange (NAS) | |
CN113707129B (zh) | 物联网设备中语音模块的自动化测试方法 | |
CN104749386A (zh) | 流水线样本架检测方法、检测系统及调度方法 | |
CN114816022A (zh) | 一种服务器电源异常监控方法、系统及存储介质 | |
CN117573455A (zh) | 一种pcie设备检测系统、方法、装置及产品 | |
CN101106441B (zh) | 减少业务中断时间的方法和装置 | |
US20210006510A1 (en) | Apparatus and method of monitoring ethernet communication for vehicle and vehicle including the same | |
CN109120999B (zh) | Cec系统的异常处理方法、系统、设备及存储介质 | |
CN117579811A (zh) | 一种车辆摄像头故障检测与恢复方法、系统及装置 | |
CN116009510A (zh) | 车载控制系统异常处理方法、装置和车辆 | |
US11726853B2 (en) | Electronic control device | |
CN104408059A (zh) | 一种故障处理的方法及装置 | |
CN106933578A (zh) | 一种qnx系统的usb驱动加载方法 |
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 |