H264视频传输系统设计毕业论文
2020-04-11 17:52:56
摘 要
本系统选取了当今最为主要的视频编码技术H264视频编码标准,采用RTP/RTCP流媒体传输协议在PC机上进行传输。调用VFW模块采集视频,H.264相关技术研究,还有RTP流媒体传输协议学习。本文的钻研内容分成以下几个部分:
1.视频采集模块,通过VFW(Video for Windows)程序调用电脑摄像头进行视频采集。
2.H.264编码模块,对H.264编码标准进行学习调用FFMPEG库通过X264编码器压缩为H.264格式。
3.RTP传输协议模块,把编码后的H.264视频通过分组打包的RTP封装格式,调用jrtplib库生成SDP文件在另一台电脑播放。
最后在以上工作的基础上设计出了一个H.264视频传输系统,该系统选择了Visual Studio 2010作为开发软件,采用纯软件实现了该系统,比较简单和拓展
关键词:H264 RTP/RTCP 视频传输
Abstract
The system selects the H264 video coding standard, the most important video coding technology today, and uses the RTP/RTCP streaming media transmission protocol for transmission on a PC. Call VFW module to collect video, H.264 related technology research, and RTP streaming media transmission protocol learning. The content of this article is divided into the following sections:
1. The video capture module calls the computer camera for video capture via the VFW (Video for Windows) program.
2. H.264 encoding module, learning H.264 encoding standard calls FFMPEG library compressed by the X264 encoder to H.264 format.
3. The RTP transmission protocol module passes the encoded H.264 video through a packetized RTP encapsulation format, and calls the jrtplib library to generate an SDP file to be played on another computer.
Finally, based on the above work, an H.264 video transmission system was designed. Visual Studio 2010 was selected as the development software, and the system was implemented with pure software. The system is relatively simple and expandable.
Key Words:H264 RTP/RTCP video transmission
目录
第1章 绪论 1
1.1课题研究的目的及意义 1
1.2国内外研究现状 2
1.2.1视频编码国内外研究现状 2
1.2.2视频传输国内外研究现状 3
1.3课题研究的主要内容和本文组织结构 3
第二章 理论技术介绍 5
2.1 H.264视频编码技术 5
2.1.1 H.264的分层结构 5
2.1.2 视频编码层VCL 6
2.1.3网络提取层NAL 7
2.2流媒体传输RTP协议 8
2.2.1 RTP协议简介 8
2.2.2 RTP协议层次 8
2.2.3 RTP协议格式 9
2.2.4 RTCP控制协议 10
第三章H.264视频传输系统的总体设计 11
3.1功能模块划分 11
3.2搭建环境 12
3.3视频采集模块 12
3.3.1 capCreateCaptureWindow 创建视频采集窗口 13
3.3.2 回调函数 14
3.3.3 获得当前驱动的版本信息 15
3.3.4配置Capture采集参数 15
3.3.5 预览配置 15
3.3.6拍照功能实现 16
3.3.7关闭设备。 16
3.4 H.264编码模块 17
3.4.1 H.264压缩设计 17
3.5视频传输模块 20
3.5.1流媒体传输框架 20
3.5.2 H.264码流的RTP封装 21
3.5.3jrtplib库RTP发送 22
3.5.4视频播放 24
第四章 系统测试与分析 25
4.1系统搭建 25
4.2视频采集模块 25
4.3视频编码模块 26
4.4视频传输模块 27
4.5视频播放模块 28
4.6本章小结 29
第五章 总结 30
5.1总结 30
5.2工作展望 30
参考文献 31
附录 32
致谢 33
绪论
1.1课题研究的目的及意义
随着计算机,人工智能,大数据的不断发展,传统的网络传输的简单符号,文本,图像等信息已经不能满足人们的需要,更为丰厚充分的信息备受人们的渴求,动态的,连续的,内容加倍准确的多媒体技术呼之欲出。
多媒体技术是将文本,图象,声音等多媒体信息数字化,并经由计算机将这些信息举行收集,存储和传输等综合的处置然后多媒体信息之间成立一种逻辑关系,从而使人机交互技术到达更好的地步。Internet的出现打破了人们之间时间,空间的限制,多媒体发展的必然走向就是多媒体的网络传输。网络接入方式也变得多种多样,为人们的生产和生活增添了更多的服务,如视频监控,视频电话会议,网络直播,以及视频传输体系都获得了充分运用。多媒体网络直播实时传输是现如今很火热的一个研究方向。一个优秀的视频传输体系是多媒体技术的中心要害。
一个优秀的视频传输系统取决于它所采纳的多媒体传输技术和视频编解码标准。而由于视频和音频所包含的数据量十分冗杂,即使采取很好的图象压缩技术,下降了传输所用的带宽,传统的文本信息与它相比较而言,传输多媒体信息所要求的带宽也是原本的几百倍,几千倍。传统的面向连接的TCP传输协议很容易导致网络拥塞,致使信息连续性遭到破坏。所以实时传输协议(RTP)和实时传输控制协议(RTCP)为了解决这些困难在此被提出。RTP协议在多对多传输和单对单传输中仅保证信息和流同步,RTCP则是来保证传输时的数量保持一定和网络是否发生拥塞等功能。
在多媒体中,视频数据的编码是其中的中心部分,视频形式所含的数据量都远远大于其他形式如文本,音乐所含的数据量。所以人们对于又快速,质量又好的视频编码研究一直是多媒体技术应用钻研的一个热门领域。然而现今所公布的几大种编码标准中因为提出年限太久,标准过低,不能满足快速发展的互联网技术对视频传输系统提出更好的要求。这些矛盾主要体现在视频压缩后质量不好或者存储量过大,这些问题都没有得到很好的解决。所以人们顺应发展提出了新一代的数字压缩标准H.264很好的解决了这些问题
H.264标准的基本模式和基本构造都是运用了混合编码的方案方法。它的设计极为简洁,可以说是返璞归真,不需要用很多的方式方法,就能得到比H.262,H.263更好的压缩效率:它压缩后具有很好的低码率是之前标准的1/3,1/4:同时能持续提供高质量的图像,容错能力也很强,具有很强的网络适应能力,适用目标范围比较广。
在技术层面上,H.264具有之前那些编码标准的大部分的所有优点,汲取了之前标准制定中面临的问题及解决的经验和教训。H.26X系列和MPEG系列与H.264比较而言,H.264编码器有一些相同,但是又有很大的不同,不同之处在于它的压缩比率能极大降低,压缩码率是之前的两倍。极高的视频如高清,超清,蓝光等都可以被H.264在最高码率下一直提供。H.264的工作范围很广,不论是在低延时情况下还是没有延时的情况下都能正常运行,如以服务器和视频储存为根本的视频流媒体运用。H.264在传输过程中有可能出现丢包和出现误码等情况,这些H.264都能提供专门的处理工具。以上的这些优势都使H.264具备辽阔的运用范围,已经成为了社会广泛研究应用的视频压缩技术。所以设计一个具有普遍性H264视频传输系统具有十分重要的意义。
1.2国内外研究现状
1.2.1视频编码国内外研究现状
H264是在H.263和MPEG-4的标准上发展而来,采用了他们的优良技术,其编码技术与之前那些标准相比都有很多的创新点。它所具备的极高的压缩效率和对现今网络实时传输良好的支持,已经被社会各界研究与学习,并且运用在很多方面,成为了现如今网络视频传输最广泛的标准。
在国内,我国的第二代信源编码标准是由AVS工作组在03年12月制定的具有中国自主知识产权的AVS标准。AVS借鉴国外先进MPEG-4AVC/H.264框架,具有与其他标准不同的根本区别如4x4亮度预测模式,帧间预测,树状结构运动补偿,二进制算术熵编码,整数变换和DCT等:。AVS视频格式特点是定时高效率,复杂度较低,系统级与MPEG-2相兼容。MPEG-2的编码效率是AVS的二分之一,与H.264相同。
日前国内外已经有了不少的H.264编码算法,但是由于H.264库是开源的,在此基础上开发的很多算法的编码速度及编码质量最后呈现的效果都不尽相同。如果我们要在CPU一般的电脑上进行H.264标准编码,就需要对H.264中比较耗费电脑CPU资源的一些模块进行一些优化处理,最后使得编码所需的资源耗费的程序大大降低,满足普遍要求。
1.2.2视频传输国内外研究现状
多媒体由视频和音频组成,由于他们的数据量多且繁杂,即使采用较好的压缩技术,传输的带宽也是普通文本信息的百倍千倍,,面向传统的TCP传输协议已经不能满足多媒体的实时传输,会造成网络拥堵,传输速度极慢。所以流媒体传输协议应运而生。
实时传输协议RTP(Real-time Transport Protocol)是个实时的网络传输协议,1996年IETF小组为了顺应互联网的发展,社会的需要,在RFC1889文档中定义了这个传输协议,之后不断推陈出新,最后定格在RFC3550文档为最新版,
RTP协议在RGC3550文档中具体说明了在因特网上传输视频音频时需要定义的RTP包的格式,最初的初衷是为了数个对象对数个对象传输所设计的协议,但是之后被应用在大多数单多单的播放中。社会上的流媒体系统,视频电话会议和一键通系统都运用到了RTP/RTCP协议,让它变成了视频直播产业的核心技术。流媒体传输协议和控制协议是配套工作的,而且它们是建立在底层协议上的。RTP协议被广泛使用到流媒体业务上,如通信和文娱,有视频会议,卫星电话,电视和对讲等等。
RTP协议与RTCP控制协议是一套协议,当一个RTP服务器启动时,电脑会有两个端口,偶数端和奇数端口,分别配给RTP和RTCP,由于在传输的时候,按顺序的传输数据RTP包不能由RTP协议来提供具体有效的保证,同时流量控制和堵塞控制也都用RTP来提供,它们只能靠RTCP来具体实施以上工作。在启动一个RTP会话时,一个又一个的RTP包从发送端传送到接收端,而发送了多少数据,丢失了多少数据,传输时的网络情况,这些信息都是由RTCP控制协议来反馈给应用端的,收到这些信息之后应用程序会对这个RTP会话进行控制。
1.3课题研究的主要内容和本文组织结构
针对社会上及相关日常生活中日益增长的传输视频要求,设计了一个H.264实时视频传输系统,该系统的主要部分有以下三个部分
1.视频采集部分运用了VFW调用电脑摄像头采集视频并转为YUV格式。
2.编码器部分,主要研究了H264编码标准内容,由FFMPEG库调用X264库来实现。
3.传输部分,这部分主要是研究了实时流媒体传输RTP协议,由Jrtplib库来实现。
在这三部分的学习基础上实现了H.264视频传输系统设计。
本文的结构如下:
第一章:介绍了课题研究背景及意义,H.264视频编码标准与RTP视频传输协议的国内外研究现状,文章每一章的组织结构。
第二章:详细引见了H.264编码相关技术,剖析了H.264分层结构与码流布局,分析说明了H.264编码复杂度。对RTP视频传输协议进行了了解学习,分开阐述了RTP传输协议和RTCP控制协议以及怎么对H.264码流进行RTP打包。
第三章:进行了H.264视频传输系统的总体设计,设计了该视频传输系统的总体流程,从服务器端和接收端给出了设计方案。根据系统总体框架,把它分成一个个小模块,分别对各个模块进行详细介绍及阐述。
第四章:对设计出的H.264视频传输系统进行模块测试,总体测试,分析验证结果
第五章:对全文工作的总结和未来的展望。
理论技术介绍
2.1 H.264视频编码技术
2.1.1 H.264的分层结构
H.264在结构上分为2种,一层是视频编码层VCL对于输入的不同视频格式如YUV视频,将其分析为数字化数据以便对其压缩码流,另一层是网络提取层NAL,它主要是对VCL压缩之后的H.264码流进行适当的封装,以适当的网络要求进行。在这两层之间H.264语法确定了一个用于不同方式的接口,打包指令是关于NAL的。所以一个编码系统分别由高效率编码的VCL层和具有网络亲和性的NAL层两部分组成。vcl层包括帧内帧间预测,DC变换编码以及量化和熵编码等技术还有一些新特点。与之前的视频编码标准相同,H.264有一些新功能,增加了标准的灵活性。
nal中下层网络中包含组帧,定时信息利用,逻辑信道的指令和序列结束指令等格式,用它们来封装VCL层中的数据。把VCL层中的数据封装成有线网和无线网服务的RTP协议的传输层。一个个NALU单元构成了NAL层,它第一个字节是头部文件信息,之后的是段结构信息和负载数据等。如图2.1所示
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: