CN110324580B - 一种基于视联网的监控视频播放方法及装置 - Google Patents

一种基于视联网的监控视频播放方法及装置 Download PDF

Info

Publication number
CN110324580B
CN110324580B CN201910603688.5A CN201910603688A CN110324580B CN 110324580 B CN110324580 B CN 110324580B CN 201910603688 A CN201910603688 A CN 201910603688A CN 110324580 B CN110324580 B CN 110324580B
Authority
CN
China
Prior art keywords
video
video stream
monitoring
resolution
surveillance
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
Application number
CN201910603688.5A
Other languages
English (en)
Other versions
CN110324580A (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.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information 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 Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN201910603688.5A priority Critical patent/CN110324580B/zh
Publication of CN110324580A publication Critical patent/CN110324580A/zh
Application granted granted Critical
Publication of CN110324580B publication Critical patent/CN110324580B/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • 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
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Landscapes

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

Abstract

本发明实施例提供了一种基于视联网的监控视频播放方法及装置,所述视联网包括协转服务器、视频播放端及多个监控终端;所述方法应用于所述视频播放端,包括:在播放所述协转服务器转发的第一监控视频流时,确定解码队列中堆积的视频帧的数量;在所述堆积的视频帧的数量达到预设堆积阈值时,向所述协转服务器发送切换更低码率和/或更低分辨率的视频流的视频切换请求;在接收到所述协转服务器返回的所述第二监控视频流时,将所述解码队中所述堆积的视频帧清除;对所述第二监控视频流进行解码并播放。本发明实施例的视频播放端在解码队列中堆积了一定数量的视频帧时,切换监控视频流的码率和/或分辨率,以降低监控视频流的解码难度,提高解码速度。

Description

一种基于视联网的监控视频播放方法及装置
技术领域
本发明涉及视联网的视频播放技术领域,特别是涉及一种基于视联网的监控视频播放方法以及装置,一种计算机可读存储介质以及一种电子设备。
背景技术
由于视联网技术能够实现目前互联网无法实现的全网高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面,因此,视联网技术被越来越多的应用于视频会议等领域。
目前,视联网内用户大多通过手机观看实时的监控视频,或者,通过手机进行视频会议及视频通话,各监控设备、各手机摄像头的码率、分辨率等不一样,在视频接收端播放这些监控视频时,往往解码队列会很长,导致视频解码延迟,使得视频画面出现延时,用户获取到的视频信息不是最新的信息,从而耽误用户判断,影响用户体验。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于视联网的监控视频播放方法、一种基于视联网的监控视频播放装置,以及一种计算机可读存储介质和一种电子设备。
为了解决上述问题,在本发明实施例的第一方面,公开了一种基于视联网的监控视频播放方法,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端;所述方法应用于所述视频播放端,包括:
在播放所述协转服务器转发的第一监控视频流时,确定解码队列中堆积的视频帧的数量;其中,所述第一监控视频流为由第一监控终端采集并编码的视频流;
在所述堆积的视频帧的数量达到预设堆积阈值时,向所述协转服务器发送切换更低码率和/或更低分辨率的视频流的视频切换请求;所述协转服务器用于针对所述视频切换请求,将所述第一监控视频流重新编码为具有更低码率和/或更低分辨率的第二监控视频流;
在接收到所述协转服务器返回的所述第二监控视频流时,将所述解码队中所述堆积的视频帧清除;
对所述第二监控视频流进行解码,并播放解码后的第二监控视频流。
可选地,所述堆积的视频帧中包括P帧及B帧;在所述将所述码率切换指令发送至所述协转服务器的步骤后,以及,在将所述解码队中所述堆积的视频帧清除的步骤前,还包括:
将所述解码队列中的P帧和/或B帧清除;
将所述解码队列中清除了所述P帧和/或B帧后剩余的视频帧进行播放。
可选地,所述在播放所述协转服务器转发的第一监控视频流时,确定解码队列中堆积的视频帧的数量的步骤前,所述方法还包括:
获取所述协转服务器转发的所述第一监控视频流的帧率,及所述第一监控终端的等级标识;所述等级标识用于表征所述第一监控终端采集的监控视频的重要等级;
根据所述等级标识确定延时阈值,根据所述帧率及所述延时阈值确定所述预设堆积阈值。
可选地,所述在所述堆积的视频帧的数量达到预设堆积阈值时,向所述协转服务器发送获取更低码率和/或更低分辨率的视频流的视频切换请求的步骤,包括:
确定低于所述第一监控视频流的当前码率的多个预设码率,并确定低于所述第一监控视频流的当前分辨率的多个预设分辨率,并将所述多个预设分辨率及所述多个预设码率添加到视频切换界面中;
根据用户在所述视频切换界面上进行的第一目标分辨率的选择操作,向所述协转服务器发送包括所述第一目标分辨率的视频切换请求;所述协转服务器用于按照所述第一目标分辨率,将所述第一监控视频流重新编码为第三监控视频流;
或,根据用户在所述视频切换界面上进行的第一目标码率的选择操作,向所述协转服务器发送包括所述第一目标码率的视频切换请求;所述协转服务器用于按照所述第一目标码率,将所述第一监控视频流重新编码为第四监控视频流;
或,根据用户在所述视频切换界面上进行的第二目标码率和第二目标码分辨率的选择操作,向所述协转服务器发送包括所述第二目标码率及所述第二目标分辨率的视频切换请求;所述协转服务器用于按照所述第二目标码率及所述第二目标分辨率,将所述第一监控视频流重新编码为第五监控视频流。
在本发明实施例的第二方面,公开了一种基于视联网的视频播放方法,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端;所述方法应用于所述协转服务器,包括:
从第一监控终端上获取第一监控视频流,并将所述第一监控视频流发送给所述视频播放端;其中,所述第一监控视频流由所述第一监控终端采集并编码;
接收所述视频播放端发送的切换更低码率和/或更低分辨率的视频流的视频切换请求;其中,所述视频切换请求由所述视频播放端在播放所述第一监控视频流时,检测到解码队列中堆积的视频帧的数量达到预设堆积阈值时发送;
针对所述视频切换请求,将所述第一监控视频流重新编码为更低码率和/或更低分辨率的第二监控视频流;
将所述第二监控视频流发送给所述视频播放端。
可选地,所述协转服务器中预存有码率等级表及分辨率等级表,其中,在所述码率等级表中按照清晰度从高到低的顺序排列有多个码率;在所述分辨率等级表中按照清晰度从高到低的顺序排列有多个分辨率;
所述方法还包括:
记录所述第一监控视频流的第一分辨率和第一码率;
所述针对所述视频切换请求,将所述第一监控终端当前采集的监控视频流重新编码为更低码率和/或更低分辨率的第二监控视频流的步骤,包括:
在所述码率等级表中查找位于所述第一码率的下一清晰度等级的第一目标码率,以及,在所述分辨率等级表中查找位于所述第一分辨率的下一清晰度级的第一目标分辨率;
按照所述第一目标码率将所述第一监控视频流重新编码为第三监控视频流;
或,按照所述第一目标分辨率将所述第一监控视频流重新编码为第四监控视频流;
或,按照所述第一目标分辨率及所述第一码率,将所述第一监控视频流重新编码为第五监控视频流。
在本发明实施例的第三方面,公开了一种基于视联网的监控视频播放装置,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端;所述装置位于所述视频播放端,包括:
堆积确定模块,用于在播放所述协转服务器发送的第一监控视频流时,确定解码队列中堆积的视频帧的数量;其中,所述第一监控视频流为由第一监控终端采集并编码的视频流;
视频切换请求模块,用于在所述堆积的视频帧的数量达到预设堆积阈值时,向所述协转服务器发送切换更低码率和/或更低分辨率的视频流的视频切换请求;所述协转服务器用于针对所述视频切换请求,将所述第一监控视频流重新编码为具有更低码率和/或更低分辨率的第二监控视频流;
清除模块,用于在接收到所述协转服务器返回的所述第二监控视频流时,将所述解码队中所述堆积的视频帧清除;
解码播放模块,用于对所述第二监控视频流进行解码,并播放解码后的第二监控视频流。
在本发明实施例的第四方面,公开了一种基于视联网的视频播放装置,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端;所述方装置位于所述协转服务器,包括:
视频转发模块,用于从第一监控终端上获取第一监控视频流,并将所述第一监控视频流发送给所述视频播放端;其中,所述第一监控视频流由所述第一监控终端采集并编码;
切换请求接收模块,用于接收所述视频播放端发送的切换更低码率和/或更低分辨率的视频流的视频切换请求;其中,所述视频切换请求由所述视频播放端在播放所述第一监控视频流时,检测到解码队列中堆积的视频帧的数量达到预设堆积阈值时发送;
转码模块,用于针对所述视频切换请求,将所述第一监控视频流重新编码为更低码率和/或更低分辨率的第二监控视频流;
视频发送模块,用于将所述第二监控视频流发送给所述视频播放端。
在本发明实施例的第五方面,公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时使得视频播放端实现所述的基于视联网的监控视频播放方法。
在本发明实施例的第六方面,公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现所述的基于视联网的监控视频播放方法。
本发明实施例包括以下优点:
本发明实施例的视频播放端在播放第一监控视频流时,若解码队里中堆积的视频帧的数量达到预设阈值,则向协转服务器请求更低码率和/或更低分辨率监控视频流的视频切换请求,协转服务器在接收到该视频切换请求时,将监控终端采集并编码的监控视频转码为具有更低码率和/或更低分辨率的第二监控视频流,视频播放端在接收到该第二监控视频流时,清除解码队里中堆积的视频帧,并播放第二监控视频流。由于视频播放端在检测到解码队列中堆积了一定量的视频帧时,便请求较低码率和/或较低分辨率的监控视频,使得视频播放端对具有更低码率和/或更低分辨率的监控视频解码,降低了视频播放端的解码负载,提高解码速度,进而可以减少监控视频的解码队列中的堆积量,从而缩短解码队列,减少播放监控视频时的时间延迟,使得用户观看到的视频信息是最新的信息,优化了用户体验。
本发明实施例还给出了一种基于视联网的监控视频播放方法,该方法中,协转服务器在获取第一监控终端的第一监控视频流,并将第一监控视频流转发给视频播放端的过程中,根据视频播放端发出的视频切换请求,可以将接收到的第一监控视频流重新编码为具有更低码率和/或更低分辨率的第二监控视频流,进而可以使得在视频通话或监控视频查看的应用场景中,可以根据视频播放端的视频切换请求,对实时的视频流进行重新编码并发送,以适配视频播放端的硬件解码能力。
附图说明
图1是本发明的一种视联网的组网示意图;
图2是本发明的一种节点服务器的硬件结构示意图;
图3是本发明的一种接入交换机的硬件结构示意图;
图4是本发明的一种以太网协转网关的硬件结构示意图;
图5是本发明实施例的一种基于视联网的监控视频播放方法的应用环境图;
图6是本发明实施例的一种基于视联网的监控视频播放方法的流程示意图;
图7是本发明实施例的另一种基于视联网的监控视频播放方法的流程示意图;
图8是本发明实施例的一种基于视联网的监控视频播放装置的框架示意图;
图9是本发明实施例的另一种基于视联网的监控视频播放装置的框架示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大第一视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(Circuit Switching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
如图1所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模块202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,可以包括两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块308是由CPU模块304来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关
如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA SA Reserved Payload CRC
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA SA Reserved 标签 Payload CRC
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
基于上述视联网的特性,提出本申请的核心构思之一,视频播放端在检测到解码队列中堆积的视频帧的数量达到预设堆积阈值时,即向协转服务器请求更低分辨率和更低码率、或者更低分辨率、或者更低码率的监控视频,在接收到协转服务器重新编码并发送的监控视频后,清除解码队队列中堆积的视频帧,并播放重新接收的监控视频,使得重新接收并播放的监控视频与视频播放端自身的解码配置相适应,以提高解码的速度,进而减小监控视频的时延,避免监控视频的码率过大或分辨率过高时导致的解码缓慢,从而产生的视频延迟的问题。
参考图5,示出了本发明实施例的一种基于视联网的监控视频播放方法的应用场景图,如图5所示,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端。
其中,协转服务器可以理解为是将监控终端连接至视联网,并为用户提供调取监控终端的监控视频并转发监控视频至视频播放端的服务的服务器。监控终端可以但不限于下述设备:摄像机、录像机、带有摄像头的智能手机等。视频播放端可以但不限于下述设备:智能手机、平板电脑、智能电视机等。
实际中,协转服务器可以调取监控终端的监控视频流,并将监控视频流转换为符合视联网协议的视频流后,再将该符合视联网协议的视频流发送至视频播放端,该视频播放端接收到符合视联网协议的视频流后,对该视频流进行播放。
参照图6所示,示出了本发明实施例的基于视联网的监控视频播放方法的流程示意图,所述方法应用于所述视频播放端,具体地,该视频播放端可以执行以下步骤:
在步骤601中,在播放所述协转服务器转发的第一监控视频流时,确定解码队列中堆积的视频帧的数量。
其中,所述第一监控视频流为由第一监控终端采集并编码的视频流。
本发明实施例中,第一监控视频流是由第一监控终端实时采集并编码的视频流,协转服务器将接收到的第一监控视频流转发给视频播放端时,视频播放端接收到的该第一监控视频流是符合视联网协议的监控视频流,该第一监控视频流的传输协议可以为RTP协议或RTSP协议。
因本发明实施例中的第一监控视频流是实时视频流,视频播放端接收到第一监控视频流时,视频播放端可以将接收到的第一监控视频流发送给解码器进行解码,解码器将第一监控视频流中的各个视频帧先缓存在解码队列中,然后,按照视频帧携带的时间戳所表征的时间先后顺序对各个视频帧进行解码并播放。其中,视频帧可以理解为是第一监控视频流中的一个静态的画面。
实际中,视频播放端可以定时也可以实时检测解码队列中堆积的视频帧的数量,该堆积的视频帧可以理解为是解码队列中缓存的还来不及解码的视频帧。具体实施时,若是定时检测解码队列中堆积的视频帧的数量,可以设置为每隔0.5秒便检测堆积的视频帧的数量。
在步骤602中,在所述堆积的视频帧的数量达到预设堆积阈值时,向所述协转服务器发送切换更低码率和/或更低分辨率的视频流的视频切换请求.
所述协转服务器用于针对所述视频切换请求,将所述第一监控视频流重新编码为具有更低码率和/或更低分辨率的第二监控视频流。
本发明实施例中,预设堆积阈值可以根据用户需求设定,例如,可以设置为100帧,在堆积的视频帧的数量达到预设堆积阈值时,表示解码队列中堆积了较多的来不及解码的视频帧,也表征着视频播放端的解码性能不足以支持对第一监控视频流的及时解码,会造成第一监控视频流的播放画面延迟,此种情况下,视频播放端可以向协转服务器请求更低码率的监控视频流,也可以向协转服务器请求更低分辨率的监控视频流,也可以向协转服务器请求具有更低码率及更低分辨率的监控视频流。即,第二监控视频流的码率低于第一监控视频流的码率,或者,第二监控视频流的分辨率低于第一监控视频流的分辨率,或者,第二监控视频流的分辨率和码率均低于第一监控视频流的分辨率和码率。
具体实施时,因第一监控视频流是第一监控终端实时采集并编码的监控视频流,协转服务器在接收到该视频切换请求时,可以对接收到的该实时的第一监控视频流进行重新编码,得到更低码率和/或更低分辨率的第二监控视频流。
在步骤603中,在接收到所述协转服务器返回的所述第二监控视频流时,将所述解码队中所述堆积的视频帧清除。
本发明实施例中,视频播放端在接收到协转服务器返回的第二监控视频流之前,可以对解码队列中堆积的视频帧继续解码并播放,也可以暂停对堆积的视频帧解码和播放。在接收到第二监控视频流时,便可以将解码队列中堆积的视频全部清除,解码队列中堆积的视频帧全部清除后,第二监控视频流的视频帧便可以进入解码队列,以使视频播放端的解码器对第二监控视频流进行解码和播放。
在步骤604中,对所述第二监控视频流进行解码,并播放解码后的第二监控视频流。
本发明实施例中,视频播放端在播放第一监控视频流的过程中,确定到解码队列中堆积的视频帧的数量达到预设堆积阈值时,向协转服务器请求更低码率和/或更低分辨率的视频,在接收到协转服务器返回的具有更低码率和/或更低分辨率的第二监控视频流时,清除解码队列中堆积的视频帧,并对第二监控视频流进行解码和播放。
由于第二监控视频流具有更低的码率和/或更低的分辨率,则第二监控视频流中每一视频帧的文件更小,解码器更容易解码该视频帧,因每一视频帧的文件更小,则占用的视频播放端的缓存空间减小,从而释放了视频播放端的缓存空间,使得解码效率更高。一方面,提高了对第二监控视频流的解码速度,因解码速度的提高,进而降低了播放第二监控视频流的时延,从而使得用户观看到的视频信息都是最新的信息,以避免由于播放画面具有较长的时延,使得用户不能及时观看到重要的监控信息的问题,优化了用户体验。另一方面,由于解码器更容易解码该视频帧,从而降低了对视频播放端的解码负载,进而保证了视频播放端的性能。
结合以上实施例,在一种实施方式中,所述堆积的视频帧中包括P帧及B帧;在执行完步骤602之后,以及,在执行步骤603之前,视频播放端还可以执行以下步骤:
在步骤6021中,将所述解码队列中的P帧和/或B帧清除。
实际中,视频流包括I帧、P帧及B帧,则,在堆积的视频帧中也包括P帧、B帧及I帧,其中,I帧是指帧内编码帧也被成为关键帧,解码时只需要本帧数据就可以完成。P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,对P帧解码时,需要参考前面的视频帧。B帧是双向差别帧,记录的是本帧与前后帧的差别,对B帧解码时,需要参考前面的视频帧和后面的视频帧。
本实施方式中,视频播放端可以清除解码队列中的P帧和B帧,也可以仅清除解码队列中的P帧,或者,也可以仅清除解码队列中的B帧。这样,可以在不影响对关键帧解码的前提下,减小堆积的视频帧的数量,进而对堆积的视频帧进行解码的速度,减轻视频播放端的解码负载。
在步骤6022中,将所述解码队列中清除了所述P帧和/或B帧后剩余的视频帧进行播放。
本实施方式中,在清除了P帧和/或B帧后,可以对解码队列中剩下的视频帧进行解码后播放,使得在视频播放端从发出视频切换请求后的视频切换过程中,视频播放界面中仍然播放视频画面,使得在视频切换过程中,视频画面不丢失,保证用户不错过视频信息。
采用上述实施方式,由于清除了P帧和/或B帧,减轻了视频播放端的解码负载,提高了解码效率,使得在视频切换过程中,播放画面更为流畅而避免花屏现象的发生。
结合以上实施例,在一种实施方式中,视频播放端在执行步骤601之前,还可以执行以下步骤:
在步骤6001中,获取所述协转服务器转发的所述第一监控视频流的帧率,及所述第一监控终端的等级标识。
其中,所述等级标识用于表征所述第一监控终端采集的监控视频的重要等级。
本实施方式中,每一个监控终端都可以具有等级标识,等级标识可以表征该监控终端所拍摄的监控视频的重要等级,具体实施时,等级标识可以是文本格式类、也可以是数字编码格式类;采用文本格式类时,如,等级标识按照重要等级从高到低的顺序可以表示为“高等、“中等”、“普通”,也可以表示为“001”、“002”、“003”。
视频播放段在接收到第一监控视频流时,可以从第一监控视频流的编码信息中获取帧率及上述等级标识,其中,帧率可以表示为在1秒钟时间里传输的视频帧的帧数;帧率越高,画面越流畅。例如,一秒内出现在显示器上的有25个视频帧,则帧率为25fps。
在步骤6002中,根据所述等级标识确定延时阈值,根据所述帧率及所述延时阈值确定所述预设堆积阈值。
本实施方式中,在一种可选的方式中,视频播放端中可以预存延时阈值匹配对照表,该延时阈值匹配对照表中可以包括等级标识与延时阈值的对应关系,获取到第一监控终端的等级标识后,可以从延时阈值匹配对照表中查找与等级标识对应的延时阈值。
在另一种可选的方式中,视频播放端可以将第一监控终端的等级标识进行显示,进而用户可以根据等级标识设定延时阈值。
其中,延时阈值可以表征播放第一监控视频流时,允许的画面延迟时间。实际中,等级标识所表征的监控视频越重要,则延时阈值可以越小,允许的画面延迟时间可以越短。
本实施方式中,帧率与延时阈值的乘积可以作为预设堆积阈值。如,第一监控终端的等级标识为“重要”,第一监控视频流的帧率为30fps;根据预设延时阈值匹配对照表确定的延时阈值为“3s”,则预设堆积阈值为90,即,解码队列中堆积的视频帧的数量达到90帧时,表征视频画面已经延迟了3秒,则可以向协转服务器请求更低码率和/或更低分辨率的监控视频流。
采用上述实施方案时,视频播放端可以根据等级标识确定延时阈值,进而根据根据监控视频的帧率和延时阈值确定预设堆积阈值,由于等级标识表征监控终端采集的监控视频的重要程度,在帧率一定的情况下,监控终端采集的监控视频越重要,延时阈值越小,根据延时阈值和帧率确定的预设堆积阈值越小,这样,解码队列中堆积的视频帧的数量则越容易达到堆积阈值,从而更大程度地减小播放监控视频中的时延,从而保证对于越重要的监控视频,用户能更及时获取到最新的监控视频信息。
结合以上实施例,在一种实施方式中,步骤603具体可以包括以下步骤:
在步骤6031中,确定低于所述第一监控视频流的当前码率的多个预设码率,并确定低于所述第一监控视频流的当前分辨率的多个预设分辨率,并将所述多个预设分辨率及所述多个预设码率添加到视频切换界面中。
本实施方式中,可以根据视频播放端的硬件和解码器的配置参数,预置多个码率和多个分辨率,视频播放端可以在确定到解码队列中堆积的视频帧的数量达到预设堆积阈值时,可以在预置的多个码率中确定低于所述第一监控视频流的当前码率的多个预设码率;同样地,可以确定低于所述第一监控视频流的当前分辨率的多个预设分辨率。视频播放端并可以将确定出的多个预设码率和多个预设分辨率展示在视频切换界面中,具体实施时,是切换界面可以预置在视频播放器中,在确定到多个预设码率和多个预设分辨率时,便可以触发视频切换界面,在该触发的视频切换界面中,具有多个选择控件,每一选择控件可以用于展示预设码率或预设分辨率。
示例地,视频播放端若为安卓手机,根据安卓手机的硬件配置和安装的解码器,预置有5个码率和5个分辨率,其中,码率分别为:600kbps、800kbps、900kbps、1000kbps、1200kbps;分辨率分别为:640*480、1024*540、1024*720、1280*720、1920*1080。确认到第一监控视频流的分辨率为1280*720、码率为1000kbps,则低于1000kbps的码率的多个预设码率分别为:600kbps、800kbps、900kbps;低于1280*720的分辨率的多个预设分辨率分别为640*480、1024*540、1024*720。
本实施方式中,视频播放端的用户便通过在视频切换界面中对展示中的多个预设码率、多个预设分辨率进行选择,视频播放端则可以根据用户的选择,向协转服务器发出获取相应分辨率和/或相应码率的视频切换请求,具体地,可以为如下步骤中的任一步骤:
在步骤6032中,根据用户在所述视频切换界面上进行的第一目标分辨率的选择操作,向所述协转服务器发送包括所述第一目标分辨率的视频切换请求;所述协转服务器用于按照所述第一目标分辨率,将所述第一监控视频流重新编码为第三监控视频流。
实际中,用户可以选择切换更低分辨率的监控视频流,这样,协转服务器则可以将第一监控终端实时采集的第一监控视频流重新编码为具有第一目标分辨率的监控视频流。因第一目标分辨率小于第一监控视频流的当前分辨率,则获取到的第二监控视频流的分辨率减小,因分辨率减小,则每一视频帧的文件大小减小,从而降低了解码的难度,使得解码速度加快。
示例地,以步骤6031的例子为例,用户在视频切换界面上选择了1024*540的分辨率,则协转服务器按照1024*540的分辨率对第一监控视频流进行重新编码,得到的第二监控视频流的分辨率为1024*540。
在步骤6033中,根据用户在所述视频切换界面上进行的第一目标码率的选择操作,向所述协转服务器发送包括所述第一目标码率的视频切换请求;所述协转服务器用于按照所述第一目标码率,将所述第一监控视频流重新编码为第四监控视频流。
实际中,用户也可以选择切换更低码率的监控视频流,这样,协转服务器则可以将第一监控终端实时采集的第一监控视频流重新编码为具有第一目标码率的监控视频流。因第一目标码率小于第一监控视频流的当前分辨率,则获取到的第二监控视频流的码率减小,因码率减小,则单位时间内传输的视频数据减小,使得每一视频帧的文件大小更小,,从而降低了解码的难度,使得解码速度加快;由于单位时间内传输的视频数据减小,从而降低了网络带宽占用率,使得第二监控视频流的传输速度加快。
在步骤6034中,根据用户在所述视频切换界面上进行的第二目标码率和第二目标码分辨率的选择操作,向所述协转服务器发送包括所述第二目标码率及所述第二目标分辨率的视频切换请求;所述协转服务器用于按照所述第二目标码率及所述第二目标分辨率,将所述第一监控视频流重新编码为第五监控视频流。
实际中,用户也可以选择切换更低码率和更低分辨率的监控视频流,这样,协转服务器则可以将第一监控终端实时采集的第一监控视频流重新编码为具有第一目标码率及第一目标分辨率的监控视频流。因获取到第二监控视频流的码率和分辨率均减小,则单位时间内传输的视频数据减小且每一视频帧的画面也减小,从而降低了解码的难度,使得解码速度加快,使得用户更快看到最新的信息。
本实施方式中,由于视频播放端在确认到解码队列中堆积的视频帧的数量达到预设堆积阈值时,便向用户展示添加了多个预设分辨率及多个预设码率的视频切换界面,进而可以根据用户对视频切换界面上的分辨率和/或码率操作,发出视频切换请求。由于用户可以根据自己的需求选择切换的第二监控视频流的码率和分辨率,进而优化了用户体验。
参照图7所示,示出了本发明实施例的另一种基于视联网的视频播放方法,该方法的应用环境参见图5所示,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端;所述方法应用于所述协转服务器,所述协转服务器具体可以执行以下步骤:
在步骤701中,从第一监控终端上获取第一监控视频流,并将所述第一监控视频流发送给所述视频播放端。
本发明实施例中,协转服务器可以依据视频播放终端发送的监控视频播放请求,从第一监控终端上获取第一监控视频流,其中,监控视频播放请求中包括了第一监控终端的视联网号码;或者,协转服务器可以依据视联网中的监控管理平台发出的监控调取指令,从第一监控终端上获取第一监控视频流,并将调取的第一监控视频流发送至视频播放端,其中,监控调取指令中可以包括第一监控终端的视联网号码及视频播放端的视联网号码。
在步骤702中,接收所述视频播放端发送的切换更低码率和/或更低分辨率的视频流的视频切换请求。
其中,所述视频切换请求由所述视频播放端在播放所述第一监控视频流时,检测到解码队列中堆积的视频帧的数量达到预设堆积阈值时发送。
本步骤702的过程与步骤602的过程类似,在此不再赘述。
在步骤703中,针对所述视频切换请求,将所述第一监控视频流重新编码为更低码率和/或更低分辨率的第二监控视频流。
本发明实施例中,协转服务器可以响应于该视频切换请求,将第一监控终端实时发送的第一监控视频流重新编码,以得到具有更低码率和/或更低分辨率的第二监控视频流。
具体实施时,视频切换请求中可以携带第一监控视频流的分辨率和/或码率,协转服务器对该视频切换请求进行解析后,读取出其中的分辨率和/或码率,随机选取低于第一监控视频流的分辨率的目标分辨率,和/或随机选取低于第一监控视频流的码率的目标码率,之后,可以将第一监控终端发送过来的第一监控视频流先送入预置的转码器,在转码器中,按照目标分辨率和/或目标码率将第一监控视频流重新编码为第二监控视频流,第二监控视频流由转码器出来后,协转服务器便可以将该第二监控视频流发送给视频播放端。
其中,转码器可以理解为是可以将获取到的视频流解码为原始视频数据,再对得到的原始视频数据重新编码的视频处理软件。
示例地,视频切换请求中携带第一监控视频流的分辨率为1280*720,则协转服务器随机选取一个低于1280*720的分辨率,如640*480,则按照640*480的分辨率将第一监控视频流重新编码为第二监控视频流,第二监控视频流的分辨率便为640*480。
示例地,视频切换请求中携带第一监控视频流的码率为1000kbps,则协转服务器随机选取一个低于1000kbps的码率,如900kbps,则按照900kbps的码率将第一监控视频流重新编码为第二监控视频流,第二监控视频流的码率便为900kbps。
示例地,视频切换请求中携带第一监控视频流的码率为1000kbps、分辨率为1280*720,则协转服务器随机选取一个低于1000kbps的码率,以及,随机选取一个低于1280*720的分辨率,如900kbps、640*480,则按照900kbps的码率、640*480的分辨率,将第一监控视频流重新编码为第二监控视频流。
在步骤704中,将所述第二监控视频流发送给所述视频播放端。
本发明实施例中,视频播放端在接收到第二监控视频流时,可以将解码队列中堆积的视频帧清除,再对第二监控视频流进行解码。
本发明实施例中,协转服务器可以将第一监控终端采集并编码的第一监控视频流发送至视频播放端,在实时转发给第一监控视频流的过程中,额可以根据视频播放端发出的视频切换请求,将实时的第一监控视频流重新编码为更低码率和/或更低分辨率的第二监控视频流,以满足视频播放端在观看监控视频的过程中,将视频流的码率和/或分辨率切换到更低值的需求,以满足视频播放端的用户可以及时观看到最新的监控画面。
在一种实施方式中,所述协转服务器中预存有码率等级表及分辨率等级表,其中,在所述码率等级表中按照清晰度从高到低的顺序排列有多个码率;在所述分辨率等级表中按照清晰度从高到低的顺序排列有多个分辨率;协转服务器还可以执行以下步骤:
记录所述第一监控视频流的第一分辨率和第一码率。
实际中,协转服务器可以在调取到第一监控视频流时,便记录第一监控视频流的第一分辨率和第一码率。
相应地,步骤703具体可以包括以下步骤:
在步骤7031中,在所述码率等级表中查找位于所述第一码率的下一清晰度等级的第一目标码率,以及,在所述分辨率等级表中查找位于所述第一分辨率的下一清晰度级的第一目标分辨率。
本发明实施例中,上述所述的清晰度可以理解为是视频画面的清晰度,实际中,视频画面的清晰度与视频流的码率和分辨率具有关系,同一码率下,分辨率越高,视频画面越清晰;同一分辨率下,码率越高,视频画面越清晰,因此,在码率等级表中,按照清晰度从高到低的顺序排列的多个码率中,排列在第一的码率最高,排列在最后的码率最低。在分辨率等级表中,按照清晰度从高到低的顺序排列的多个分辨率中,排列在第一的分辨率最高,排列在最后的分辨率最低。
本发明实施例中,协转服务器在所述码率等级表中查找的第一目标码率,可以为位于所述第一码率的下一清晰度等级的码率,以及,在所述分辨率等级表中查找到的第一目标分辨率,也可以是位于第一分辨率的下一清晰度级的分辨率。
在步骤7031中,按照所述第一目标码率将所述第一监控视频流重新编码为第三监控视频流;
或,按照所述第一目标分辨率将所述第一监控视频流重新编码为第四监控视频流;
或,按照所述第一目标分辨率及所述第一码率,将所述第一监控视频流重新编码为第五监控视频流。
实际中,协转服务器可以随机选择按照第一目标分辨率重新编码第一监控视频流,也可以随机选择按照第一目标码率重新编码第一监控视频流,或者,也可以随机选择按照第一目标码率及第一目标分辨率重新编码第一监控视频流。
采用上述实施方式时,由于第一目标分辨率与第一码率所表征的清晰度仅次于第一码率和第一分辨率所表征的清晰度,这样,协转服务器可以在降低第二监控的码率和/或分辨率的同时,保证第二监控视频流的清晰度是逐级降低,使得视频播放端呈现出的第二监控视频流的画面清晰度差别在用户可以接受的范围内,从而优化了用户体验。
需要说明的是,上述实施例可以不仅限于监控视频播放的场景中,还可以应用在视频通话的场景中,视频播放端在接收到来自其他终端的实时通话视频时,也可以采用本发明实施例公开的上述方法,在视频通话过程中,切换到更低码率和/或更低分辨率的视频,以观看到最新的通话信息。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参考图8,公开了本发明实施例的一种基于视联网的监控视频播放装置的结构示意图,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端;所述装置位于所述视频播放端,包括堆积确定模块801、频切换请求模块802、清除模块803及解码播放模块804,其中:
堆积确定模块,用于在播放所述协转服务器发送的第一监控视频流时,确定解码队列中堆积的视频帧的数量;其中,所述第一监控视频流为由第一监控终端采集并编码的视频流;
视频切换请求模块,用于在所述堆积的视频帧的数量达到预设堆积阈值时,向所述协转服务器发送切换更低码率和/或更低分辨率的视频流的视频切换请求;所述协转服务器用于针对所述视频切换请求,将所述第一监控视频流重新编码为具有更低码率和/或更低分辨率的第二监控视频流;
清除模块,用于在接收到所述协转服务器返回的所述第二监控视频流时,将所述解码队中所述堆积的视频帧清除;
解码播放模块,用于对所述第二监控视频流进行解码,并播放解码后的第二监控视频流。
在一种实施方式中,所述堆积的视频帧中包括P帧及B帧;所述装置还可以包括:
视频帧清除模块,用于将所述解码队列中的P帧和/或B帧清除;
所述解码播放模块,还用于将所述解码队列中清除了所述P帧和/或B帧后剩余的视频帧进行播放。
在一种实施方式中,所述装置还可以包括:
获取模块,用于获取所述协转服务器转发的所述第一监控视频流的帧率,及所述第一监控终端的等级标识,所述等级标识用于表征所述第一监控终端采集的监控视频的重要等级;
堆积阈值确定模块,用于根据所述等级标识确定延时阈值,根据所述帧率及所述延时阈值确定所述预设堆积阈值。
在一种实施方式中,所述装置还可以包括:
分辨率及码率确定模块,用于确定低于所述第一监控视频流的当前码率的多个预设码率,并确定低于所述第一监控视频流的当前分辨率的多个预设分辨率,并将所述多个预设分辨率及所述多个预设码率添加到视频切换界面中;
所述视频请求模块,具体用于根据用户在所述视频切换界面上进行的第一目标分辨率的选择操作,向所述协转服务器发送包括所述第一目标分辨率的视频切换请求;所述协转服务器用于按照所述第一目标分辨率,将所述第一监控视频流重新编码为第三监控视频流;或,根据用户在所述视频切换界面上进行的第一目标码率的选择操作,向所述协转服务器发送包括所述第一目标码率的视频切换请求;所述协转服务器用于按照所述第一目标码率,将所述第一监控视频流重新编码为第四监控视频流;或,根据用户在所述视频切换界面上进行的第二目标码率和第二目标码分辨率的选择操作,向所述协转服务器发送包括所述第二目标码率及所述第二目标分辨率的视频切换请求;所述协转服务器用于按照所述第二目标码率及所述第二目标分辨率,将所述第一监控视频流重新编码为第五监控视频流。
参考图9,公开了本发明实施例的一种基于视联网的监控视频播放装置的结构示意图,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端;所述方装置位于所述协转服务器,包括视频转发模块901、切换请求接收模块902、转码模块903及视频发送模块904,其中:
视频转发模块,用于从第一监控终端上获取第一监控视频流,并将所述第一监控视频流发送给所述视频播放端;其中,所述第一监控视频流由所述第一监控终端采集并编码;
切换请求接收模块,用于接收所述视频播放端发送的切换更低码率和/或更低分辨率的视频流的视频切换请求;其中,所述视频切换请求由所述视频播放端在播放所述第一监控视频流时,检测到解码队列中堆积的视频帧的数量达到预设堆积阈值时发送;
转码模块,用于针对所述视频切换请求,将所述第一监控视频流重新编码为更低码率和/或更低分辨率的第二监控视频流;
视频发送模块,用于将所述第二监控视频流发送给所述视频播放端。
在一种实施方式中,所述协转服务器中预存有码率等级表及分辨率等级表,其中,在所述码率等级表中按照清晰度从高到低的顺序排列有多个码率;在所述分辨率等级表中按照清晰度从高到低的顺序排列有多个分辨率;所述装置还可以包括:
记录模块,用于记录所述第一监控视频流的第一分辨率和第一码率;
分辨率及码率确定模块,用于在所述码率等级表中查找位于所述第一码率的下一清晰度等级的第一目标码率,以及,在所述分辨率等级表中查找位于所述第一分辨率的下一清晰度级的第一目标分辨率;
所述转码模块,具体用于按照所述第一目标码率将所述第一监控视频流重新编码为第三监控视频流;或,按照所述第一目标分辨率将所述第一监控视频流重新编码为第四监控视频流;或,按照所述第一目标分辨率及所述第一码率,将所述第一监控视频流重新编码为第五监控视频流。
对于基于视联网的监控视频播放装置实施例而言,由于其与基于视联网的监控视频播放方法实施例基本相似,所以描述的比较简单,相关之处参见基于视联网的监控视频播放方法实施例的部分说明即可。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例一所述的基于视联网的监控视频播放方法。
本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时可以实现如本发明实施例一所述的基于视联网的监控视频播放方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于视联网的监控视频播放方法、一种基于视联网的监控视频播放装置、一种计算机可读存储介质及一种电子设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于视联网的监控视频播放方法,其特征在于,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端;所述方法应用于所述视频播放端,包括:
在播放所述协转服务器转发的第一监控视频流时,确定解码队列中堆积的视频帧的数量;其中,所述第一监控视频流为由第一监控终端采集并编码的视频流;其中,所述解码队列中堆积的的视频帧为所述解码队列中缓存的还来不及解码的视频帧;
在所述堆积的视频帧的数量达到预设堆积阈值时,向所述协转服务器发送切换更低码率和/或更低分辨率的视频流的视频切换请求;所述协转服务器用于针对所述视频切换请求,将所述第一监控视频流重新编码为具有更低码率和/或更低分辨率的第二监控视频流,以提高所述第二监控视频流的解码速度、降低播放所述第二监控视频流的时延;
在接收到所述协转服务器返回的所述第二监控视频流时,将所述解码队中所述堆积的视频帧清除;
对所述第二监控视频流进行解码,并播放解码后的第二监控视频流。
2.根据权利要求1所述的方法,其特征在于,所述堆积的视频帧中包括P帧及B帧;在所述将所述码率切换指令发送至所述协转服务器的步骤后,以及,在将所述解码队中所述堆积的视频帧清除的步骤前,还包括:
将所述解码队列中的P帧和/或B帧清除;
将所述解码队列中清除了所述P帧和/或B帧后剩余的视频帧进行播放。
3.根据权利要求1所述的方法,其特征在于,所述在播放所述协转服务器转发的第一监控视频流时,确定解码队列中堆积的视频帧的数量的步骤前,所述方法还包括:
获取所述协转服务器转发的所述第一监控视频流的帧率,及所述第一监控终端的等级标识;所述等级标识用于表征所述第一监控终端采集的监控视频的重要等级;
根据所述等级标识确定延时阈值,根据所述帧率及所述延时阈值确定所述预设堆积阈值。
4.根据权利要求1所述的方法,其特征在于,所述在所述堆积的视频帧的数量达到预设堆积阈值时,向所述协转服务器发送获取更低码率和/或更低分辨率的视频流的视频切换请求的步骤,包括:
确定低于所述第一监控视频流的当前码率的多个预设码率,并确定低于所述第一监控视频流的当前分辨率的多个预设分辨率,并将所述多个预设分辨率及所述多个预设码率添加到视频切换界面中;
根据用户在所述视频切换界面上进行的第一目标分辨率的选择操作,向所述协转服务器发送包括所述第一目标分辨率的视频切换请求;所述协转服务器用于按照所述第一目标分辨率,将所述第一监控视频流重新编码为第三监控视频流;
或,根据用户在所述视频切换界面上进行的第一目标码率的选择操作,向所述协转服务器发送包括所述第一目标码率的视频切换请求;所述协转服务器用于按照所述第一目标码率,将所述第一监控视频流重新编码为第四监控视频流;
或,根据用户在所述视频切换界面上进行的第二目标码率和第二目标码分辨率的选择操作,向所述协转服务器发送包括所述第二目标码率及所述第二目标分辨率的视频切换请求;所述协转服务器用于按照所述第二目标码率及所述第二目标分辨率,将所述第一监控视频流重新编码为第五监控视频流。
5.一种基于视联网的视频播放方法,其特征在于,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端;所述方法应用于所述协转服务器,包括:
从第一监控终端上获取第一监控视频流,并将所述第一监控视频流发送给所述视频播放端;其中,所述第一监控视频流由所述第一监控终端采集并编码;
接收所述视频播放端发送的切换更低码率和/或更低分辨率的视频流的视频切换请求;其中,所述视频切换请求由所述视频播放端在播放所述第一监控视频流时,检测到解码队列中堆积的视频帧的数量达到预设堆积阈值时发送;其中,所述解码队列中堆积的的视频帧为所述解码队列中缓存的还来不及解码的视频帧;
针对所述视频切换请求,将所述第一监控视频流重新编码为更低码率和/或更低分辨率的第二监控视频流,以提高所述第二监控视频流的解码速度、降低播放所述第二监控视频流的时延;
将所述第二监控视频流发送给所述视频播放端。
6.根据权利要求5所述的方法,其特征在于,所述协转服务器中预存有码率等级表及分辨率等级表,其中,在所述码率等级表中按照清晰度从高到低的顺序排列有多个码率;在所述分辨率等级表中按照清晰度从高到低的顺序排列有多个分辨率;
所述方法还包括:
记录所述第一监控视频流的第一分辨率和第一码率;
所述针对所述视频切换请求,将所述第一监控终端当前采集的监控视频流重新编码为更低码率和/或更低分辨率的第二监控视频流的步骤,包括:
在所述码率等级表中查找位于所述第一码率的下一清晰度等级的第一目标码率,以及,在所述分辨率等级表中查找位于所述第一分辨率的下一清晰度级的第一目标分辨率;
按照所述第一目标码率将所述第一监控视频流重新编码为第三监控视频流;
或,按照所述第一目标分辨率将所述第一监控视频流重新编码为第四监控视频流;
或,按照所述第一目标分辨率及所述第一码率,将所述第一监控视频流重新编码为第五监控视频流。
7.一种基于视联网的监控视频播放装置,其特征在于,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端;所述装置位于所述视频播放端,包括:
堆积确定模块,用于在播放所述协转服务器发送的第一监控视频流时,确定解码队列中堆积的视频帧的数量;其中,所述第一监控视频流为由第一监控终端采集并编码的视频流;其中,所述解码队列中堆积的的视频帧为所述解码队列中缓存的还来不及解码的视频帧;
视频切换请求模块,用于在所述堆积的视频帧的数量达到预设堆积阈值时,向所述协转服务器发送切换更低码率和/或更低分辨率的视频流的视频切换请求;所述协转服务器用于针对所述视频切换请求,将所述第一监控视频流重新编码为具有更低码率和/或更低分辨率的第二监控视频流,以提高所述第二监控视频流的解码速度、降低播放所述第二监控视频流的时延;
清除模块,用于在接收到所述协转服务器返回的所述第二监控视频流时,将所述解码队中所述堆积的视频帧清除;
解码播放模块,用于对所述第二监控视频流进行解码,并播放解码后的第二监控视频流。
8.一种基于视联网的视频播放装置,其特征在于,所述视联网包括协转服务器,与所述协转服务器连接的视频播放端及多个监控终端;所述装置位于所述协转服务器,包括:
视频转发模块,用于从第一监控终端上获取第一监控视频流,并将所述第一监控视频流发送给所述视频播放端;其中,所述第一监控视频流由所述第一监控终端采集并编码;
切换请求接收模块,用于接收所述视频播放端发送的切换更低码率和/或更低分辨率的视频流的视频切换请求;其中,所述视频切换请求由所述视频播放端在播放所述第一监控视频流时,检测到解码队列中堆积的视频帧的数量达到预设堆积阈值时发送;其中,所述解码队列中堆积的的视频帧为所述解码队列中缓存的还来不及解码的视频帧;
转码模块,用于针对所述视频切换请求,将所述第一监控视频流重新编码为更低码率和/或更低分辨率的第二监控视频流,以提高所述第二监控视频流的解码速度、降低播放所述第二监控视频流的时延;
视频发送模块,用于将所述第二监控视频流发送给所述视频播放端。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任一所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现如权利要求1-6任一所述的方法。
CN201910603688.5A 2019-07-05 2019-07-05 一种基于视联网的监控视频播放方法及装置 Active CN110324580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910603688.5A CN110324580B (zh) 2019-07-05 2019-07-05 一种基于视联网的监控视频播放方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910603688.5A CN110324580B (zh) 2019-07-05 2019-07-05 一种基于视联网的监控视频播放方法及装置

Publications (2)

Publication Number Publication Date
CN110324580A CN110324580A (zh) 2019-10-11
CN110324580B true CN110324580B (zh) 2020-12-11

Family

ID=68122734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910603688.5A Active CN110324580B (zh) 2019-07-05 2019-07-05 一种基于视联网的监控视频播放方法及装置

Country Status (1)

Country Link
CN (1) CN110324580B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510759B (zh) * 2020-03-17 2023-10-13 视联动力信息技术股份有限公司 视频显示方法、装置及可读存储介质
CN111683268B (zh) * 2020-04-28 2023-11-21 视联动力信息技术股份有限公司 一种监控数据显示方法、装置、设备及介质
CN112995613B (zh) * 2021-05-20 2021-08-06 武汉中科通达高新技术股份有限公司 一种分析资源管理方法及装置
CN113542849B (zh) * 2021-07-06 2023-06-30 腾讯科技(深圳)有限公司 视频数据处理方法及装置、电子设备、存储介质
CN113747203B (zh) * 2021-09-01 2022-08-30 腾讯科技(深圳)有限公司 一种视频信息传输方法、装置、电子设备及存储介质
CN116074584A (zh) * 2023-01-13 2023-05-05 中国联合网络通信集团有限公司 视频流的传输方法、装置及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771865A (zh) * 2009-01-07 2010-07-07 财团法人工业技术研究院 影音控制响应及频宽调适方法、服务器、存储介质
JP4695669B2 (ja) * 2008-05-19 2011-06-08 株式会社日立製作所 映像配信システム
CN102148984A (zh) * 2010-02-08 2011-08-10 北京中星微电子有限公司 一种调整jpeg编码码率的方法及设备
CN102378065A (zh) * 2011-10-19 2012-03-14 江西省南城县网信电子有限公司 基于mpeg-4的流媒体服务器端配置缓冲区的方法及系统
CN108401128A (zh) * 2018-03-20 2018-08-14 宁波菊思网络科技有限公司 一种视频通话中的拥塞控制方法
CN108495142A (zh) * 2018-04-11 2018-09-04 腾讯科技(深圳)有限公司 视频编码方法及装置
CN108881815A (zh) * 2017-08-30 2018-11-23 北京视联动力国际信息技术有限公司 一种视频数据的传输方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2876885A1 (en) * 2013-11-21 2015-05-27 Axis AB Method and apparatus in a motion video capturing system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4695669B2 (ja) * 2008-05-19 2011-06-08 株式会社日立製作所 映像配信システム
CN101771865A (zh) * 2009-01-07 2010-07-07 财团法人工业技术研究院 影音控制响应及频宽调适方法、服务器、存储介质
CN102148984A (zh) * 2010-02-08 2011-08-10 北京中星微电子有限公司 一种调整jpeg编码码率的方法及设备
CN102378065A (zh) * 2011-10-19 2012-03-14 江西省南城县网信电子有限公司 基于mpeg-4的流媒体服务器端配置缓冲区的方法及系统
CN108881815A (zh) * 2017-08-30 2018-11-23 北京视联动力国际信息技术有限公司 一种视频数据的传输方法和装置
CN108401128A (zh) * 2018-03-20 2018-08-14 宁波菊思网络科技有限公司 一种视频通话中的拥塞控制方法
CN108495142A (zh) * 2018-04-11 2018-09-04 腾讯科技(深圳)有限公司 视频编码方法及装置

Also Published As

Publication number Publication date
CN110324580A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN109788314B (zh) 一种视频流数据传输的方法和装置
CN110324580B (zh) 一种基于视联网的监控视频播放方法及装置
CN109640029B (zh) 一种视频流上墙展示的方法和装置
CN109756789B (zh) 一种音视频数据包的丢包处理方法和系统
CN110769310B (zh) 一种基于视联网的视频处理方法和装置
CN109547728B (zh) 一种录播源入会以及会议录播的方法和系统
CN110417877B (zh) 一种音视频业务的处理方法及装置
CN110049273B (zh) 一种基于视联网的会议录制方法和中转服务器
CN109218306B (zh) 一种音视频数据流的处理方法和系统
CN111147859A (zh) 一种视频处理方法和装置
CN108965930B (zh) 一种视频数据处理的方法和装置
CN110149305B (zh) 一种基于视联网的多方播放音视频的方法和中转服务器
CN110022286B (zh) 点播多媒体节目的方法和装置
CN111447407B (zh) 一种监控资源的传输方法和装置
CN110661992A (zh) 数据处理方法和装置
CN110798706A (zh) 视频转码方法和装置
CN110381080B (zh) 一种多媒体数据包发送方法及装置
CN110139059B (zh) 一种视联网资源的分配方法及装置
CN110149306B (zh) 一种媒体数据的处理方法及装置
CN110233872B (zh) 一种基于视联网的数据传输方法和视联网终端
CN110213533B (zh) 一种视联网监控视频流的获取方法及装置
CN110691214B (zh) 一种业务对象的数据处理方法和装置
CN109714641B (zh) 一种基于视联网的数据处理方法和装置
CN110418105B (zh) 一种视频监控方法和系统
CN111246153A (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