实时视频转码发送方法、装置及用户终端与流程

文档序号:14993706发布日期:2018-07-20 23:06阅读:235来源:国知局

本发明涉及通信领域,更具体地说,涉及一种实时视频转码发送方法、装置及用户终端。



背景技术:

随着科技的快速发展,为最大化满足视频用户的需求,视频实时传输技术在不断发展,一方面,摄像头也由从原先的模拟摄像头发展到现在的高清数字摄像头,另一方面,通过对摄像头进行视频数据的实时采集处理,然后上传至云服务器并且通过云服务器下载到一个或多个后台用户端的视频实时传输目前也成为主流。

大量高清数字摄像头的使用导致输出的视频码流急剧增加,传输的带宽成本也起来越大,常用的商业摄像头通常采用帕尔制式(pal制式),即输出的单路视频码流每秒传输25帧画面,通常占用传输带宽约2m,甚至更多。要实现多路摄像头视频码流的远程实时传输,通常通过增加带宽来加快视频的实时传输,这对带宽成本也是非常昂贵的。

此外,对于一些商家或公司的视频监控一般部署在内网环境并在局域网内可以访问但外网却不一定都能访问,尤其当局域网被隔离时则不能直接实现远程实时监控,故现有的视频监控系统的适用场景往往受限于所在局域网与外网的互通情况而只能适用于某一种网络情况,如当局域网可以访问外网时视频监控系统则可以上传到云服务器以实现远程监控而当局域网被隔离时只适用于内网中的视频监控。



技术实现要素:

鉴于上述问题,本发明提供一种实时视频转码发送方法、装置及用户终端。

为解决上述问题,本发明提供一种实时视频流转码发送方法,应用于用户终端和云服务器,包括:

根据预设流封装格式对输入的转码码流封装来获得视频流数据包;

根据用户终端所在局域网与互联网的互通情况选择通过第一网口或第二网口来发送所述视频流数据包,其中,第一网口连接所述局域网,第二网口连接所述互联网;

根据预设传输协议和所述选择的网口将所述视频流数据包发送到云服务器。

进一步,所述“根据用户终端所在局域网与互联网的互通情况选择通过第一网口或第二网口来发送所述视频流数据包”包括:

若互通,选择通过所述第一网口发送所述视频流数据包到云服务器;若不互通,则选择通过所述第二网口发送所述视频流数据包到云服务器。

进一步,所述“根据用户终端所在局域网与互联网的互通情况”包括:

通过查看所述局域网的网关地址并测试所述网关地址能否访问所述互联网来检测所述局域网与所述互联网的互通情况。

进一步,所述预设传输协议为rtmp协议。

此外,本发明还提供一种实时视频转码发送装置,应用于用户终端和云服务器,包括:

封装单元,用于根据预设流封装格式对输入的转码码流封装来获得视频流数据包;

网口管理单元,用于根据用户终端所在局域网与互联网的互通情况选择通过第一网口或第二网口来发送所述视频流数据包,其中,第一网口连接所述局域网,第二网口连接所述互联网;

发送单元,用于根据预设传输协议和所述选择的网口将所述视频流数据包发送到云服务器。

进一步,所述网口管理单元用于检测所述局域网与所述互联网的互通情况,若互通,选择通过所述第一网口发送所述视频流数据包到云服务器;若不互通,则选择通过所述第二网口发送所述视频流数据包到云服务器。

进一步,所述发送单元通过rtmp协议将所述视频流数据包发送到所述云服务器。

进一步,所述实时视频转码发送装置,还包括:

采集模块,用于实时采集模拟和数字摄像头输出的视频图像信号;

转码模块,用于对所述视频图像信号实时转码并得到所述转码码流。

此外,本发明还提供一种用户终端,包括存储器以及处理器,所述存储器用于存储实时视频转码发送程序,所述处理器运行所述实时视频转码发送程序以使所述用户终端执行如上述所述实时视频转码发送方法。

此外,本发明还提供一种计算机存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序运行时控制所述计算机可读存储介质使计算机执行如上述所述的实时视频转码发送方法。

本发明提供的实时视频转码发送方法、装置及用户终端不受限于用户终端所在局域网与互联网是否互通,适用于所在局域网没有被隔离或被隔离的情况下的实时视频远程传输与监控,增加了系统兼容性及实用性。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。

图1为本发明实时视频流转码发送方法的第一实施例的流程示意图;

图2为本发明实时视频流转码发送方法的第二实施例的流程示意图;

图3为本发明实时视频流转码发送装置的结构示意图;

图4为本发明的实时视频流转码发送装置的采集模块的结构示意图;

图5为本发明的实时视频流转码发送装置的转码模块的结构示意图;

图6为本发明的实时视频流转码发送装置的网口管理单元的结构示意图。

主要元件符号说明:

采集模块-100;转码模块-200;封装单元-300;网口管理单元-400;发送单元-500;

模拟采集单元-110;数字采集单元-120;

图像帧获取单元-210;抽帧处理单元-220;编码单元-230;

第一网口-410;第二网口-420;管理单元-430。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在实时视频流转码方法的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

下面结合附图,对本发明的具体实施方式作详细说明。

本发明提供的一种实时视频转码发送方法适用于视频转码发送系统中,将实时视频转码后得到的转码码流进行相应的格式封装处理并发送到云服务器以供后台用户进行远程监控或查看等操作。

实施例1

图1为本发明实时视频流转码发送方法的第一实施例的流程示意图。本发明提供的方法应用于用户终端和云服务器,包括以下步骤:

步骤s100:根据预设流封装格式对输入的转码码流封装来获得视频流数据包。

将输入的转码码流发送到云服务器之前需要对其进行格式封装,所述预设流封装格式采用flv封装格式(flv,flashvideo),按照flv封装格式封装获得flv格式的视频流数据包,其中,所述预设视频流格式封装还可以为rmvb格式、mkv格式(mkv,multimediacontainer)、mpeg2-ts格式等等。

步骤s200:根据用户终端所在局域网与互联网的互通情况选择通过第一网口或第二网口来发送所述视频流数据包,其中,第一网口连接所述局域网,第二网口连接所述互联网。

所述局域网是包括摄像头和视频监控用户终端所在的内网,所述互联网是除所述局域网以外的其他广域网,通常指外网,所述云服务器在所述互联网中。第一网口连接所述局域网,而第二网口连接所述互联网,可预设设置第一网口的优先级高于第二网口。若所述局域网与互联网互通,通过所述第一网口和所述第二网口均可以访问所述互联网,按照预设的优先级,故优先选择通过第一网口发送所述视频流数据包到云服务器,而第二网口则被保留备用从而降低系统的功耗,此时第一网口不仅负责与局域网中的摄像头通信来实时采集摄像头的视频图像信号,还负责将所述视频流数据包发送到云服务器。若所述局域网与互联网不互通,则说明所述局域网被隔离而通过第一网口不能发送数据到外网,故选择通过所述第二网口来发送所述视频流数据包发送到云服务器,而第一网口仍与局域网连接用于采集摄像头的视频图像信号。

其中,所述局域网与互联网的互通情况可通过查看所在局域网的网关地址并测试该网关地址是否能正常访问外网网站,若能正常访问,则说明该局域网与互联网互通,否则说明该局域网与互联网不互通。

步骤s300:根据预设传输协议和所述选择的网口将所述视频流数据包发送到云服务器。

所述预设传输协议为rtmp协议(realtimemessageprotocol,实时信息传输协议),属于应用层协议。rtmp协议传输媒体数据的过程中,首先通过“握手”来建立基于传输层连接之上的rtmp连接,再将媒体数据封装成消息并把消息分割成消息块,最后将分割后的消息块通过tcp协议发送出去。所述传输层协议为tcp协议(transmissioncontrolprotocol,传输控制协议),其中tcp协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。

本实施例中基于rtmp协议和所述选择的网口将所述视频流数据包发送到云服务器,具体包括:先与所述云服务器进行rtmp连接,再将所述视频流数据包封装成消息并把消息分割成消息块,最后将分割后的消息块通过tcp协议发送到云服务器。所述云服务器接收及重新组合成消息,然后通过对消息进行解封装处理就可以恢复出视频流数据。

本发明的提供的实时视频转码发送方法可根据摄像头所在局域网与互联网的互通情况来选择相应的网口发送所述视频流数据包,而不受限于局域网是否被隔离,增加了系统兼容性和实用性。

实施例2

图2为本发明实时视频转码发送方法的第二实施例。基于上述所述第一实施例,本第二实施例还包括以下步骤:

步骤s10:获取输入视频的原始图像数据。

所述输入视频包括模拟摄像头输出的模拟视频图像信号及数字摄像头输出的数字视频图像信号,通过实时采集所述视频图像信号并进行相应的处理从而得到所述原始图像数据。

具体地,通过对所述模拟视频图像信号进行实时采集并经过相应的数字化处理得到数字形式的原始图像数据,其中,所述数字化处理具体可包括:采样、量化、编码及图像的灰度与色彩的数据分离处理等。

对于局域网中的数字摄像头或网络摄像头输出的数字视频图像信号,可采用rtsp协议(realtimestreamingprotocol,实时流传输协议)采集所述数字视频图像信号,具体可包括:获取所述数字摄像头或网络摄像头的ip地址,与该摄像头建立基于传输层协议的连接并获取rtsp视频流,再对所得的rtsp视频流进行协议解析与编码格式解码并得到原始图像数据。

步骤s20:对所述原始图像数据进行相应的转码处理来获得转码码流。

所述相应的转码处理具体包括:通过所述原始图像数据获得原始图像帧;根据预设抽帧规则对所述原始图像帧进行抽取,获得抽取的图像帧;根据预设帧间距从所述抽取的图像帧中选取相应的帧作为关键帧,其他帧则作为普通帧;根据预设压缩编码算法对所述关键帧和普通帧进行压缩编码,得到所述转码码流。

其中,所述预设抽帧规则采用等间隔抽帧,具体地,通过对所述输入视频的输入帧率与目标帧率的比值进行取整得到间隔值,并按照所述间隔值等间隔抽取所述原始图像帧。所述预设抽帧原则可以包括但不限于等间隔抽帧,还可以包括递进式间隔抽帧、随机式抽帧等等。

其中,所述预设帧间距是指预先设定的两个关键帧之间的帧数量。所述关键帧包含一幅完整的画面,不需要依赖其他帧来完成图像重构。抽取的图像帧来自帧间相互独立的原始图像帧,故从抽取的图像帧中选取的关键帧均包含完整的画面,下一个关键帧的位置按所述预设帧间距来确定。本实施例选取抽取的图像帧的首帧作为第一个关键帧,根据预设帧间距从所述抽取的图像帧中选取相应的其他帧作为第二个至第n个关键帧。其中,根据预设压缩编码算法对所述关键帧和普通帧进行压缩编码,得到转码码流,所得的转码码流又称为一个序列,通常由1个i帧和若干个p帧组成或由1个i帧、若干个p帧和b帧组成,并以i帧开始直到下一个i帧到来结束。

所述i帧又称为帧内预测编码帧,是通过对所述关键帧进行帧内空间冗余信息的压缩编码得到的,解码时仅用i帧的数据就可重构完整图像。所述p帧是以i帧为参考通过对所述普通帧进行帧间压缩编码得到的,其中,p帧又称为前向预测编码帧,是根据本帧与相邻的前一帧(i帧或p帧)的不同点来压缩本帧数据,解码时需要参考前一帧(i帧或p帧)的图像信息来重构完整画面。所述b帧又称为双向预测编码帧,是根据相邻的前一帧(i帧或p帧)、本帧以及后一帧(p帧)的不同点来压缩本帧数据,解码时需要参考前一帧(i帧或p帧)和后一帧(p帧)的图像信息来重构完整画面。

本实施例中采用h.264压缩编码算法对所述关键帧进行帧内压缩编码,得到i帧;并以i帧作为参考对所述普通帧进行帧间压缩编码得到p帧,所述i帧和p帧组成所述转码码流。本实施例中的所述普通帧除了可以编码成p帧,还可以编码成b帧,从而得到由i帧、p帧和b帧共同组成所述转码码流。所述压缩编码算法不限于h.264算法,还可以为mpeg-4算法、h.265算法或由上述所列算法结合的混合算法等。之后,再执行步骤s100、步骤s200和步骤s300将所述转码码流发送到云服务器中。

本发明通过采集视频图像信号并获取对应的原始图像数据,之后对所述原始图像数据进行抽帧转码处理,再将抽帧转码后的转码码流发送到云服务器,不仅增加了系统兼容性和实用性,同时降低了传输帧率且减少视频传输带宽成本。

实施例3

图3为本发明实时视频流转码发送装置的结构示意图。该实时视频流转码发送装置包括:封装单元300、网口管理单元400、发送单元500。其中,本实施例提供的实时视频流转码发送装置还包括:采集模块100和转码模块200。

采集模块100用于实时采集本地摄像头的视频图像信号,参照图4,采集模块100具体包括:模拟采集单元110和数字采集单元120。通过同轴电缆与模拟摄像头建立物理连接后,所述模拟采集单元110直接对模拟视频图像信号进行视频实时采集并经过相应的数字化处理得到数字形式的原始图像数据;所述数字采集单元120则通过rtsp协议采集所述局域网中的数字摄像头或网络摄像头的数字视频图像信号。所述采集模块100还可以通过多路模拟或数字采集通道分别采集相应的多路的视频图像信号并处理。

其中,所述采集模块100还可以仅包括模拟采集单元110或数字采集单元120,从而对相应的摄像头进行单路或多路视频采集。

转码模块200用于对采集模块100得到的原始图像数据进行相应的转码处理,参照图5,转码模块200包括:图像帧获取单元210、抽帧处理单元220及编码单元230。本实施例的视频转码过程为:图像帧获取单元210从采集模块100中读取所述原始图像数据以获取各帧原始图像帧并送入抽帧处理单元220进行抽帧处理。所述抽帧处理单元220根据等间隔抽帧规则对所述原始图像帧进行抽取,获得抽取的图像帧,其中,所述等间隔抽帧规则为通过对所述视频的输入帧率与目标帧率的比值进行取整得到间隔值,按照所述间隔值等间隔抽取所述原始图像帧。编码单元230根据预设的压缩编码算法对抽取的图像帧进行压缩编码以获取转码码流。本实施例中采用h.264压缩编码算法对所述抽取的图像帧进行压缩编码并最终得到h.264转码码流。

其中,所述转码模块200还可以采用其他转码方法,例如,将采集到的视频数据先根据预设的抽帧规则进行抽帧,再对抽取的帧数据进行完全解码并重新编码等以实现视频的降帧转码目的。所述预设抽帧规则可以不限于等间隔抽帧,还可以为随机帧或递进式抽帧等方式。所述预设的压缩编码算法可以不限于h.264算法,还可以为mpeg-4算法、h.265算法等。

封装单元300用于根据预设流封装格式将输入转码码流封装来获得视频流数据包。本实施例中采用flv封装格式将所述转码码流封装成flv视频流数据包。

网口管理单元400用于根据摄像头所在局域网与互联网的互通情况选择通过第一网口或第二网口来发送所述视频流数据包,其中,第一网口连接所述局域网,第二网口连接所述互联网。

参照图6,所述网口管理单元400包含第一网口410、第二网口420及管理单元430,所述第一网口410用于与所述局域网连接,所述第二网口420用于与所述互联网连接,管理单元430用于检测所述局域网与互联网的互通情况并根据检测结果选择第一网口或第二网口来发送所述视频流数据包。

发送单元500用于根据预设传输协议和所述选择的网口将所述视频流数据包发送到云服务器。本实施例中采用rtmp协议来发送所述视频流数据包到所述云服务器。

本发明的提供的实时视频转码发送装置可根据用户终端所在局域网与互联网的互通情况来选择相应的网口发送所述视频流数据包而不受限于局域网是否被隔离,增加了系统兼容性和实用性。

本发明还提供一种用户终端,包括存储器以及处理器,所述存储器用于存储实时视频转码发送程序,所述处理器运行所述实时视频转码发送程序以使所述用户终端执行如上述所述实时视频转码发送方法。

本发明还提供一种计算机存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序运行时控制所述计算机可读存储介质使计算机执行如上述所述的实时视频转码发送方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1