CN116506666A - 音视频播放方法、装置、设备及可读存储介质 - Google Patents

音视频播放方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN116506666A
CN116506666A CN202310526041.3A CN202310526041A CN116506666A CN 116506666 A CN116506666 A CN 116506666A CN 202310526041 A CN202310526041 A CN 202310526041A CN 116506666 A CN116506666 A CN 116506666A
Authority
CN
China
Prior art keywords
reconnection
audio
address
preset
play address
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
Application number
CN202310526041.3A
Other languages
English (en)
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.)
Tianyi Shilian Technology Co ltd
Original Assignee
Tianyi Digital Life 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 Tianyi Digital Life Technology Co Ltd filed Critical Tianyi Digital Life Technology Co Ltd
Priority to CN202310526041.3A priority Critical patent/CN116506666A/zh
Publication of CN116506666A publication Critical patent/CN116506666A/zh
Pending legal-status Critical Current

Links

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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4108Peripherals receiving signals from specially adapted client devices characterised by an identification number or address, e.g. local network address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • 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/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/442Monitoring 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/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种音视频播放方法、装置、设备及可读存储介质,本申请可以在监控设备的播放数据出现故障时,可以对未成功收到连续完整的异常视频流进行检测,或主动检测服务端发送的数据流是否存在异常,确定故障原因,并针对故障原因及时进行排障。因此,本申请实施提供的方法不仅可以对音视频数据的网络进行监控,还可以对音视频数据本身的正确性进行监控,针对监控设备出现的不同的播放错误,进行检测并使用不同的重连策略进行排障,有效提升了用户体验,既解决了由于设备重连过于频繁导致用户无法看到稳定持续的画面的问题,又解决了设备出现故障没有及时重连导致长期无法看见视频画面的问题。

Description

音视频播放方法、装置、设备及可读存储介质
技术领域
本申请涉及监控数据处理技术领域,尤其涉及一种音视频播放方法、装置、设备及可读存储介质。
背景技术
在实际应用过程中,出于对安全防御的考虑,在一些安防监控场景往往需要将监控设备的视频画面长期保持播放。目前常用的监控设备生成的音视频数据格式各不相同,有些监控设备长期挂测时可能会产生异常数据,造成播放器播放数据常常出现卡顿、数据丢失等异常问题,有些监控设备存在部分显卡性能不稳定,有时候会出现解码音视频数据异常问题,由此可见,常见的监控设备很难满足不同场景的视频播放需求。
发明内容
本申请旨在至少能解决上述的技术缺陷之一,有鉴于此,本申请提供了一种音视频播放方法、装置、设备及可读存储介质,用于解决现有技术中监控设备播放监控视频容易出现卡顿或异常的技术缺陷。
一种音视频播放方法,包括:
获取待播放的音视频数据的播放地址;
判断是否成功获取到所述播放地址;
若未成功获取到所述播放地址,则确定获取所述播放地址失败的原因;
依据获取所述播放地址失败的原因,执行预设的重连策略,直至成功获取到所述播放地址;
若已成功获取到所述播放地址,则与所述播放地址构建连接关系;
判断是否成功与所述播放地址构建连接关系;
若已成功与所述播放地址构建连接关系,则等待并接收与所述待播放的音视频数据对应的网络包;
判断是否成功接收到所述网络包;
若已成功接收到所述网络包,则对所述网络包进行解码;
判断所述网络包是否成功解码;
若所述网络包解码成功,则获取所述网络包对应的待播放的音视频数据,并对所述网络包对应的待播放的音视频数据进行渲染并播放。
优选地,该方法还包括:
若播放所述网络包对应的待播放的音视频数据出现故障,则确定故障类型;
依据所述故障类型,返回执行按照预设的重连策略,直至重新成功播放所述网络包对应的待播放的音视频数据。
优选地,所述执行预设的重连策略,直至成功获取到所述播放地址包括:
若确定获取所述播放地址失败的原因为接口调用错误,且在首次获取所述播放地址失败,则在预设的第一时间内与所述播放地址对应的接口进行首次重连;
若在预设的第一时间内与所述播放地址对应的接口首次重连失败,则判断在预设的第一时间内与所述播放地址对应的接口首次重连失败的原因是否为接口调用错误;
若确定在预设的第一时间内与所述播放地址对应的接口首次重连失败的原因仍为接口调用错误,则在确定首次重连失败的时刻起,在预设的第二时间段内与所述播放地址对应的接口进行再次重连;
若在预设的第二时间内与所述播放地址对应的接口再次重连失败,则判断在预设的第二时间内与所述播放地址对应的接口再次重连失败的原因是否为接口调用错误;
若确定在预设的第二时间内与所述播放地址对应的接口再次重连失败的原因仍为接口调用错误,则在确定再次重连失败的时刻起,在预设的第三时间段内与所述播放地址对应的接口进行再次重连,直至成功获取到所述播放地址。
优选地,该方法还包括:
若确定在预设的第一时间内与所述播放地址对应的接口首次重连失败的原因为非接口调用错误,则在确定首次重连失败的时刻起,在预设的第四时间段内与所述播放地址对应的接口进行再次重连;
判断在确定首次重连失败的时刻起,在预设的第四时间段内与所述播放地址对应的接口进行再次重连是否成功;
若在预设的第四时间内与所述播放地址对应的接口再次重连失败,则判断在预设的第四时间内与所述播放地址对应的接口再次重连失败的原因是否为接口调用错误;
若确定在预设的第二时间内与所述播放地址对应的接口再次重连失败的原因为接口调用错误,则在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连;
判断在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连是否成功;
若在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败,则判断在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败的原因是否为接口调用错误;
若在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败的原因为接口调用错误,则返回执行在预设的第二时间段内与所述播放地址对应的接口进行再次重连的操作,直至成功获取到所述播放地址;
若在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败的原因为非接口调用错误,则返回执行所述在预设的第四时间段内与所述播放地址对应的接口进行再次重连的操作,直至成功获取到所述播放地址。
优选地,所述执行预设的重连策略,直至成功获取到所述播放地址,包括:
若确定获取所述播放地址失败的原因为非接口调用错误,则在预设的第四时间内与所述播放地址对应的接口进行首次重连,直至成功获取到所述播放地址。
优选地,所述确定获取所述播放地址失败的原因,包括:
若目标监控设备离线或出现网络连接故障,则确定获取所述播放地址失败的原因为接口错误;
若所述目标监控设备播放所述待播放的音视频数据出现故障,则确定获取所述播放地址失败的原因为播放地址存在错误。
优选地,所述确定故障类型,包括:
判断当前连接的播放地址是否为所述待播放的音视频数据对应的播放地址,若当前连接的播放地址不是所述待播放的音视频数据对应的播放地址,则确定故障类型播放地址故障;
或,
检测目标监控设备是否超过预设的第一时长仍未显示待播放的数据流,若所述目标监控设备超过预设的第一时长仍未显示所述待播放的数据流,则确定故障类型为所述目标监控设备离线或所述待播放的数据流对应的流媒体服务端性能出现故障;
或,
检测是否已经成功打开所述目标监控设备的解码器,若所述目标监控设备的解码器打开失败,则确定故障类型为所述目标监控设备的音视频数据格式异常或所述目标监控设备的内存消耗超过所述目标监控设备的内存所承受的最大值;
或,
对比所述目标监控设备的视频时间戳和所述目标监控设备对应的控制系统的时间戳,若所述目标监控设备的视频时间戳比所述目标监控设备对应的控制系统的时间戳迟,则确定故障类型为视频延迟数据延迟故障;
或,
判断所述目标监控设备的解码器的解码功能是否正常,若所述目标监控设备的解码器的解码功能异常,则确定故障类型为所述目标监控设备的视频数据格式异常或所述目标监控设备对应的控制系统的本地播放器存在故障;
或,
判断所述目标监控设备在预设的第二时长内是否接到预设的数量的完整的数据帧,若所述目标监控设备在预设的第二时长内未接到预设的数量的完整的数据帧,则确定故障类型为数据丢失故障,
或,
判断所述目标监控设备的渲染器是否因所述目标监控设备对应的控制系统的问题而导致打开失败,若所述目标监控设备的渲染器为因所述目标监控设备对应的控制系统的问题而导致打开失败,则确定故障类型为所述目标监控设备对应的控制系统的系统故障。
一种音视频播放装置,包括:
播放地址获取单元,用于获取待播放的音视频数据的播放地址;
第一判断单元,用于判断是否成功获取到所述播放地址;
第一确定单元,用于所述第一判断单元的执行结果确定为未成功获取到所述播放地址,则确定获取所述播放地址失败的原因;
重连单元,用于依据获取所述播放地址失败的原因,执行预设的重连策略,直至成功获取到所述播放地址;
构建单元,用于当所述第一判断单元的执行结果确定为已成功获取到所述播放地址,则与所述播放地址构建连接关系;
第二判断单元,用于判断是否成功与所述播放地址构建连接关系;
接收单元,用于当所述第二判断单元的执行结果确定为已成功与所述播放地址构建连接关系,则等待并接收与所述待播放的音视频数据对应的网络包;
第三判断单元,用于判断是否成功接收到所述网络包;
解码单元,用于当所述第三判断单元的执行结果为确定已成功接收到所述网络包,则对所述网络包进行解码;
第四判断单元,用于判断所述网络包是否成功解码;
播放单元,用于当所述第四判断单元的执行结果确定为所述网络包解码成功,则获取所述网络包对应的待播放的音视频数据,并对所述网络包对应的待播放的音视频数据进行渲染并播放。
一种音视频播放设备,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,实现如前述介绍中任一项所述音视频播放方法的步骤。
一种可读存储介质,所述可读存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器实现如前述介绍中任一项所述音视频播放方法的步骤。
从以上介绍的技术方案可以看出,当需要对监控设备的播放画面出现故障需要对其进行检测以排障时,本申请实施例提供的方法可以获取待播放的音视频数据的播放地址,并判断是否成功获取到所述播放地址;若未成功获取到所述播放地址,则说明可能获取所述播放地址失败,则可以进一步确定获取所述播放地址失败的原因;并依据获取所述播放地址失败的原因,执行预设的重连策略,直至成功获取到所述播放地址,以便可以通过所述播放地址获取待播放的音视频数据。若已成功获取到所述播放地址,则说明可以通过所述播放地址获取待播放的音视频数据,则可以与所述播放地址构建连接关系;并进一步判断是否成功与所述播放地址构建连接关系;若已成功与所述播放地址构建连接关系,则说明可以通过已经建立的网络连接关系来获取待播放的音视频数据,因此,在构建与所述播放地址的连接关系之后,可以等待并接收与所述待播放的音视频数据对应的网络包;并判断是否成功接收到所述网络包;若已成功接收到所述网络包,则可以对所述网络包进行解码;以便可以得到待播放的音视频数据,因此,在对所述网络包进行解码之后,可以进一步判断所述网络包是否成功解码;若所述网络包解码成功,则说明可以获取所述网络包对应的待播放的音视频数据,在获取待播放的音视频数据之后,可以对所述网络包对应的待播放的音视频数据进行渲染并播放。
由上述分析可知,本申请实施例提供的方法可以在监控设备的播放数据出现故障时,可以对未成功收到连续完整的异常视频流进行检测,或主动检测服务端发送的数据流是否存在异常,确定故障原因,并针对故障原因及时进行排障。因此,本申请实施提供的方法不仅可以对音视频数据的网络进行监控,还可以对音视频数据本身的正确性进行监控,针对监控设备出现的不同的播放错误,进行检测并使用不同的重连策略进行排障,有效提升了用户体验,既解决了由于设备重连过于频繁导致用户无法看到稳定持续的画面的问题,又解决了设备出现故障没有及时重连导致长期无法看见视频画面的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种实现音视频播放方法的流程图;
图2为本申请实施例示例的一种音视频播放装置结构示意图;
图3为本申请实施例公开的一种音视频播放设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
鉴于目前大部分的音视频播放方案难以适应复杂多变的业务需求,为此,本申请人研究了一种音视频播放方案,该音视频播放方法可以在监控设备的播放数据出现故障时,可以对未成功收到连续完整的异常视频流进行检测,或主动检测服务端发送的数据流是否存在异常,确定故障原因,并针对故障原因及时进行排障。因此,本申请实施提供的方法不仅可以对音视频数据的网络进行监控,还可以对音视频数据本身的正确性进行监控,针对监控设备出现的不同的播放错误,进行检测并使用不同的重连策略进行排障,有效提升了用户体验,既解决了由于设备重连过于频繁导致用户无法看到稳定持续的画面的问题,又解决了设备出现故障没有及时重连导致长期无法看见视频画面的问题。
本申请实施例提供的方法可以用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本申请实施例提供一种音视频播放方法,该方法可以应用于各种监控控制系统或安防管理系统中,亦可以应用在各种计算机终端或是智能终端中,其执行主体可以为计算机终端或是智能终端的处理器或服务器。
下面结合图1,介绍本申请实施例给出的音视频播放方法的流程,如图1所示,该流程可以包括以下几个步骤:
步骤S101,获取待播放的音视频数据的播放地址。
具体地,在实际应用过程中,一般监控设备的存储空间有限,如果将监控设备的监控数据实时存储在监控设备,监控设备可能会保存不了这么多数据,不利于数据追溯。因此,在实际应用过程中,一般将监控设备的监控数据保存在一个服务器,以便可以随时查看监控数据。
因此,当监控设备出现播放故障时,有可能是因为没有及时获取到待播放的数据或者设备连接出现故障,为了确定监控设备的故障原因以便及时排障,可以获取待播放的音视频数据的播放地址,以便可以确认是否可以成功连接到待播放的音视频数据的播放地址,以获取待播放的音视频数据。
其中,
待播放的音视频数据的播放地址是指向待播放的音视频数据存储的存储路径。通过待播放的音视频数据的播放地址可以获取到待播放的音视频数据。
步骤S102,判断是否成功获取到所述播放地址。
具体地,由上述介绍可知,通过待播放的音视频数据的播放地址可以获取到待播放的音视频数据。
若未成功获取到所述播放地址,则说明可能与待播放的音视频数据的播放地址未能成功构建连接,也有可能是设备出现故障导致无法获取播放地址,因此,当未成功获取到待播放的音视频数据的播放地址时,可以执行步骤S103。
步骤S103,确定获取所述播放地址失败的原因。
具体地,由上述介绍可知,若需要获取到待播放的音视频数据,则需要获取到待播放的音视频数据对应的播放地址。
没有获取到待播放的音视频数据对应的播放地址,可能会有多种原因。
例如,没有获取到待播放的音视频数据对应的播放地址,有可能是接口调用错误,监控设备的解码器未打开或者是设备出现故障无法连接。
因此,在确定未成功获取待播放的音视频数据的播放地址之后,可以进一步确定获取播放地址失败的原因,以便可以根据获取播放地址失败的具体原因来进行重连。
步骤S104,依据获取所述播放地址失败的原因,执行预设的重连策略,直至成功获取到所述播放地址。
具体地,由上述介绍可知,若未成功获取到播放地址,可能会有多种原因。
本申请实施例提供的方法可以在确定未成功获取到播放地址的之后,进一步确定获取所述播放地址失败的原因。
在确定获取所述播放地址失败的原因之后,可以进一步依据获取所述播放地址失败的原因,执行预设的重连策略,直至成功获取到所述播放地址。
若已成功获取到所述播放地址,则可以执行步骤S105。
步骤S105,与所述播放地址构建连接关系。
具体地,由上述介绍可知,本申请实施例提供的方法可以根据获取所述播放数据失败的原因重新构建连接,直至成功获取待播放的音视频数据对应的播放地址。
若已成功获取到待播放的音视频数据对应的播放地址,则说明可以通过该播放地址来获取待播放的音视频数据。
因此,在确定已经成功获取到待播放的音视频数据对应的播放地址之后,则可以进一步与所获取的播放地址构建连接关系,以便可以通过网络连接关系来访问所获取的播放地址以获取待播放的音视频数据。
步骤S106,判断是否成功与所述播放地址构建连接关系。
具体地,由上述介绍可知,当确定已经成功获取待播放的音视频数据之后,本申请实施提供的方法可以进一步与所获取的播放地址构建连接关系,以便可以通过网络连接访问所获取的播放地址来获取待播放的音视频数据。
为了确保可以成功访问所获取的播放地址来获取待播放的视频数据,则可以在与所获取的播放地址构建连接关系之后,进一步判断与播放地址是否已成功构建连接关系,以便可以确认是否可以成功访问播放地址以获取待播放的音视频数据。
若未能成功与所获取的播放地址构建连接关系,则可能需要分析获取播放地址失败的原因,以便可以重新构建连接关系。
若已成功与所获取的播放地址构建连接关系,则可以执行步骤S107。
步骤S107,等待并接收与所述待播放的音视频数据对应的网络包。
具体地,由上述介绍可知,本申请实施例提供的方法可以在获取待播放的音视频数据对应的播放地址之后,与所获取的播放地址构建连接关系。
若已经与所获取的播放地方构建连接关系,则说明可以通过所获取的播放地址来获取待播放的音视频数据。
因此,在确定已经成功与所获取的播放地址构建连接关系之后,可以进一步通过网络连接关系访问播放地址来获取待播放的音视频数据。
在实际应用过程中,待播放的音视频数据一般存储在监控控制系统或者安防系统对应的服务端,通过播放地址,可以访问播放地址对应的存储路径来获取待播放的音视频数据。
因此,在确定已经成功与所获取的播放地址构建连接关系之后,可以访问播放地址对应的服务端,将所需要的待播放数据的请求指令发送给播放地址对应的服务端,最后等待并接收服务端发送的与待播放的音视频数据对应的网络包。
随着互联网的蓬勃发展和普及,网络传输已经成为我们日常生活中不可或缺的一部分。网络传输可以将数据包从一个地方发送到另一个地方,并且能够以高速度和高效率完成这一操作。数据包是构成网络传输的基本单元,由许多不同的组成部分组成。在本文中,我们将会详细介绍数据包的组成和其在网络传输中的重要性。
数据包是网络传输中的基本单元,它是一段由电脉冲组成的二进制数据序列。数据包包括两个主要部分:头部和数据。其中头部包含了许多重要的信息,如源IP地址、目标IP地址协议类型数据包大小等。头部的信息可以用来确定数据包的路由,并确保数据包在网络中正确传输。数据部分则包括实际传输的信息内容,比如文本、音频图片等。
每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。在下一层的角度看,从上一层收到的包全部都被认为是本层的数据。
因此,与待播放的音视频数据对应的网络包可以包括待播放的音视频数据的相关信息及数据。
接收待播放的音视频数据对应的网络包之后,通过解析待播放的音视频数据对应的网络包可以获取待播放的音视频数据以便可以顺利播放待播放的音视频数据对应的网络包。
步骤S108,判断是否成功接收到所述网络包。
具体地,由上述介绍可知,本申请实施例提供的方法可以在确定已经成功与所获取的播放地址构建连接关系之后,可以等待并接收与所述待播放的音视频数据对应的网络包。
在接收网路包过程中,可以进一步判断是否成功接收到待播放的音视频数据对应的网络包,以便在确定未能收到完整的待播放的音视频数据对应的网络包之后,及时反馈并重新请求待播放的音视频数据对应的网络包。
若已成功接收到所述网络包,则可以执行步骤S109。
步骤S109,对所述网络包进行解码。
具体地,由上述介绍可知,本申请实施例提供的方法可以在确定已经成功与所获取的播放地址构建连接关系之后,可以等待并接收与所述待播放的音视频数据对应的网络包。
若确定已经成功接收到待播放的音视频数据对应的网络包,则说明可以通过所接收的网络包来获取待播放的音视频数据。
在实际应用过程中,监控设备一般可以支持不同格式的音视频数据,针对不同的音视频数据,监控设备可以利用自带的解码器对不同格式的音视频数据包进行解码,从而获得监控设备可以播放的数据。
因此,在确定已经成功接收完整的待播放的音视频对应的网络包之后,可以进一步对已接收的完整的待播放的音视频对应的网络包进行解码,以便可以获得待播放的音视频数据。
步骤S110,判断所述网络包是否成功解码;
具体地,由上述介绍可知,本申请实施例提供的方法可以对已接收的完整的待播放的音视频对应的网络包进行解码。
进一步地,若解码成功则可以顺利获取到待播放的音视频数据并顺利进行播放,若未能成功解码,则说明无法获取到待播放的音视频数据并顺利进行播放。
因此,为了确保是否能顺利获取到可以进行播放的音视频数据,在对已接收的完整的待播放的音视频对应的网络包进行解码之后,可以进一步判断是否已经成功对已接收的完整的待播放的音视频对应的网络包完成解码,以便在确定未能成功解码时,重新对该网络包进行解码或者采用别的解码方式重新对该网络包进行解码,以便可以顺利获取待播放的音视频数据。
若已经成功对已接收的完整的待播放的音视频对应的网络包完成解码,则可以执行步骤S111。
步骤S111,获取所述网络包对应的待播放的音视频数据,并对所述网络包对应的待播放的音视频数据进行渲染并播放。
具体地,由上述介绍的技术方案可以看出,本申请实施例提供的方法可以在对已接收的完整的待播放的音视频对应的网络包进行解码之后,可以进一步判断是否已经成功对已接收的完整的待播放的音视频对应的网络包完成解码。
若已经成功对已接收的完整的待播放的音视频对应的网络包完成解码,则说明可以获取到可以顺利播放的音视频数据,则可以获取该网络包对应的待播放的音视频数据,并对该网络包对应的待播放的音视频数据进行渲染并播放。
步骤S112,若播放所述网络包对应的待播放的音视频数据出现故障,则确定故障类型。
具体地,在实际应用过程中,在播放音视频数据之后,也有可能还会出现各种故障情况,当播放待播放音视频出现故障时,本申请实施例提供的方法还可以进一步根据故障情况确定所出现的故障类型,并针对不同的故障类型进行排障,依据所出现的故障类型,返回执行按照预设的重连策略,直至重新成功播放所述网络包对应的待播放的音视频数据,以确保监控设备可以稳定并顺畅地播放监控数据。
其中,
本申请实施例提供的方法中,确定故障类型可以包括以下几种判断方法:
第一种,
判断当前连接的播放地址是否为待播放的音视频数据对应的播放地址,若当前连接的播放地址不是待播放的音视频数据对应的播放地址,则可能会导致数据获取失败无法播放数据,可能为网络故障或者地址访问出错导致,则可以确定故障类型播放地址故障。
第二种,
可以检测监控设备是否超过预设的第一时长仍未显示待播放的数据流,若监控设备超过预设的第一时长仍未显示待播放的数据流,则说明可能是因为监控设备突然离线或者监控设备对应的流媒体服务端性能存在故障,由此可以确定故障类型为所述目标监控设备离线或所述待播放的数据流对应的流媒体服务端性能出现故障。
其中,
待播放的数据流可以包括音视频数据流、视频数据流或者字幕数据流中的一种或多种数据;
所述预设第一时长可以设置为30秒。
第三种,
可以检测是否已经成功打开监控设备的解码器,若监控设备的解码器打开失败,则可能由于无法正常对待播放的音视频数据流对应的网络包进行解码导致无法播放音视频数据流,也有可能是因为监控设备的视频数据格式存在异常或者高分辨率、高码率造成监控设备的内存消耗过多,已达到软件可使用的最大值引发的播放故障,由此则可以确定故障类型为监控设备的音视频数据格式异常或监控设备的内存消耗超过监控设备的内存所承受的最大值。
第四种,
可以对比监控设备的视频时间戳和监控设备对应的控制系统的时间戳,若监控设备的视频时间戳比监控设备对应的控制系统的时间戳迟,则有可能因为视频发生延迟导致监控数据播放出现故障或卡顿,由此可以确定故障类型为视频延迟数据延迟故障。
第五种,
可以判断监控设备的解码器的解码功能是否正常,若监控设备的解码器的解码功能异常,则可能无法对待播放的音视频数据进行解码,可能是由于监控设备端视频数据格式异常或本地播放器内部问题导致的播放故障,则可以确定故障类型为监控设备的视频数据格式异常或监控设备对应的控制系统的本地播放器存在故障。
第六种,
判断监控设备在预设的第二时长内是否接到预设的数量的完整的数据帧,若监控设备在预设的第二时长内未接到预设的数量的完整的数据帧,则说明可能丢失了部分数据,则可以确定故障类型为数据丢失故障。
具体地,在网络传输过程中,由于存在网络抖动等原因容易造成流数据的丢失。
例如,有些流媒体服务器端采用的是TCP机制用于发送数据,内部存在主动丢弃网络包的决策机制。所发送的网络包缓冲区值设置过小,容易造成组成i帧的几个分片网络包只发送前半部分的数据给监控客户端,后半部分无法发送,这容易造成监控设备的播放器无法解析出画面,一直停留在初始化界面。
因此,当出现数据丢失故障的时候,重连可以防止部分时段网络抖动较为严重的情况下,数据丢失过多,造成播放器迟迟无法播放画面。
其中,
所述预设的第二时长可以设置为5分钟。
第七种,
判断监控设备的渲染器是否因监控设备对应的控制系统的问题而导致打开失败,若监控设备的渲染器为因所述目标监控设备对应的控制系统的问题而导致打开失败,则可能无法完成对待播放的音视频数据的渲染,从而导致无法正常播放监控数据,则可以确定故障类型为监控设备对应的控制系统的系统故障。
在实际应用过程中,由于操作系统本身存在的问题也可能导致出现偶发性无法打开视频的情况。
进一步地,本申请实施例提供的方法可以根据监控设备播放数据存在的不同的错误,输出本地日志和提示信息。
例如,
当出现监控平台的接口错误,可以输出code值和msg的内容,并显示提示信息显示,其中,提示输出内容可以为msg的内容。
当播放监控数据过程中再出现故障的错误,如果是确定是播放地址存在问题则可以打印code值及错误原因并显示提示信息,其余的错误则可以打印错误原因,其中,提示输出内容可以为错误原因。
从上述介绍的技术方案可以看出,当监控设备的音视频播放出现故障时,本申请实施例提供的方法可以在监控设备的播放数据出现故障时,可以对未成功收到连续完整的异常视频流进行检测,或主动检测服务端发送的数据流是否存在异常,确定故障原因并给出错误提示信息,并根据错误提示信息针对故障原因及时进行排障。因此,本申请实施提供的方法不仅可以对音视频数据的网络进行监控,还可以对音视频数据本身的正确性进行监控,针对监控设备出现的不同的播放错误,进行检测并使用不同的重连策略进行排障,有效提升了用户体验,既解决了由于设备重连过于频繁导致用户无法看到稳定持续的画面的问题,又解决了设备出现故障没有及时重连导致长期无法看见视频画面的问题,进一步地,本申请实施例提供的方法可以应用于单宫格或多宫格设备需长期挂测监控视频画面,无需外部触发重连,出错情况下会自动触发重连机制,可以有效提高排障效率。
由上述介绍可知,当确定未能成功获取到待播放的音视频数据对应的播放地址时,本申请实施例提供的方法可以确定未能成功获取播放地址的原因,并根据未能成功获取播放地址的具体原因,来执行预设的重连策略,直至成功获取到所述播放地址,接下来介绍该过程,该过程可以包括如下几个步骤:
步骤S201,若确定获取所述播放地址失败的原因为接口调用错误,且在首次获取所述播放地址失败,则在预设的第一时间内与所述播放地址对应的接口进行首次重连。
具体地,由上述介绍可知,本申请实施例提供的方法可以分析并确定获取播放地址失败的具体原因。
导致获取播放地址失败的原因有很多,当确定获取播放地址失败的原因为接口调用错误时,若是在首次获取待播放的音视频数据对应的播放地址失败时,则可以在预设的第一时间内与待播放的音视频数据对应的播放地址对应的接口进行首次重连。
其中,
为了快速进行重连以再次获取待播放的音视频数据对应的播放地址,减少等待时间,则预设的第一时间可以设置为1分钟。
因此,当确定获取播放地址失败的原因为接口调用错误时,若是在首次获取待播放的音视频数据对应的播放地址失败时,则可以在一分钟之内与待播放的音视频数据对应的播放地址对应的接口进行首次重连,以便可以尽快获取到待播放的音视频数据对应的播放地址。
步骤S202,若在预设的第一时间内与所述播放地址对应的接口首次重连失败,则判断在预设的第一时间内与所述播放地址对应的接口首次重连失败的原因是否为接口调用错误。
具体地,由上述介绍可知,本申请实施例提供的方法可以在确定获取播放地址失败的原因为接口调用错误时,若是在首次获取待播放的音视频数据对应的播放地址失败时,则可以在预设的第一时间内尽快与待播放的音视频数据对应的播放地址对应的接口进行首次重连,以便可以尽快获取到待播放的音视频数据对应的播放地址。
在实际应用过程中,在预设的第一时间内尽快与待播放的音视频数据对应的播放地址对应的接口进行首次重连,也有可能会再次出现连接失败的情况。
因此,若在预设的第一时间内与待播放的音视频数据对应的播放地址对应的接口首次重连失败之后,可以进一步判断在预设的第一时间内与该播放地址对应的接口首次重连失败的原因是否为接口调用错误。
分析在预设的第一时间内与该播放地址对应的接口首次重连失败的原因可以有助于采取不同的重连策略,若在预设的第一时间内与该播放地址对应的接口首次重连失败的原因仍为接口调用错误,则可以执行步骤S203。
步骤S203,在确定首次重连失败的时刻起,在预设的第二时间段内与所述播放地址对应的接口进行再次重连。
具体地,由上述介绍可知,本申请实施例提供的方法可以分析在预设的第一时间内与该播放地址对应的接口首次重连失败的原因并根据首次重连失败的原因来执行不同的重连策略。
若确定在预设的第一时间内与该播放地址对应的接口首次重连失败的原因仍为接口调用错误,则可以在确定首次重连失败的时刻起,在预设的第二时间段内与所述播放地址对应的接口进行再次重连。
其中,
所述预设的第二时间可以设置为2分钟。
因此,当确定在一分钟内与该播放地址对应的接口首次重连失败的原因仍为接口调用错误,则可以在确定首次重连失败的时刻起,在2分钟内与该播放地址对应的接口进行再次重连,以便可以尽快获取到待播放的音视频数据对应的播放地址。
在实际应用过程中,在确定首次重连失败的时刻起,在预设的第二时间段内与该播放地址对应的接口进行再次重连,也有可能会再次出现连接失败的情况。
因此,若确定在预设的第二时间内与待播放的音视频数据对应的播放地址对应的接口再次重连失败之后,则可以执行步骤S204。
步骤S204,判断在预设的第二时间内与所述播放地址对应的接口再次重连失败的原因是否为接口调用错误。
具体地,在实际应用过程中,在确定首次重连失败的时刻起,在预设的第二时间段内与该播放地址对应的接口进行再次重连,也有可能会再次出现连接失败的情况。
因此,若确定在预设的第二时间内与待播放的音视频数据对应的播放地址对应的接口再次重连失败之后,可以进一步判断在预设的第二时间内与该播放地址对应的接口首次重连失败的原因是否为仍接口调用错误。
若在预设的第二时间内与所述播放地址对应的接口再次重连失败的原因仍为接口调用错误,则说明此前每一次连接都调用接口错误,则可以执行步骤S205。
步骤S205,在确定再次重连失败的时刻起,在预设的第三时间段内与所述播放地址对应的接口进行再次重连,直至成功获取到所述播放地址。
具体地,由上述介绍可知,本申请实施例提供的方法可以分析在预设的第二时间内与该播放地址对应的接口再次重连失败的原因并根据再次重连失败的原因来执行不同的重连策略。
在实际应用过程中,在确定首次重连失败的时刻起,在预设的第二时间段内与该播放地址对应的接口进行再次重连,也有可能会再次出现连接失败的情况。
因此,若确定在预设的第二时间内与待播放的音视频数据对应的播放地址对应的接口再次重连失败之后,则若确定在预设的第二时间内与该播放地址对应的接口再次重连失败的原因仍为接口调用错误,则可以在确定再次重连失败的时刻起,在预设的第三时间段内与该播放地址对应的接口进行再次重连。
其中,
所述预设的第三时间可以设置为5分钟。
因此,当确定在2分钟内与该播放地址对应的接口再次重连失败的原因仍为接口调用错误,则可以在确定再次重连失败的时刻起,在5分钟内与该播放地址对应的接口进行再次重连,以便可以尽快获取到待播放的音视频数据对应的播放地址。进一步地,在实际应用过程中,在确定再次重连失败的时刻起,在预设的第三时间段内与该播放地址对应的接口进行再次重连,也有可能会再次出现连接失败的情况。
若在预设的第三时间段内与该播放地址对应的接口进行再次重连仍连接失败的话,则可以在确定再次连接失败的时刻起,继续按照预设的第三时间段内与该播放地址对应的接口进行再次重连,直至成功获取到待播放的音视频数据对应的播放地址。
从上述介绍的技术方案可以看出,当监控设备的音视频播放出现故障时,且当确定未能成功获取到待播放的音视频数据对应的播放地址时,本申请实施例提供的方法可以确定未能成功获取播放地址的原因,并根据未能成功获取播放地址的具体原因,来执行预设的重连策略,直至成功获取到待播放的音视频数据对应的播放地址,以便通过待播放的音视频数据对应的播放地址来获取待播放的音视频数据。
在实际应用过程中,若确定在预设的第一时间内与该播放地址对应的接口首次重连失败的原因为非接口调用错误,则本申请实施例提供的方法所执行的重连策略不同,接下来介绍在确定在预设的第一时间内与该播放地址对应的接口首次重连失败的原因为非接口调用错误时,本申请实施例提供的方法所执行的重连策略。具体可以包括如下几个步骤:
步骤S301,在确定首次重连失败的时刻起,在预设的第四时间段内与所述播放地址对应的接口进行再次重连。
具体地,由上述介绍可知,本申请实施例提供的方法可以分析并确定获取播放地址失败的具体原因。
在实际应用过程中,导致获取播放地址失败的原因有很多,而发起重连失败的原因可能有很多种。
例如,重连失败的原因可能有接口调用错误也有可能有非接口调用错误。
若确定在预设的第一时间内与该播放地址对应的接口首次重连失败的原因为非接口调用错误,则可以确定首次重连失败的时刻起,在预设的第四时间段内与该播放地址对应的接口进行再次重连,以便可以尽快获取待播放的音视频数据对应的播放地址。
其中,
为了尽快获取待播放的音视频数据对应的播放地址,则可以将所述预设的第四时间段设置为3秒。
例如,若确定在1分钟内与该播放地址对应的接口首次重连失败的原因为非接口调用错误,则可以确定首次重连失败的时刻起,在3秒钟内与该播放地址对应的接口进行再次重连,以便可以尽快获取待播放的音视频数据对应的播放地址。
步骤S302,判断在确定首次重连失败的时刻起,在预设的第四时间段内与所述播放地址对应的接口进行再次重连是否成功。
具体地,由上述介绍可知,本申请实施例提供的方法可以在确定在预设的第一时间内与该播放地址对应的接口首次重连失败的原因为非接口调用错误,则可以确定首次重连失败的时刻起,在预设的第四时间段内与所述播放地址对应的接口进行再次重连。
在实际应用过程中,确定首次重连失败的时刻起,在预设的第四时间段内与所述播放地址对应的接口进行再次重连,也有可能会再次出现连接失败的情况。
因此,为了确认在确定首次重连失败的时刻起,在预设的第四时间段内与所述播放地址对应的接口进行再次重连是否成功,可以进一步判断在确定首次重连失败的时刻起,在预设的第四时间段内与所述播放地址对应的接口进行再次重连是否成功。
若在预设的第四时间内与所述播放地址对应的接口再次重连失败,则可以执行步骤S303,以便可以根据连接失败的原因执行不同的重连策略,以便可以尽快获取到待播放的音视频播放数据。
步骤S303,判断在预设的第四时间内与所述播放地址对应的接口再次重连失败的原因是否为接口调用错误。
具体地,在实际应用过程中,确定首次重连失败的时刻起,在预设的第四时间段内与所述播放地址对应的接口进行再次重连,也有可能会再次出现连接失败的情况。
若在预设的第四时间内与所述播放地址对应的接口再次重连失败,为了确认在预设的第四时间段内与所述播放地址对应的接口进行再次重连的具体原因,可以进一步判断在预设的第四时间内与所述播放地址对应的接口再次重连失败的原因是否为接口调用错误。
若确定在预设的第二时间内与所述播放地址对应的接口再次重连失败的原因为接口调用错误,则可以执行步骤S304。
步骤S304,在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连。
具体地,由上述介绍的技术方案可知,本申请实施例提供的方法可以判断在预设的第四时间内与所述播放地址对应的接口再次重连失败的原因是否为接口调用错误。
若确定连接失败的原因为接口调用错误,则所执行的重连策略则有所不同。
因此,若确定在预设的第二时间内与所述播放地址对应的接口再次重连失败的原因为接口调用错误,则可以在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连。步骤S305,判断在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连是否成功。
具体地,由上述介绍可知,本申请实施例提供的方法可以确定在预设的第二时间内与所述播放地址对应的接口再次重连失败的原因为接口调用错误,则可以在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连。
在实际应用过程中,在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连,也有可能会再次出现连接失败的情况。
因此,为了确认确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连是否成功,可以进一步判断在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连是否成功。
若在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败,则说明当前执行的重连策略无法解决故障,则可以执行步骤S306。
步骤S306,判断在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败的原因是否为接口调用错误。
具体地,由上述介绍可知,本申请实施例提供的方法可以判断在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连是否成功。
若在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败,则说明当前执行的重连策略无法解决故障,可以进一步分析连接失败的具体原因,以便可以尽快进行重连。
由此,当在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败时,则可以判断在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败的原因是否为接口调用错误。
若在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败的原因为接口调用错误,则说明可以按照前述介绍的接口调用错误时的重连策略继续重连,则可以返回执行在预设的第二时间段内与所述播放地址对应的接口进行再次重连的操作,直至成功获取到所述播放地址,以便可以通过待播放的音视频数据对应的播放地址来获取待播放的音视频数据。
若在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败的原因为非接口调用错误,则说明可以按照前述介绍的非接口调用错误时的重连策略继续重连,则可以返回执行所述在预设的第四时间段内与所述播放地址对应的接口进行再次重连的操作,直至成功获取到所述播放地址,以便可以通过待播放的音视频数据对应的播放地址来获取待播放的音视频数据。
从上述介绍的技术方案可以看出,当监控设备的音视频播放出现故障时,且当确定未能成功获取到待播放的音视频数据对应的播放地址时,本申请实施例提供的方法可以确定未能成功获取播放地址的原因,并根据未能成功获取播放地址的具体原因,来执行预设的重连策略,直至成功获取到待播放的音视频数据对应的播放地址,以便通过待播放的音视频数据对应的播放地址来获取待播放的音视频数据。
在实际应用过程中,当确定未能成功获取到待播放的音视频数据对应的播放地址时,本申请实施例提供的方法可以确定未能成功获取播放地址的原因,并根据未能成功获取播放地址的具体原因,来执行预设的重连策略,直至成功获取到所述播放地址,接下来介绍该过程的另一种实现方式,具体如下:
若确定所述获取待播放的音视频数据对应的播放地址失败的原因为非接口调用错误,则说明当前调用的接口准确,可能是由于其他故障原因导致获取待播放的音视频数据对应的播放地址失败,则可以在预设的第四时间内与所述播放地址对应的接口进行首次重连,以便可以尽快获取到待播放的音视频数据对应播放地址,以获取待播放的音视频数据。
从上述介绍的技术方案可以看出,当监控设备的音视频播放出现故障时,且当确定未能成功获取到待播放的音视频数据对应的播放地址时,本申请实施例提供的方法可以确定未能成功获取播放地址的原因,并根据未能成功获取播放地址的具体原因,来执行预设的重连策略,直至成功获取到待播放的音视频数据对应的播放地址,以便通过待播放的音视频数据对应的播放地址来获取待播放的音视频数据。
由上述介绍的技术方案可知,当获取待播放的音视频数据对应的播放地址失败之后,本申请实施例提供的方法可以确定获取所述播放地址失败的原因,接下来介绍几种判断方法,具体包括如下:
第一种,
若目标监控设备离线或出现网络连接故障,则可以确定获取所述播放地址失败的原因为接口错误。
第二种,
若所述目标监控设备播放所述待播放的音视频数据出现故障,则确定获取所述播放地址失败的原因为播放地址存在错误。
从上述介绍的技术方案可以看出,当监控设备的音视频播放出现故障时,本申请实施例提供的方法可以在获取待播放的音视频数据对应的播放地址失败之后,进一步确定获取所述播放地址失败的原因,以便可以根据具体的原因来执行不同的重连策略。
下面对本申请实施例提供的音视频播放装置进行描述,下文描述的音视频播放装置与上文描述的音视频播放方法可相互对应参照。
参见图2,图2为本申请实施例公开的一种音视频播放装置结构示意图。
如图2所示,该音视频播放装置可以包括:
播放地址获取单元101,用于获取待播放的音视频数据的播放地址;
第一判断单元102,用于判断是否成功获取到所述播放地址;
第一确定单元103,用于所述第一判断单元的执行结果确定为未成功获取到所述播放地址,则确定获取所述播放地址失败的原因;
重连单元104,用于依据获取所述播放地址失败的原因,执行预设的重连策略,直至成功获取到所述播放地址;
构建单元105,用于当所述第一判断单元的执行结果确定为已成功获取到所述播放地址,则与所述播放地址构建连接关系;
第二判断单元106,用于判断是否成功与所述播放地址构建连接关系;
接收单元107,用于当所述第二判断单元的执行结果确定为已成功与所述播放地址构建连接关系,则等待并接收与所述待播放的音视频数据对应的网络包;
第三判断单元108,用于判断是否成功接收到所述网络包;
解码单元109,用于当所述第三判断单元的执行结果为确定已成功接收到所述网络包,则对所述网络包进行解码;
第四判断单元110,用于判断所述网络包是否成功解码;
播放单元111,用于当所述第四判断单元的执行结果确定为所述网络包解码成功,则获取所述网络包对应的待播放的音视频数据,并对所述网络包对应的待播放的音视频数据进行渲染并播放。
从以上介绍的技术方案可以看出,当需要对监控设备的播放画面出现故障需要对其进行检测以排障时,本申请实施例提供的装置可以获取待播放的音视频数据的播放地址,并判断是否成功获取到所述播放地址;若未成功获取到所述播放地址,则说明可能获取所述播放地址失败,则可以进一步确定获取所述播放地址失败的原因;并依据获取所述播放地址失败的原因,执行预设的重连策略,直至成功获取到所述播放地址,以便可以通过所述播放地址获取待播放的音视频数据。若已成功获取到所述播放地址,则说明可以通过所述播放地址获取待播放的音视频数据,则可以与所述播放地址构建连接关系;并进一步判断是否成功与所述播放地址构建连接关系;若已成功与所述播放地址构建连接关系,则说明可以通过已经建立的网络连接关系来获取待播放的音视频数据,因此,在构建与所述播放地址的连接关系之后,可以等待并接收与所述待播放的音视频数据对应的网络包;并判断是否成功接收到所述网络包;若已成功接收到所述网络包,则可以对所述网络包进行解码;以便可以得到待播放的音视频数据,因此,在对所述网络包进行解码之后,可以进一步判断所述网络包是否成功解码;若所述网络包解码成功,则说明可以获取所述网络包对应的待播放的音视频数据,在获取待播放的音视频数据之后,可以对所述网络包对应的待播放的音视频数据进行渲染并播放。
由上述分析可知,本申请实施例提供的装置可以在监控设备的播放数据出现故障时,可以对未成功收到连续完整的异常视频流进行检测,或主动检测服务端发送的数据流是否存在异常,确定故障原因,并针对故障原因及时进行排障。因此,本申请实施提供的方法不仅可以对音视频数据的网络进行监控,还可以对音视频数据本身的正确性进行监控,针对监控设备出现的不同的播放错误,进行检测并使用不同的重连策略进行排障,有效提升了用户体验,既解决了由于设备重连过于频繁导致用户无法看到稳定持续的画面的问题,又解决了设备出现故障没有及时重连导致长期无法看见视频画面的问题。
其中,上述音视频播放装置所包含的各个单元的具体处理流程,可以参照前文音视频播放方法部分相关介绍,此处不再赘述。
本申请实施例提供的音视频播放装置可应用于音视频播放设备,如终端:手机、电脑等。可选的,图3示出了音视频播放设备的硬件结构框图,参照图3,音视频播放设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:实现前述终端音视频播放方案中的各个处理流程。
本申请实施例还提供一种可读存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:实现前述终端在音视频播放方案中的各个处理流程。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。各个实施例之间可以相互组合。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种音视频播放方法,其特征在于,包括:
获取待播放的音视频数据的播放地址;
判断是否成功获取到所述播放地址;
若未成功获取到所述播放地址,则确定获取所述播放地址失败的原因;
依据获取所述播放地址失败的原因,执行预设的重连策略,直至成功获取到所述播放地址;
若已成功获取到所述播放地址,则与所述播放地址构建连接关系;
判断是否成功与所述播放地址构建连接关系;
若已成功与所述播放地址构建连接关系,则等待并接收与所述待播放的音视频数据对应的网络包;
判断是否成功接收到所述网络包;
若已成功接收到所述网络包,则对所述网络包进行解码;
判断所述网络包是否成功解码;
若所述网络包解码成功,则获取所述网络包对应的待播放的音视频数据,并对所述网络包对应的待播放的音视频数据进行渲染并播放。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
若播放所述网络包对应的待播放的音视频数据出现故障,则确定故障类型;
依据所述故障类型,返回执行按照预设的重连策略,直至重新成功播放所述网络包对应的待播放的音视频数据。
3.根据权利要求1所述的方法,其特征在于,所述执行预设的重连策略重连策略,直至成功获取到所述播放地址,包括:
若确定获取所述播放地址失败的原因为接口调用错误,且在首次获取所述播放地址失败,则在预设的第一时间内与所述播放地址对应的接口进行首次重连;
若在预设的第一时间内与所述播放地址对应的接口首次重连失败,则判断在预设的第一时间内与所述播放地址对应的接口首次重连失败的原因是否为接口调用错误;
若确定在预设的第一时间内与所述播放地址对应的接口首次重连失败的原因仍为接口调用错误,则在确定首次重连失败的时刻起,在预设的第二时间段内与所述播放地址对应的接口进行再次重连;
若在预设的第二时间内与所述播放地址对应的接口再次重连失败,则判断在预设的第二时间内与所述播放地址对应的接口再次重连失败的原因是否为接口调用错误;
若确定在预设的第二时间内与所述播放地址对应的接口再次重连失败的原因仍为接口调用错误,则在确定再次重连失败的时刻起,在预设的第三时间段内与所述播放地址对应的接口进行再次重连,直至成功获取到所述播放地址。
4.根据权利要求3所述的方法,其特征在于,该方法还包括:
若确定在预设的第一时间内与所述播放地址对应的接口首次重连失败的原因为非接口调用错误,则在确定首次重连失败的时刻起,在预设的第四时间段内与所述播放地址对应的接口进行再次重连;
判断在确定首次重连失败的时刻起,在预设的第四时间段内与所述播放地址对应的接口进行再次重连是否成功;
若在预设的第四时间内与所述播放地址对应的接口再次重连失败,则判断在预设的第四时间内与所述播放地址对应的接口再次重连失败的原因是否为接口调用错误;
若确定在预设的第二时间内与所述播放地址对应的接口再次重连失败的原因为接口调用错误,则在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连;
判断在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连是否成功;
若在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败,则判断在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败的原因是否为接口调用错误;
若在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败的原因为接口调用错误,则返回执行在预设的第二时间段内与所述播放地址对应的接口进行再次重连的操作,直至成功获取到所述播放地址;
若在确定再次重连失败的时刻起,在预设的第一时间段之内与所述播放地址对应的接口进行再次重连失败的原因为非接口调用错误,则返回执行所述在预设的第四时间段内与所述播放地址对应的接口进行再次重连的操作,直至成功获取到所述播放地址。
5.根据权利要求1所述的方法,其特征在于,所述执行预设的重连策略,直至成功获取到所述播放地址,包括:
若确定获取所述播放地址失败的原因为非接口调用错误,则在预设的第四时间内与所述播放地址对应的接口进行首次重连,直至成功获取到所述播放地址。
6.根据权利要求1所述的方法,其特征在于,所述确定获取所述播放地址失败的原因,包括:
若目标监控设备离线或出现网络连接故障,则确定获取所述播放地址失败的原因为接口错误;
若所述目标监控设备播放所述待播放的音视频数据出现故障,则确定获取所述播放地址失败的原因为播放地址存在错误。
7.根据权利要求2所述的方法,其特征在于,所述确定故障类型,包括:
判断当前连接的播放地址是否为所述待播放的音视频数据对应的播放地址,若当前连接的播放地址不是所述待播放的音视频数据对应的播放地址,则确定故障类型播放地址故障;
或,
检测目标监控设备是否超过预设的第一时长仍未显示待播放的数据流,若所述目标监控设备超过预设的第一时长仍未显示所述待播放的数据流,则确定故障类型为所述目标监控设备离线或所述待播放的数据流对应的流媒体服务端性能出现故障;
或,
检测是否已经成功打开所述目标监控设备的解码器,若所述目标监控设备的解码器打开失败,则确定故障类型为所述目标监控设备的音视频数据格式异常或所述目标监控设备的内存消耗超过所述目标监控设备的内存所承受的最大值;
或,
对比所述目标监控设备的视频时间戳和所述目标监控设备对应的控制系统的时间戳,若所述目标监控设备的视频时间戳比所述目标监控设备对应的控制系统的时间戳迟,则确定故障类型为视频延迟数据延迟故障;
或,
判断所述目标监控设备的解码器的解码功能是否正常,若所述目标监控设备的解码器的解码功能异常,则确定故障类型为所述目标监控设备的视频数据格式异常或所述目标监控设备对应的控制系统的本地播放器存在故障;
或,
判断所述目标监控设备在预设的第二时长内是否接到预设的数量的完整的数据帧,若所述目标监控设备在预设的第二时长内未接到预设的数量的完整的数据帧,则确定故障类型为数据丢失故障;
或,
判断所述目标监控设备的渲染器是否因所述目标监控设备对应的控制系统的问题而导致打开失败,若所述目标监控设备的渲染器为因所述目标监控设备对应的控制系统的问题而导致打开失败,则确定故障类型为所述目标监控设备对应的控制系统的系统故障。
8.一种音视频播放装置,其特征在于,包括:
播放地址获取单元,用于获取待播放的音视频数据的播放地址;
第一判断单元,用于判断是否成功获取到所述播放地址;
第一确定单元,用于所述第一判断单元的执行结果确定为未成功获取到所述播放地址,则确定获取所述播放地址失败的原因;
重连单元,用于依据获取所述播放地址失败的原因,执行预设的重连策略,直至成功获取到所述播放地址;
构建单元,用于当所述第一判断单元的执行结果确定为已成功获取到所述播放地址,则与所述播放地址构建连接关系;
第二判断单元,用于判断是否成功与所述播放地址构建连接关系;
接收单元,用于当所述第二判断单元的执行结果确定为已成功与所述播放地址构建连接关系,则等待并接收与所述待播放的音视频数据对应的网络包;
第三判断单元,用于判断是否成功接收到所述网络包;
解码单元,用于当所述第三判断单元的执行结果为确定已成功接收到所述网络包,则对所述网络包进行解码;
第四判断单元,用于判断所述网络包是否成功解码;
播放单元,用于当所述第四判断单元的执行结果确定为所述网络包解码成功,则获取所述网络包对应的待播放的音视频数据,并对所述网络包对应的待播放的音视频数据进行渲染并播放。
9.一种音视频播放设备,其特征在于,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,实现如权利要求1至7中任一项所述音视频播放方法的步骤。
10.一种可读存储介质,其特征在于:所述可读存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器实现如权利要求1至7中任一项所述音视频播放方法的步骤。
CN202310526041.3A 2023-05-10 2023-05-10 音视频播放方法、装置、设备及可读存储介质 Pending CN116506666A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310526041.3A CN116506666A (zh) 2023-05-10 2023-05-10 音视频播放方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310526041.3A CN116506666A (zh) 2023-05-10 2023-05-10 音视频播放方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN116506666A true CN116506666A (zh) 2023-07-28

Family

ID=87326483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310526041.3A Pending CN116506666A (zh) 2023-05-10 2023-05-10 音视频播放方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN116506666A (zh)

Similar Documents

Publication Publication Date Title
US11778006B2 (en) Data transmission method and apparatus
US8135979B2 (en) Collecting network-level packets into a data structure in response to an abnormal condition
US10812314B2 (en) Methods and apparatuses for pushing a message
WO2010072081A1 (zh) 一种实现流媒体服务器大量终端接入的方法及系统
US20070286351A1 (en) Method and System for Adaptive Media Quality Monitoring
US20130042319A1 (en) Method and apparatus for detecting and defending against cc attack
WO2020052110A1 (zh) 业务质量监控方法、装置及系统
JP6743192B2 (ja) ビデオサービス品質の評価方法及び装置
US20100125901A1 (en) Automatic invocation of dtn bundle protocol
US20070248022A1 (en) Method And System For Alert Throttling In Media Quality Monitoring
US8677425B2 (en) Method and system for implementing interaction between set-top box (STB) and home gateway
CN113067882A (zh) 一种消息处理方法、装置、电子设备及介质
US20050138462A1 (en) System and method for managing protocol network failures in a cluster system
US20130061129A1 (en) Performance monitoring of a media player launched by a web browser
US7725556B1 (en) Computer system with concurrent direct memory access
CN112559146B (zh) 一种客户端与数据终端服务端的通讯方法
WO2014110911A1 (zh) Iptv系统中的故障处理方法及装置
JP4687590B2 (ja) 情報配信システム及び障害判定方法
CN111431964B (zh) 一种消息同步处理方法、装置及存储介质
CN111092904B (zh) 网络连接方法和装置
CN111181698B (zh) 数据处理方法、装置、设备及介质
WO2021047513A1 (zh) 一种视频会议通信方法、装置以及计算机可读存储介质
CN117880254A (zh) 一种实时通讯的重连方法
CN116506666A (zh) 音视频播放方法、装置、设备及可读存储介质
JP3927486B2 (ja) ストリーミング配信装置、ストリーミング配信システム、及びストリーミング配信方法

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240318

Address after: Unit 1, Building 1, China Telecom Zhejiang Innovation Park, No. 8 Xiqin Street, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province, 311100

Applicant after: Tianyi Shilian Technology Co.,Ltd.

Country or region after: China

Address before: 200000 room 1423, No. 1256 and 1258, Wanrong Road, Jing'an District, Shanghai

Applicant before: Tianyi Digital Life Technology Co.,Ltd.

Country or region before: China