一种基于H.264网络视频传输系统技术方案

技术编号:22977723 阅读:21 留言:0更新日期:2020-01-01 00:32
本发明专利技术公开了一种基于H.264网络视频传输系统,属于视频传输领域,包括服务器端和客户端,所述服务器端与客户端连接。服务器端包括封装模组读取分离模块、协议设置模块、协议数据包封装模块和协议发送模块。客户端包括协议接收模块、协议解析模块、模组合并模块和播放模块。本发明专利技术通过在服务器端进行对NALU数据和RTP数据进行封装和打包,在传导客户端时,可以快速的进行拆包和解包,从而使得视频传输的速度更快,效率更高,更好的满足高清晰视频传输,同时经测试,客户端在经过2秒的缓冲过后即能流畅播放,传输速度设为30帧每秒的情况下,未出现丢包拖影等现象,视频主观质量良好。

A video transmission system based on H.264 network

【技术实现步骤摘要】
一种基于H.264网络视频传输系统
本专利技术涉及视频传输领域,尤其涉及一种基于H.264网络视频传输系统。
技术介绍
网络视频监控目前正处于蓬勃发展的阶段,在发展过程中呈现出一些问题:网络带宽不足,视频不够清晰,存储容量巨大。这些问题都是网络视频监控发展待于解决的问题,但分析后可发现,其实只是视频编码压缩的问题,一个优越的视频压缩标准。优越的视频压缩标准压出来的视频的压缩比会变大,视频容量会变小,自然网络带宽需求就会降低,同时需要的存储容量也会跟着变小;优越的视频压缩标准压出来的视频更清晰。从另一个角度去分析,如果不是提高视频压缩效率,那么提高网络带宽需要投入大量的设备、人力、资金等,成本太高,所以提高视频压缩效率是一个不错的选择。目前视频压缩标准中,H.264标准凭借其优越的性能,被认为是下一代视频压缩标准。H.264标准是由ISO/IEC的MPEG(运动图像专家组)和ITU的VCEG(视频编码专家组)这两大视频压缩标准专家组联合成立的JVT(联合视频组)大力发展和研究推出的适用于低码率传输的新一代视频压缩标准[2]。H.264采用回归基本的简洁设计,具有很高的压缩效率,同H.263和MPEG-4相比,在同样的重建视频质量前提下,H.264最高可节省50%的码率,从而大大降低了存储容量;同时H.264采用VCL和NAL的分层设计,使H.264具有良好的网络亲和性,非常有利于网络传输。现有的视频传输系统传输速度比较慢,效率较低,不能满足高速视频传输的要求。
技术实现思路
本专利技术要解决的技术问题是提供一种基于H.264网络视频传输系统,解决现有视频传输系统传输效率低,不能满足高清晰视频传输的技术问题。一种基于H.264网络视频传输系统,包括服务器端和客户端,所述服务器端与客户端连接;所述服务器端包括封装模组读取分离模块、协议设置模块、协议数据包封装模块和协议发送模块,所述封装模组读取分离模块与协议设置模块连接,所述协议设置模块与协议数据包封装模连接,所述协议数据包封装模块与协议发送模块连接,服务器端用于读取H.264视频,从码流中分离出每个封装模组单元,分析封装模组的类型,设置相应的协议包头,封装协议数据包并发送;客户端包括协议接收模块、协议解析模块、模组合并模块和播放模块,所述协议接收模块的输入端与协议发送模块连接,所述协议接收模块的输出端与协议解析模块连接,所述协议解析模块与模组合并模块连接,所述模组合并模块与播放模块连接,客户端用于接收协议数据包,从协议包中解析出封装模组单元,然后送并进行解码播放。进一步地,所述服务器端的算法过程为:(1)搜索NALU的起始码ox00001;(2)保存NALU到Buf中;(3)然后判断搜索是否终止,如果没有终止继续(2),如果终止,计算NALU的长度,保存在Len中,Len为长度参量,如果Len的长度小于1400时,使用单一打包,设置RTP的包头,如果Len的长度不小于1400时,进入(5);(4)对RTP数据包进行封装,封装好后进行发送;(5)使用FU进行拆包,设置RTP的包头;(6)设置分片NALU头,包括FU指示器和FU头;(7)对RTP数据进行打包封装并发送,然后判断所发送的RTP包是否为NALU的最后一个分片RTP包,如果是返回(1),如果不是返回(5)。进一步地,所述协议解析模块的具体过程为:先进行拆包,当编码器在编码时需要将原有一个NAL按照FU-A进行分片,原始的NAL头的前三位为FU指示器的前三位,原始的NAL头的后五位为FU头的后五位,FU指示器与FU头的剩余位数根据实际情况决定;然后进行解包,接收端收到FU-A的分片数据,需要将所有的分片包组合还原成原始的NAl包时,还原后的NAL头的八位是由FUindicator(FU指示器)的前三位加FUheader(FU头)的后五位组成,即:nal_unit_type=(fu_indicator&0xe0)|(fu_header&0x1f),nal_unit_type为解析得到RTP协议类型。进一步地,所述封装模组读取分离模块包括读取子模块和分离子模块,所述读取子模块与分离子模块连接,所述读取子模块用于读取NALU数据,然后由分离子模块对NALU数据进行分离。进一步地,所述协议发送模块与协议接收模块通过RTCP协议进行控制,用于实时监控数据传输质量,为系统提供拥塞控制和流控制。本专利技术采用了上述技术方案,本专利技术具有以下技术效果:本专利技术通过在服务器端进行对NALU数据和RTP数据进行封装和打包,在传导客户端时,可以快速的进行拆包和解包,从而使得视频传输的速度更快,效率更高,更好的满足高清晰视频传输,同时经测试,客户端在经过2秒的缓冲过后即能流畅播放,传输速度设为30帧每秒的情况下,未出现丢包拖影等现象,视频主观质量良好。附图说明图1是本专利技术系统框图。图2是本专利技术服务器端工作流程图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本专利技术进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本专利技术的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本专利技术的这些方面。:根据上述的原理说明和参阅图1-2对本专利技术实施例进一步说明:本专利技术提供一种基于H.264网络视频传输系统,包括服务器端和客户端,所述服务器端与客户端连接;所述服务器端包括封装模组读取分离模块、协议设置模块、协议数据包封装模块和协议发送模块,所述封装模组读取分离模块与协议设置模块连接,所述协议设置模块与协议数据包封装模连接,所述协议数据包封装模块与协议发送模块连接,服务器端用于读取H.264视频,从码流中分离出每个封装模组单元,分析封装模组的类型,设置相应的协议包头,封装协议数据包并发送;客户端包括协议接收模块、协议解析模块、模组合并模块和播放模块,所述协议接收模块的输入端与协议发送模块连接,所述协议接收模块的输出端与协议解析模块连接,所述协议解析模块与模组合并模块连接,所述模组合并模块与播放模块连接,客户端用于接收协议数据包,从协议包中解析出封装模组单元,然后送并进行解码播放。所述服务器端的算法过程为,如图2所示:(1)搜索NALU的起始码ox00001;(2)保存NALU到Buf中;(3)然后判断搜索是否终止,如果没有终止继续(2),如果终止,计算NALU的长度,保存在Len中,Len为长度参量,如果Len的长度小于1400时,使用单一打包,设置RTP的包头,如果Len的长度不小于1400时,进入(5);(4)对RTP数据包进行封装,封装好后进行发送;(5)使用FU进行拆包,设置RTP的包头;(6)设置分片NALU头,包括FU指示器和FU头;(7)对RTP数据进行打包封装并发送,然后判断本文档来自技高网...

【技术保护点】
1.一种基于H.264网络视频传输系统,其特征在于,包括服务器端和客户端,所述服务器端与客户端连接;/n所述服务器端包括封装模组读取分离模块、协议设置模块、协议数据包封装模块和协议发送模块,所述封装模组读取分离模块与协议设置模块连接,所述协议设置模块与协议数据包封装模连接,所述协议数据包封装模块与协议发送模块连接,服务器端用于读取H.264视频,从码流中分离出每个封装模组单元,分析封装模组的类型,设置相应的协议包头,封装协议数据包并发送;/n客户端包括协议接收模块、协议解析模块、模组合并模块和播放模块,所述协议接收模块的输入端与协议发送模块连接,所述协议接收模块的输出端与协议解析模块连接,所述协议解析模块与模组合并模块连接,所述模组合并模块与播放模块连接,客户端用于接收协议数据包,从协议包中解析出封装模组单元,然后送并进行解码播放。/n

【技术特征摘要】
1.一种基于H.264网络视频传输系统,其特征在于,包括服务器端和客户端,所述服务器端与客户端连接;
所述服务器端包括封装模组读取分离模块、协议设置模块、协议数据包封装模块和协议发送模块,所述封装模组读取分离模块与协议设置模块连接,所述协议设置模块与协议数据包封装模连接,所述协议数据包封装模块与协议发送模块连接,服务器端用于读取H.264视频,从码流中分离出每个封装模组单元,分析封装模组的类型,设置相应的协议包头,封装协议数据包并发送;
客户端包括协议接收模块、协议解析模块、模组合并模块和播放模块,所述协议接收模块的输入端与协议发送模块连接,所述协议接收模块的输出端与协议解析模块连接,所述协议解析模块与模组合并模块连接,所述模组合并模块与播放模块连接,客户端用于接收协议数据包,从协议包中解析出封装模组单元,然后送并进行解码播放。


2.根据权利要求1所述的一种基于H.264网络视频传输系统,其特征在于:所述服务器端的算法过程为:
(1)搜索NALU的起始码ox00001;
(2)保存NALU到Buf中;
(3)然后判断搜索是否终止,如果没有终止继续(2),如果终止,计算NALU的长度,保存在Len中,Len为长度参量,如果Len的长度小于1400时,使用单一打包,设置RTP的包头,如果Len的长度不小于1400时,进入(5);
(4)对RTP数据包进行封装,封装好后进行发送;
(5)使用FU进行拆包,设置RTP的包头;
(6)设置分片NALU头,包括FU...

【专利技术属性】
技术研发人员:黄欣姜毅丘刚玮杨文春
申请(专利权)人:广西农业职业技术学院
类型:发明
国别省市:广西;45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1