CN110351582A - 一种视频流数据的处理方法、系统及装置和存储介质 - Google Patents
一种视频流数据的处理方法、系统及装置和存储介质 Download PDFInfo
- Publication number
- CN110351582A CN110351582A CN201910625786.9A CN201910625786A CN110351582A CN 110351582 A CN110351582 A CN 110351582A CN 201910625786 A CN201910625786 A CN 201910625786A CN 110351582 A CN110351582 A CN 110351582A
- Authority
- CN
- China
- Prior art keywords
- channel
- queue
- terminal
- video stream
- module
- 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
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26291—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
-
- 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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
- H04N21/4586—Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/268—Signal distribution or switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种视频流数据的处理方法、系统以及装置和存储介质,其中,所述方法包括:终端获取队列列表中索引值的当前指向位置,根据当前指向位置确定第一通道号;终端获取码流切换指令,从码流切换指令中解析得到目的通道号和源通道号;终端将状态列表中与目的通道号对应的状态设置为显示状态,与源通道号对应的状态设置为隐藏状态;终端将第一通道号分别与目的通道号和源通道号进行比较;在第一通道号与目的通道号相同时,输出与第一通道号对应的队列存储的视频流数据;在第一通道号与源通道号相同时,释放与第一通道号对应的队列存储的视频流数据。本发明实施例减少了终端与节点服务器之间的交互操作,提高了视频流数据切换的实时性。
Description
技术领域
本发明涉及视联网技术领域,特别是涉及一种视频流数据的处理方法、系统以及一种装置和一种计算机可读存储介质。
背景技术
视联网是一种基于以太网硬件的用于高速传输高清视频及专用协议的专用网络,视联网是以太网的更高级形态,是一个实时网络。视联网中的终端可以通过高清多媒体接口(High Definition Multimedia Interface,HDMI)连接显示器,以便将服务器下发的视频流数据显示在显示器上。
目前,若终端需要在显示器上显示不同的视频流数据,则先向服务器发送视频流数据的切换请求,服务器收到切换请求之后,停止向终端发送源视频流数据,向终端发送目的视频流数据。终端接收到目的视频流数据,并在显示器上显示目的视频流数据。在实际应用中,终端需要以较快的频率在多路视频流数据之间进行切换,终端向服务器频繁地发送切换请求,服务器也频繁地停止发送源视频流数据,频繁地发送目的视频流数据,终端与服务器之间的交互操作相应地增多。由于每次交互操作都存在一定的延时,因此终端切换视频流数据的实时性较差。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种视频流数据的处理方法、系统,以及一种装置和一种计算机可读存储介质。
为了解决上述问题,本发明实施例公开了一种视频流数据的处理方法,所述方法应用于视频流数据的处理系统,所述处理系统包括设置于视联网中的终端和节点服务器,所述终端与所述节点服务器通信连接;所述方法包括:所述终端获取预设的队列列表中索引值的当前指向位置,并根据所述当前指向位置确定对应的第一通道号;所述终端响应于用户的操作,获取码流切换指令;所述终端从所述码流切换指令中解析得到目的通道号和源通道号;所述终端将预设的状态列表中与所述目的通道号对应的状态设置为显示状态,并将所述状态列表中与所述源通道号对应的状态设置为隐藏状态;所述终端将所述第一通道号分别与所述目的通道号和所述源通道号进行比较;所述终端在所述第一通道号与所述目的通道号相同时,输出所述队列列表中与所述第一通道号对应的队列存储的视频流数据;所述终端在所述第一通道号与所述源通道号相同时,释放所述队列列表中与所述第一通道号对应的队列存储的视频流数据。
可选地,所述终端获取预设的队列列表中索引值的当前指向位置,并根据所述当前指向位置确定对应的第一通道号的步骤,包括:所述终端获取所述当前指向位置,并判断所述当前指向位置是否指向所述队列列表中的最后一个队列;所述终端在所述当前指向位置指向所述最后一个队列时,移动所述索引值,以便移动后的索引值的指向位置指向所述队列列表中的第一个队列;所述终端在所述当前指向位置不指向所述最后一个队列时,移动所述索引值,以便移动后的索引值的指向位置指向所述队列列表中所述当前指向位置对应的当前队列的下一个队列;所述终端将所述第一个队列对应的通道号或所述下一个队列对应的通道号作为所述第一通道号。
可选地,所述方法还包括:所述终端接收来自所述节点服务器的通道更新指令,所述通道更新指令包括待增加的通道的数量和通道号,或待减少的通道的数量和通道号;所述终端根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新;其中,所述通道列表中包含视频流数据、通道号和队列之间的对应关系。
可选地,在所述终端根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新的步骤之后,所述方法还包括:所述终端根据所述通道更新指令在所述队列列表中创建新的队列,并建立所述新的队列与所述待增加的通道的通道号之间的对应关系;或,所述终端根据所述通道更新指令在所述队列列表中删除已存在的队列。
可选地,在所述终端根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新的步骤之后,所述方法还包括:所述终端根据所述通道更新指令在所述状态列表中创建所述待增加的通道的通道号,或删除所述待减少的通道的通道号。
可选地,所述方法还包括:所述终端接收来自所述节点服务器的数据包,并从所述数据包中解析得到第二通道号;所述终端根据所述对应关系在所述队列列表中查找到与所述第二通道号对应的队列;所述终端将所述数据包中的视频流数据存储至查找到的队列中。
本发明实施例还公开了一种视频流数据的处理系统,所述处理系统包括设置于视联网中的终端和节点服务器,所述终端与所述节点服务器通信连接;所述终端包括:确定模块,用于获取预设的队列列表中索引值的当前指向位置,并根据所述当前指向位置确定对应的第一通道号;获取模块,用于响应于用户的操作,获取码流切换指令;解析模块,用于从所述码流切换指令中解析得到目的通道号和源通道号;设置模块,用于将预设的状态列表中与所述目的通道号对应的状态设置为显示状态,并将所述状态列表中与所述源通道号对应的状态设置为隐藏状态;比较模块,用于将所述第一通道号分别与所述目的通道号和所述源通道号进行比较;处理模块,用于在所述第一通道号与所述目的通道号相同时,输出所述队列列表中与所述第一通道号对应的队列存储的视频流数据;在所述第一通道号与所述源通道号相同时,释放所述队列列表中与所述第一通道号对应的队列存储的视频流数据。
可选地,所述确定模块,包括:判断模块,用于获取所述当前指向位置,并判断所述当前指向位置是否指向所述队列列表中的最后一个队列;移动模块,用于在所述当前指向位置指向所述最后一个队列时,移动所述索引值,以便移动后的索引值的指向位置指向所述队列列表中的第一个队列;在所述当前指向位置不指向所述最后一个队列时,移动所述索引值,以便移动后的索引值的指向位置指向所述队列列表中所述当前指向位置对应的当前队列的下一个队列;作为模块,用于将所述第一个队列对应的通道号或所述下一个队列对应的通道号作为所述第一通道号。
可选地,所述终端还包括:接收模块,用于接收来自所述节点服务器的通道更新指令,所述通道更新指令包括待增加的通道的数量和通道号,或待减少的通道的数量和通道号;更新模块,用于根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新;其中,所述通道列表中包含视频流数据、通道号和队列之间的对应关系。
可选地,所述更新模块,还用于在根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新之后,根据所述通道更新指令在所述队列列表中创建新的队列,并建立所述新的队列与所述待增加的通道的通道号之间的对应关系;或,根据所述通道更新指令在所述队列列表中删除已存在的队列。
可选地,所述更新模块,还用于在根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新之后,根据所述通道更新指令在所述状态列表中创建所述待增加的通道的通道号,或删除所述待减少的通道的通道号。
可选地,所述接收模块,还用于接收来自所述节点服务器的数据包;所述解析模块,还用于从所述数据包中解析得到第二通道号;所述终端还包括:查找模块,用于根据所述对应关系在所述队列列表中查找到与所述第二通道号对应的队列;存储模块,用于将所述数据包中的视频流数据存储至查找到的队列中。
本发明实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本发明实施例所述的一个或多个的视频流数据的处理方法。
本发明实施例还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的视频流数据的处理方法。
本发明实施例包括以下优点:
本发明实施例提供的视频流数据的处理方案,可以应用于视频流数据的处理系统中,该处理系统可以包括设置于视联网中的终端和节点服务器,终端可以与结点服务器通信连接。
在本发明实施例中,若需要切换显示的视频流数据,则终端可以响应于用户的操作,获取码流切换指令,并从码流切换指令中解析得到目的通道号和源通道号。其中,目的通道号可以理解为切换后的视频流数据的通道号,源通道号可以理解为切换前的视频流数据的通道号。终端将状态列表中目的通道号的状态设置为显示状态,将状态列表中源通道号的状态设置为隐藏状态。终端还可以获取队列列表中索引值的当前指向位置,并根据当前指向位置确定对应的第一通道号。终端将第一通道号与目的通道号和源通道号进行比较,在第一通道号与目的通道号相同时,输出队列列表中第一通道号对应的队列存储的视频流数据;在第一通道号与源通道号相同时,释放队列列表中第一通道号对应的队列存储的视频流数据。本发明实施例若要切换显示的视频流数据,终端无需向节点服务器发送视频流数据的切换请求,节点服务器也无需根据视频流数据的切换请求停止向终端发送源视频流数据,向终端发送目的视频流数据,减少了终端与节点服务器之间的交互操作,提高了视频流数据切换的实时性。
附图说明
图1是本发明的一种视联网的组网示意图;
图2是本发明的一种节点服务器的硬件结构示意图;
图3是本发明的一种接入交换机的硬件结构示意图;
图4是本发明的一种以太网协转网关的硬件结构示意图;
图5是本发明实施例的一种视频流数据的处理方法的步骤流程图;
图6是本发明实施例的一种终端中各模块的连接关系示意图;
图7是本发明实施例的一种指令处理流程图;
图8是本发明实施例的一种数据处理流程图;
图9是本发明实施例的另一种数据处理流程图;
图10是本发明实施例的一种基于视联网的多路视频流输出方法的流程图;
图11是本发明实施例的一种视频流数据的处理系统中终端的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、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,示出了本发明实施例的一种视频流数据的处理方法的步骤流程图,该处理方法可以应用于视频流数据的处理系统,该处理系统可以包括设置于视联网中的终端和节点服务器,终端与节点服务器通信连接。终端可以通过HDMI连接显示器,以便将来自节点服务器的视频流数据通过显示器进行展示。该处理方法具体可以包括如下步骤:
步骤501,终端获取预设的队列列表中索引值的当前指向位置,并根据当前指向位置确定对应的第一通道号。
在本发明实施例中,终端上可以预先设置有队列列表,该队列列表为一种线性的存储结构。具体地,终端可以在内存中分配一片连续的存储空间,将存储空间按照固定大小分割为多个连续的存储块,每一个存储块为队列列表的一个结点。在该队列列表中可以存储有来自节点服务器的视频流数据。即视频流数据存储在队列列表中一个或多个结点中。队列列表中的一路视频流数据可以称为一个队列。队列列表中设置有索引值,该索引值用于确定队列列表中各队列的队列地址。队列地址可以理解为一个或多个结点组成的连续存储空间的起始地址。
在步骤501中,终端可以获取索引值的当前指向位置,并判断当前指向位置是否指向队列列表中的最后一个队列。其中,索引值的当前指向位置可以为索引值所在的队列的队列地址。若当前指向位置指向最后一个队列,则移动索引值至队列列表中的第一个队列;若当前指向位置不指向最后一个队列,则移动索引值至当前指向位置指向的当前队列的下一个队列。进而,终端可以将第一个队列的通道号或下一个队列的通道号作为第一通道号。
需要说明的是,本发明实施例中的视频流数据、队列和通道号之间存在一一对应关系。确定了视频流数据、队列和通道号三者中的任意一种,即可根据对应关系确定三者中的其他两种。而且,第一通道号并非索引值的当前指向位置指向的当前队列对应的通道号。
步骤502,终端响应于用户的操作,获取码流切换指令。
在本发明实施例中,用户可以在终端上或者在用户操作平台上执行码流切换操作,生成码流切换指令。终端可以从本地或用户操作平台上获取码流切换指令。
需要说明的是,上述步骤502和上述步骤501之间可以顺序执行,也可以并列执行,上述步骤502和上述步骤501的步骤编号对两个步骤的执行时间关系等不作具体限制。
步骤503,终端从码流切换指令中解析得到目的通道号和源通道号。
在本发明实施例中,码流切换指令中可以包括目的视频流数据的标识信息和源视频流数据的标识信息。在实际应用中,标识信息可以为通道号,即码流切换指令中可以包括目的视频流数据的目的通道号和源视频流数据的源通道号。标识信息还可以为视频流数据的编号,用于唯一确定来源于节点服务器的视频流数据,本发明实施例对标识信息的内容、格式等不作具体限制。
步骤504,终端将预设的状态列表中与目的通道号对应的状态设置为显示状态,并将状态列表中与源通道号对应的状态设置为隐藏状态。
在本发明实施例中,终端上可以预先设置有状态列表,该状态列表用于表示与队列列表中的队列对应的通道号的展示状态。在实际应用中,展示状态可以包括两种,一种为显示状态,表示处于显示状态的通道号对应的队列中存储的视频流数据可以输出至显示器进行展示。另一种为隐藏状态,表示处于隐藏状态的通道号对应的队列中存储的视频流数据不可以输出至显示器进行展示。例如,状态列表中存在3个通道,通道号依次为00、01和02,且通道号为00的通道的展示状态为显示状态,通道号为01和02的通道的展示状态均为隐藏状态。
终端在解析得到目的通道号和源通道号之后,可以将状态列表中目的通道号对应的通道的展示状态设置为显示状态,将状态列表中源通道号对应的通道的展示状态设置为隐藏状态。
步骤505,终端将第一通道号分别与目的通道号和源通道号进行比较,在第一通道号与目的通道号相同时,执行步骤506;在第一通道号与源通道号相同时,执行步骤507。
步骤506,终端输出队列列表中与第一通道号对应的队列存储的视频流数据。
在本发明实施例中,终端可以将将队列列表中与第一通道号对应的队列中存储的视频流数据输出至显示器,以便通过显示器展示目的视频流数据。
步骤507,终端释放队列列表中与第一通道号对应的队列存储的视频流数据。
在本发明实施例中,终端可以将队列列表中与第一通道号对应的队列中存储的视频流数据删除,以释放第一通道号对应的队列所包含的各结点的资源。
在本发明的一种优选实施例中,终端还可以接收来自节点服务器的通道更新指令。该通道更新指令中可以包含待增加的通道的数量和通道号,或待减少的通道的数量和通道号。终端可以根据通道更新指令对预设的通道计数器和预设的通道列表进行更新。例如,原来共有三路视频流数据,分别对应的通道号为00、01和02。通道更新指令中包含待减少的通道的数量为2、待减少的通道的通道号为00和01。终端上可以预先设置有通道列表,该通道列表中可以包含终端接收到的每一路视频流数据对应的通道号,以及每一个通道号对应的队列。终端对通道计数器进行更新时,可以根据通道更新指令中待增加的通道的数量增加通道总数量,或者根据通道更新指令中待减少的通道的数量减少通道总数量。终端对通道列表进行更新时,可以根据通道更新指令中待增加的通道的数量和通道号,在通道列表中新建通道,或者,根据通道更新指令中待减少的通道的数量和通道号,在通道列表中删除通道。
在本发明的一种优选实施例中,在终端对通道计数器和通道列表进行更新之后,终端还可以根据通道更新指令在队列列表中创建新的队列,并建立新的队列与待增加的通道的通道号之间的对应关系,或根据通道更新指令在队列列表中删除已存在的队列。
在本发明的一种优选实施例中,在终端对通道计数器和通道列表进行更新之后,终端还可以根据通道更新指令在状态列表中创建待增加的通道的通道号,或删除待减少的通道的通道号。
在本发明的一种优选实施例中,终端还可以接收来自节点服务器的数据包,并从数据包中解析得到第二通道号。该数据包可以理解为节点服务器发送至终端的包含视频流数据的数据包,在该数据包中除了包含视频流数据,还可以包含视频流数据对应的通道号。终端可以根据数据包中的第二通道号和通道号与队列之间的对应关系查找到与第二通道号对应的队列,进而将数据包中的视频流数据存储至查找到的队列中。
基于上述关于一种视频流数据的处理方法的相关说明,下面介绍一种基于视联网的多路视频流输出方法,该输出方法可以应用于基于视联网的多路视频流输出系统中。该输出系统可以包含终端和服务器,终端可以与服务器建立数据通道,同时接收来自服务器的多路视频流。终端可以利用队列和多线程的方式在多路视频流之间切换输出。在实际应用中,如图6所示,终端可以按照功能划分为指令接收模块、数据接收模块、通道计数模块、状态维护模块、队列管理模块、数据处理模块和输出模块。其中,通道计数模块分别与指令接收模块和状态维护模块通信连接,队列管理模块分别与数据接收模块、状态维护模块和数据处理模块通信连接,数据处理模块和输出模块通信连接。
指令接收模块主要用于接收服务器的指令和用户的指令,具体地,接收服务器下发的通道更新指令,接收用户下发的码流切换指令。当服务器下发的视频流数量发生变化,如增加下发n路视频流或减少发送n路视频流时,服务器下发通道更新指令给终端。终端每次收到通道更新指令后,都需要通知通道计数模块更新通道计数器和通道列表。当用户要切换当前显示的视频流时,会发送码流切换指令到终端,终端每次收到码流切换指令后,都需要通知状态维护模块,更新状态列表。如图7所示,指令接收模块循环阻塞接收服务器和用户由控制平台下发的指令,并判断接收到的指令的指令类型。若指令类型为通道更新指令,则发送通道更新指令到通道计数模块,更新通道计数器和通道列表。且发送通道更新指令到队列管理模块和状态维护模块,创建或销毁相应的队列,更新队列列表,以及更新状态列表。若指令类型为码流切换指令,则解析码流切换指令中的目的通道号和源通道号,发送目的通道号和源通道号到状态维护模块,将目的通道号对应的状态列表中的通道的展示状态设置为显示状态,将源通道号对应的状态列表中的通道的展示状态设置为隐藏状态。指令接收模块可以根据接收到的指令中的专用标识判断指令类型,如接收到的指令为01xxxxxx或02xxxxxx,指令中的前两个字符为01,表示该指令的指令类型为通道更新指令,指令中的前两个字符为02,表示该指令的指令类型为码流切换指令。
如图8所示,数据接收模块用于接收服务器下发的视频数据包,并解析包头信息中的通道号。数据接收模块根据解析出来的通道号,将通道号转发到队列管理模块,在队列列表中查找与通道号对应的队列地址,数据接收模块再将视频数据包中的视频流入队到该队列列表中。
通道计数模块主要维护通道计数器和通道列表。当通道数量变化时,更新通道计数器和通道列表。且与队列管理模块交互更新队列列表,若通道数量增加,则通知队列管理模块创建相应的队列,并将新创建的队列与新添加通道一一对应。若通道数量减少,则通知队列管理模块销毁与删除的通道对应的队列。且每次通道计数器更新后,通道计数模块都会通知状态维护模块,更新状态列表。
状态维护模块主要功能为维护状态列表。状态列表中的成员与通道计数模块中的通道列表成员一一对应。该状态列表主要用于标识视频流的通道的展示状态,展示状态包括两种:显示状态和隐藏状态。若展示状态为显示状态,表示该通道的视频流为用户要求显示的视频流;若展示状态为隐藏状态,表示该通道的视频流不为用户要求显示的视频流。
队列管理模块主要功能为接收通道计数模块发送来的通道更新信息,创建和销毁相应的队列,维护队列列表,同样队列列表中的队列与通道列表中的通道一一对应。且该队列管理模块负责数据结点的出队入队以及数据结点的资源回收。其中,出队即将结点从队列中取出,入队即将结点加入到队列中。
数据处理模块主要功能为处理队列列表中的视频流,维护队列列表索引值,依次移动索引值,根据索引值获取队列列表中的队列地址,循环遍历队列列表中的成员,将队列中的结点出队,并获取当前队列对应的通道的展示状态。根据展示状态对出队的视频流做出相应的处理,若队列对应的通道为显示状态,则将视频流发送到输出模块。若队列对应的通道为隐藏状态,将结点释放,回收结点资源。如图9所示,数据处理模块维护队列列表中的索引值,通过移动索引值依次指向队列列表中的成员,具体地,判断索引值是否指向队列列表的队尾,若索引值指向队列列表的队尾,则将索引值移动到队列列表的队首;若索引值不指向队列列表的队尾,则将索引值移动到下一个队列。根据索引值获取索引值当前指向的队列地址,将队列中的结点出队。发送索引值对应队列的通道号到状态维护模块,获取当前通道的展示状态。若为显示状态则发送结点中的视频流到输出模块。若为隐藏状态,则释放结点回收结点资源。处理完成后,继续移动索引值,处理队列列表中的下一成员。
输出模块主要功能为接收数据处理模块发送来的视频流,将视频流输出到显示器。
如图10所示,数据接收模块负责接收数据,与队列管理模块交互,入队数据到相应的队列中。数据处理模块负责处理队列中的数据,将视频流出队,并与状态维护模块交互,获取队列的展示状态,若需要显示则将视频流发送到输出模块,否则将结点交由队列管理模块释放回收资源。指令接收模块负责接收服务器和用户下发的指令,根据指令类型做出相应的处理。若接收到的指令为服务器下发的通道更新指令,则指令接收模块与通道计数模块交互更新通道计数器和通道列表。通道计数模块分别与状态维护模块和队列管理模块交互,更新状态列表和队列列表。若接收到的指令为用户下发的码流切换指令,则指令接收模块与状态维护模块交互,更新状态列表。
本发明实施例提供的视频流数据的处理方案,可以应用于视频流数据的处理系统中,该处理系统可以包括设置于视联网中的终端和节点服务器,终端可以与结点服务器通信连接。
在本发明实施例中,若需要切换显示的视频流数据,则终端可以响应于用户的操作,获取码流切换指令,并从码流切换指令中解析得到目的通道号和源通道号。其中,目的通道号可以理解为切换后的视频流数据的通道号,源通道号可以理解为切换前的视频流数据的通道号。终端将状态列表中目的通道号的状态设置为显示状态,将状态列表中源通道号的状态设置为隐藏状态。终端还可以获取队列列表中索引值的当前指向位置,并根据当前指向位置确定对应的第一通道号。终端将第一通道号与目的通道号和源通道号进行比较,在第一通道号与目的通道号相同时,输出队列列表中第一通道号对应的队列存储的视频流数据;在第一通道号与源通道号相同时,释放队列列表中第一通道号对应的队列存储的视频流数据。本发明实施例若要切换显示的视频流数据,终端无需向节点服务器发送视频流数据的切换请求,节点服务器也无需根据视频流数据的切换请求停止向终端发送源视频流数据,向终端发送目的视频流数据,减少了终端与节点服务器之间的交互操作,提高了视频流数据切换的实时性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参考图11,示出了本发明实施例的一种视频流数据的处理系统中终端的结构框图,所述处理系统包括设置于视联网中的终端和节点服务器,所述终端与所述节点服务器通信连接;所述终端可以包括如下模块:
确定模块1101,用于获取预设的队列列表中索引值的当前指向位置,并根据所述当前指向位置确定对应的第一通道号;获取模块1102,用于响应于用户的操作,获取码流切换指令;解析模块1103,用于从所述码流切换指令中解析得到目的通道号和源通道号;设置模块1104,用于将预设的状态列表中与所述目的通道号对应的状态设置为显示状态,并将所述状态列表中与所述源通道号对应的状态设置为隐藏状态;比较模块1105,用于将所述第一通道号分别与所述目的通道号和所述源通道号进行比较;处理模块1106,用于在所述第一通道号与所述目的通道号相同时,输出所述队列列表中与所述第一通道号对应的队列存储的视频流数据;在所述第一通道号与所述源通道号相同时,释放所述队列列表中与所述第一通道号对应的队列存储的视频流数据。
在本发明的一种优选实施例中,所述确定模块1101,包括:判断模块11011,用于获取所述当前指向位置,并判断所述当前指向位置是否指向所述队列列表中的最后一个队列;移动模块11012,用于在所述当前指向位置指向所述最后一个队列时,移动所述索引值,以便移动后的索引值的指向位置指向所述队列列表中的第一个队列;在所述当前指向位置不指向所述最后一个队列时,移动所述索引值,以便移动后的索引值的指向位置指向所述队列列表中所述当前指向位置对应的当前队列的下一个队列;作为模块11013,用于将所述第一个队列对应的通道号或所述下一个队列对应的通道号作为所述第一通道号。
在本发明的一种优选实施例中,所述终端还包括:接收模块1107,用于接收来自所述节点服务器的通道更新指令,所述通道更新指令包括待增加的通道的数量和通道号,或待减少的通道的数量和通道号;更新模块1108,用于根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新;其中,所述通道列表中包含视频流数据、通道号和队列之间的对应关系。
在本发明的一种优选实施例中,所述更新模块1108,还用于在根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新之后,根据所述通道更新指令在所述队列列表中创建新的队列,并建立所述新的队列与所述待增加的通道的通道号之间的对应关系;或,根据所述通道更新指令在所述队列列表中删除已存在的队列。
在本发明的一种优选实施例中,所述更新模块1108,还用于在根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新之后,根据所述通道更新指令在所述状态列表中创建所述待增加的通道的通道号,或删除所述待减少的通道的通道号。
在本发明的一种优选实施例中,所述接收模块1107,还用于接收来自所述节点服务器的数据包;所述解析模块1103,还用于从所述数据包中解析得到第二通道号;所述终端还包括:查找模块1109,用于根据所述对应关系在所述队列列表中查找到与所述第二通道号对应的队列;存储模块1110,用于将所述数据包中的视频流数据存储至查找到的队列中。
对于视频流数据的处理系统实施例而言,由于其与视频流数据的处理方法实施例基本相似,所以描述的比较简单,相关之处参见视频流数据的处理方法实施例的部分说明即可。
本发明实施例还提供了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本发明实施例所述的一个或多个的视频流数据的处理方法。
本发明实施例还提供了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的视频流数据的处理方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种视频流数据的处理方法、系统,以及一种装置和一种计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种视频流数据的处理方法,其特征在于,所述方法应用于视频流数据的处理系统,所述处理系统包括设置于视联网中的终端和节点服务器,所述终端与所述节点服务器通信连接;所述方法包括:
所述终端获取预设的队列列表中索引值的当前指向位置,并根据所述当前指向位置确定对应的第一通道号;
所述终端响应于用户的操作,获取码流切换指令;
所述终端从所述码流切换指令中解析得到目的通道号和源通道号;
所述终端将预设的状态列表中与所述目的通道号对应的状态设置为显示状态,并将所述状态列表中与所述源通道号对应的状态设置为隐藏状态;
所述终端将所述第一通道号分别与所述目的通道号和所述源通道号进行比较;
所述终端在所述第一通道号与所述目的通道号相同时,输出所述队列列表中与所述第一通道号对应的队列存储的视频流数据;
所述终端在所述第一通道号与所述源通道号相同时,释放所述队列列表中与所述第一通道号对应的队列存储的视频流数据。
2.根据权利要求1所述的视频流数据的处理方法,其特征在于,所述终端获取预设的队列列表中索引值的当前指向位置,并根据所述当前指向位置确定对应的第一通道号的步骤,包括:
所述终端获取所述当前指向位置,并判断所述当前指向位置是否指向所述队列列表中的最后一个队列;
所述终端在所述当前指向位置指向所述最后一个队列时,移动所述索引值,以便移动后的索引值的指向位置指向所述队列列表中的第一个队列;
所述终端在所述当前指向位置不指向所述最后一个队列时,移动所述索引值,以便移动后的索引值的指向位置指向所述队列列表中所述当前指向位置对应的当前队列的下一个队列;
所述终端将所述第一个队列对应的通道号或所述下一个队列对应的通道号作为所述第一通道号。
3.根据权利要求1所述的视频流数据的处理方法,其特征在于,所述方法还包括:
所述终端接收来自所述节点服务器的通道更新指令,所述通道更新指令包括待增加的通道的数量和通道号,或待减少的通道的数量和通道号;
所述终端根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新;
其中,所述通道列表中包含视频流数据、通道号和队列之间的对应关系。
4.根据权利要求3所述的视频流数据的处理方法,其特征在于,在所述终端根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新的步骤之后,所述方法还包括:
所述终端根据所述通道更新指令在所述队列列表中创建新的队列,并建立所述新的队列与所述待增加的通道的通道号之间的对应关系;
或,所述终端根据所述通道更新指令在所述队列列表中删除已存在的队列。
5.根据权利要求3所述的视频流数据的处理方法,其特征在于,在所述终端根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新的步骤之后,所述方法还包括:
所述终端根据所述通道更新指令在所述状态列表中创建所述待增加的通道的通道号,或删除所述待减少的通道的通道号。
6.根据权利要求3所述的视频流数据的处理方法,其特征在于,所述方法还包括:
所述终端接收来自所述节点服务器的数据包,并从所述数据包中解析得到第二通道号;
所述终端根据所述对应关系在所述队列列表中查找到与所述第二通道号对应的队列;
所述终端将所述数据包中的视频流数据存储至查找到的队列中。
7.一种视频流数据的处理系统,其特征在于,所述处理系统包括设置于视联网中的终端和节点服务器,所述终端与所述节点服务器通信连接;所述终端包括:
确定模块,用于获取预设的队列列表中索引值的当前指向位置,并根据所述当前指向位置确定对应的第一通道号;
获取模块,用于响应于用户的操作,获取码流切换指令;
解析模块,用于从所述码流切换指令中解析得到目的通道号和源通道号;
设置模块,用于将预设的状态列表中与所述目的通道号对应的状态设置为显示状态,并将所述状态列表中与所述源通道号对应的状态设置为隐藏状态;
比较模块,用于将所述第一通道号分别与所述目的通道号和所述源通道号进行比较;
处理模块,用于在所述第一通道号与所述目的通道号相同时,输出所述队列列表中与所述第一通道号对应的队列存储的视频流数据;在所述第一通道号与所述源通道号相同时,释放所述队列列表中与所述第一通道号对应的队列存储的视频流数据。
8.根据权利要求7所述的视频流数据的处理系统,其特征在于,所述确定模块,包括:
判断模块,用于获取所述当前指向位置,并判断所述当前指向位置是否指向所述队列列表中的最后一个队列;
移动模块,用于在所述当前指向位置指向所述最后一个队列时,移动所述索引值,以便移动后的索引值的指向位置指向所述队列列表中的第一个队列;在所述当前指向位置不指向所述最后一个队列时,移动所述索引值,以便移动后的索引值的指向位置指向所述队列列表中所述当前指向位置对应的当前队列的下一个队列;
作为模块,用于将所述第一个队列对应的通道号或所述下一个队列对应的通道号作为所述第一通道号。
9.根据权利要求7所述的视频流数据的处理系统,其特征在于,所述终端还包括:
接收模块,用于接收来自所述节点服务器的通道更新指令,所述通道更新指令包括待增加的通道的数量和通道号,或待减少的通道的数量和通道号;
更新模块,用于根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新;
其中,所述通道列表中包含视频流数据、通道号和队列之间的对应关系。
10.根据权利要求9所述的视频流数据的处理系统,其特征在于,所述更新模块,还用于在根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新之后,根据所述通道更新指令在所述队列列表中创建新的队列,并建立所述新的队列与所述待增加的通道的通道号之间的对应关系;或,根据所述通道更新指令在所述队列列表中删除已存在的队列。
11.根据权利要求9所述的视频流数据的处理系统,其特征在于,所述更新模块,还用于在根据所述通道更新指令对预设的通道计数器和预设的通道列表进行更新之后,根据所述通道更新指令在所述状态列表中创建所述待增加的通道的通道号,或删除所述待减少的通道的通道号。
12.根据权利要求9所述的视频流数据的处理系统,其特征在于,所述接收模块,还用于接收来自所述节点服务器的数据包;
所述解析模块,还用于从所述数据包中解析得到第二通道号;
所述终端还包括:
查找模块,用于根据所述对应关系在所述队列列表中查找到与所述第二通道号对应的队列;
存储模块,用于将所述数据包中的视频流数据存储至查找到的队列中。
13.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如权利要求1至6所述的一个或多个的视频流数据的处理方法。
14.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1至6任一项所述的视频流数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625786.9A CN110351582B (zh) | 2019-07-11 | 2019-07-11 | 一种视频流数据的处理方法、系统及装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625786.9A CN110351582B (zh) | 2019-07-11 | 2019-07-11 | 一种视频流数据的处理方法、系统及装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110351582A true CN110351582A (zh) | 2019-10-18 |
CN110351582B CN110351582B (zh) | 2020-12-11 |
Family
ID=68175076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910625786.9A Active CN110351582B (zh) | 2019-07-11 | 2019-07-11 | 一种视频流数据的处理方法、系统及装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110351582B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131747A (zh) * | 2019-12-06 | 2020-05-08 | 视联动力信息技术股份有限公司 | 确定数据通道状态的方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026742A (zh) * | 2006-12-27 | 2007-08-29 | 北京大学 | 一种数字家庭网络中同源流媒体的快速切换装置及方法 |
CN101252671A (zh) * | 2008-04-11 | 2008-08-27 | 杭州华三通信技术有限公司 | 在视频会议中调取会场的方法、多点控制单元及主席终端 |
JP2010220162A (ja) * | 2009-03-19 | 2010-09-30 | Hitachi Ltd | 通信路切替装置 |
CN105578153A (zh) * | 2016-03-04 | 2016-05-11 | 福建星网智慧科技股份有限公司 | 一种基于多媒体终端实现监控八路ipc的方法及系统 |
CN106101712A (zh) * | 2016-06-13 | 2016-11-09 | 浙江大华技术股份有限公司 | 一种视频流数据的处理方法及装置 |
CN106231222A (zh) * | 2016-08-23 | 2016-12-14 | 深圳亿维锐创科技股份有限公司 | 基于多码流可交互的示教录像文件格式及存储播放方法 |
CN106791902A (zh) * | 2016-12-23 | 2017-05-31 | 北京多视角文化传播有限公司 | 对移动互联网设备的音视频切换方法及其切换台 |
CN109462761A (zh) * | 2018-10-30 | 2019-03-12 | 视联动力信息技术股份有限公司 | 一种视频解码方法及装置 |
-
2019
- 2019-07-11 CN CN201910625786.9A patent/CN110351582B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026742A (zh) * | 2006-12-27 | 2007-08-29 | 北京大学 | 一种数字家庭网络中同源流媒体的快速切换装置及方法 |
CN101252671A (zh) * | 2008-04-11 | 2008-08-27 | 杭州华三通信技术有限公司 | 在视频会议中调取会场的方法、多点控制单元及主席终端 |
JP2010220162A (ja) * | 2009-03-19 | 2010-09-30 | Hitachi Ltd | 通信路切替装置 |
CN105578153A (zh) * | 2016-03-04 | 2016-05-11 | 福建星网智慧科技股份有限公司 | 一种基于多媒体终端实现监控八路ipc的方法及系统 |
CN106101712A (zh) * | 2016-06-13 | 2016-11-09 | 浙江大华技术股份有限公司 | 一种视频流数据的处理方法及装置 |
CN106231222A (zh) * | 2016-08-23 | 2016-12-14 | 深圳亿维锐创科技股份有限公司 | 基于多码流可交互的示教录像文件格式及存储播放方法 |
CN106791902A (zh) * | 2016-12-23 | 2017-05-31 | 北京多视角文化传播有限公司 | 对移动互联网设备的音视频切换方法及其切换台 |
CN109462761A (zh) * | 2018-10-30 | 2019-03-12 | 视联动力信息技术股份有限公司 | 一种视频解码方法及装置 |
Non-Patent Citations (1)
Title |
---|
李殿坤: "基于视联网的高清视频互动科普平台监控协转服务器设计与研究", 《有线电视技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131747A (zh) * | 2019-12-06 | 2020-05-08 | 视联动力信息技术股份有限公司 | 确定数据通道状态的方法、装置、电子设备及存储介质 |
CN111131747B (zh) * | 2019-12-06 | 2022-08-16 | 视联动力信息技术股份有限公司 | 确定数据通道状态的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110351582B (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965040A (zh) | 一种视联网的业务监控方法和装置 | |
CN107888542A (zh) | 一种视联网终端与指挥设备之间建立通讯的方法和系统 | |
CN109768963A (zh) | 一种基于视联网的会议开启方法及系统 | |
CN109889779A (zh) | 一种报文乱序的处理方法和装置 | |
CN109379254A (zh) | 一种基于视频会议的网络连接的检测方法和系统 | |
CN110225083A (zh) | 基于视联网的数据推送方法和装置 | |
CN110493513A (zh) | 一种摄像头控制方法及一种视联网系统 | |
CN110049346A (zh) | 一种视频直播的方法和系统 | |
CN109068148A (zh) | 一种视频处理的方法和装置 | |
CN110048903A (zh) | 一种协转网关状态监控方法和装置 | |
CN110062194A (zh) | 一种音视频数据的处理方法、装置以及装置和存储介质 | |
CN109729184A (zh) | 一种视联网业务处理的方法和装置 | |
CN109347930A (zh) | 一种任务处理方法和装置 | |
CN110493312A (zh) | 异常终端盒子的处理方法、装置、电子设备及存储介质 | |
CN110430168A (zh) | 一种数据压缩的方法和装置 | |
CN110289974A (zh) | 一种数据流的处理方法、系统及装置和存储介质 | |
CN110336710A (zh) | 一种终端的测试方法、系统及装置和存储介质 | |
CN109889759A (zh) | 一种视联网视频会议的交互方法及系统 | |
CN110351582A (zh) | 一种视频流数据的处理方法、系统及装置和存储介质 | |
CN109067895A (zh) | 一种远程控制的方法和装置 | |
CN108881965B (zh) | 一种服务器进程操作方法和装置 | |
CN110225079A (zh) | 一种设备控制方法、装置及可读存储介质 | |
CN110022455A (zh) | 一种会议控制的系统和方法 | |
CN109617965A (zh) | 一种通信连接建立方法及视联网系统 | |
CN110381029A (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 |