热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

DM368开发—视频监控系统相关技术研究(转毕设)[通俗易懂]

DM368开发--视频监控系统相关技术研究(转毕设)[通俗易懂]基于DM368的高清视频监控系

基于 DM368 的高清视频监控系统设计与实现 — 文波

一、达芬奇技术概述

达芬奇技术(DavinciTM)是 TI 公司为满足现代数字多媒体应用的各种需求而提出的一种基于 DSP 的系统解决方案,为多媒体设备的设计提供了高度集成的处理器、软件与开发工具,尤其在数字视频处理领域有着得天独厚的技术优势。达芬奇技术主要由以下四方面组成,如下图 2.1 所示。

DM368开发 -- 视频监控系统相关技术研究(转毕设)[通俗易懂]

1. 硬件芯片

达芬奇技术充分利用 TI 公司在数字信号处理与集成电路专业技术领域多年来的技术积累,创造性的将负责系统运行的 ARM 处理器和负责音视频编解码 DSP 处理器完美的结合在一起,同时结合视频协处理器实现了片上系统级芯片。而芯片内部众多丰富的外围设备接口,为音视频的高效处理提供了保证。
目前,达芬奇技术的硬件处理器平台主要有两种架构:

(1)ARM+视频协处理器

采用这种架构的处理器芯片有 DM355、 DM365、 DM368, DM355 内部采用了 ARM9和 MJCP 协处理器,只能进行 MPEG-4、MJPEG 标准的编解码。而后两种是 DM355 的升级版,增加了 HDVICP 协处理器,额外增加了 H.264 标准的编解码功能。DM368 的ARM9 主频相对于 DM365 又有一个提升, 达到 432MHz,最高支持1080p@30fps 的 H.264视频数据输出。

(2)ARM+DSP 视频处理器+视频协处理器

这种构架的芯片较上面的构架多了 DSP 视频处理器,对用户来说在视频编解码标准方面有了更多的选择性和灵活性,视频处理能力显著提升,采用这种构架的处理器芯片主要有 DM81XX 和 DM64XX 系列。DM81XX 系列是 TI 公司目前推出的最先进的处理器, 最高可实现1080p@60fps的 H.264视频数据输出, 其内部采用 ARM Cortex-A8+C674xVLIW DSP+多个视频图像协处理器组合,其 ARM 处理器和 DSP 处理器的最高主频分别可以达到 1200MHz 和 1000MHz,同时其内部配备了 1 个 3D 图像加速器和 3 个HDVICP 协处理器,完全可以满足现代多媒体数字视频应用的需求。

2.软件

达芬奇技术同时为用户提供了较为全面的软件支持,从嵌入式操作系统,底层硬件驱动程序以及应用程序 API 接口。产品开发过程中无需了解音视频编解码器和 DSP 端算法的具体细节,开发者可直接调用 TI 提供的音视频编码器的应用接口函数,即可完成复杂的音视频编码任务,大大缩短了产品的开发周期,提高开发效率。

3.开发工具套件

达芬奇技术的开发工具套件有对处理器进行评估测试的数字视频评估模块DVEVM(Digital Video Evaluation Modulc) 和 数 字 视 频 开 发 平 台 DVDP(Digital VideoDevelopment Plateform)。DVEVM 非常全面,具备 Monta Vista Linux Pro4.0 演示版、驱动程序、编解码引擎、评估编解码器以及评估电路板,具体产品有 DM6446、DM6447、DM365 等。DVDP 为开发人员提供了产品在整个设计周期中可资利用的综合平台,包括生产就绪型 DSP/BIOS 内核、驱动程序、 编解码引擎、评估编解码器、 Code Composer Studio IDE和评估电路板,具体产品有 DM6437、DM648 等。

4.开发技术支持

与 TI 合作的第三方成员为达芬奇技术提供大部分的系统集成服务和软硬件平台, 如国外的 SDI、NUVATION 和国内的 SEED、Wintech 等。产品开发者不仅能在官网找到达芬奇技术开发相关的技术文档和视频资料,同时能在技术论坛上和全球工程师学习和分享开发经验,这些都加速了达芬奇技术的传播以及相关产品的研制开发。

二、嵌入式系统

嵌入式系统是为满足用户特殊需求而专门设计的专用计算机系统。早期的单片机就是现代嵌入式系统的雏形,它仅仅能够执行一些单线程的程序,功能比较简单。但是随着信息化和智能化的发展,嵌入式系统不论在硬件处理器还是在软件操作系统方面都已取得较快发展,获得了广阔的应用空间,现已广泛渗透于工业控制、家庭智能管理、通信消费、物联网等高新技术领域[7]。与通用计算机相比,嵌入式系统最大的特点是可对软硬件进行合理裁剪,满足特定功能需求,具有很强的专用性。

嵌入式系统有以下 5 大显著特征:
(1)系统内核小。嵌入式系统中受处理器上硬件资源资源影响,内核较传统的操作系统要小的多。
(2)专用性强。嵌入式系统主要应用于特定环境下的特殊任务,软件会针对硬件资源进行适度的裁剪,以减少硬件资源的消耗。
(3)实时数据处理。 嵌入式系统中软件代码必须具备高质量和高可靠性并进行固态存储,以提高系统运行速度,满足数据实时处理要求。
(4)嵌入式系统开发需要开发工具和环境的支持。一般 PC 机作为主机进行程序开发,目标板作为最后的执行机。交叉编译工具会将 PC 机上编译成能在目标板上执行的目标代码,使用下载工具将目标代码下载到目标板。
(5)较长的生命周期。 嵌入式系统会根据具体的应用需求对产品进行同步升级,嵌入式系统产品一旦进入市场就具有较长的生命周期。嵌入式系统主要由硬件层、中间层、软件层和用户应用软件四大部分组成[8]。硬件层是由嵌入式微处理器、外部存储器(ROM、SDRAM、FLASH) 、通用设备接口和 IO接口等组成。中间层使底层硬件与上层软件分离开,主要是完成对底层硬件初始化、数据的输入输出操作以及对外设的配置。软件层是由操作系统、文件系统、用户接口以及通用组建模块组成, 主要实现对底层硬件的管理和多进程任务的调度, 使系统高效运行。用户应用软件在完成接口的调用和数据处理的同时,还实现对各流程的协调控制。

三、嵌入式操作系统

嵌入式操作系统为嵌入式系统的发展提供了有力支撑,主要包括系统内核、底层硬件驱动、设备驱动接口、图形界面等,负责系统的软硬件资源分配、内存管理、多任务管理、任务间通信和同步、控制和协调并发活动等[9]。目前应用较为广泛的嵌入式操作系统有嵌入式 Linux、WinCE、Vxworks 以及在智能手机上使用的 Android 和 IOS。

1.嵌入式 Linux 操作系统

嵌入式 Linux 操作系统自 1991 年发布以来,经过 20 多年的迅速发展,其功能已日趋完善。作为目前最受欢迎的开源操作系统,Linux 操作系统具有以下优点:无需付费,直接在网络上免费下载源代码;核心代码对外公开,用户可以根据自己需求对代码进行修改和定制,开发出满足自己需求的产品;完全兼容 POSIX1.0 标准,DOS 和 Windows
程序可在相应的模拟器下运行;支持多用户、多线程,保证多个程序可以同时并独立运行;支持多种处理器,由于 Linux 内核代码采用移植性比较好的 C 语言编写,所以其可以很轻松的移植到不同的微处理器上[10]。目前,人们常用的嵌入式 Linux 操作系统有MontaVista Linux、ET-Linux、Hard Hat Linux、μCLinux 等。本系统选用的是 Monta VistaPro v5.0 ,内核版本为 Linux2.6.18,能够在 DVEVM 上成功运行。

2 .WinCE 操作系统

Windows CE 是微软公司于 1996 年发布的基于 Windows 95 的操作系统,其本质就是精简版的 Windows 95。由于其图形用户界面相当出色,所以在便携式掌上电脑类电子产品中大放异彩。WinCE 具有开发工具强大、调试工具健全,这是其他嵌入式操作系统无法比拟的[11]。但是 WinCE 需要支付版权费且不像 Linux 那样支持数量众多的处理器和外围设备,同时 WinCE 对资源的要求相对较高,源代码不像 Linux 那样可进行裁剪和自由修改,这使得 WinCE 在使用上具有一定局限性。Linux 支持几乎所有常见的网络协议,在网络设备中备受青睐,但是 WinCE 在这方面还比较欠缺。

3 .Vxworks 操作系统

Vxworks 是最早提出的一款嵌入式实时操作系统,于上个世纪八十年代由美国风和公司提出[12]。Vxwork 最大的特点是系统结构较小,仅提供了多任务环境、进程间通信和同步功能,使得 Vxwork 能在较高的层次上提供较高的性能。Vxwork 出色的可靠性和优秀的实时性使得其在卫星通信、军事和航空航天领域中取得较好的发展和应用。美国的 F-16、FA-18 战斗机,B-2 隐形轰炸机以及火星探测器均使用了 Vxwork 系统。2008年登陆的凤凰号和 2012 年登陆的好奇号也均使用了 Vxwork 系统。但是 Vxwork 系统商业价格较为昂贵,一般只在军事领域使用,在普通的多媒体消费方面很少使用。

4 .Android 和 IOS 操作系统

Android 系统是基于 Linux 内核的开放源代码操作系统,于 2007 年由 Google 联合其他的软硬件制造商和电信运营商共同发布。为了适应移动终端特性,Android 在 Linux基础上添加了一些驱动和文件系统,并对部分 bug 进行修改和完善。IOS 系统是苹果公司自行开发的支持移动终端设备的操作系统,仅支持自己公司内部的产品。Android 和IOS 主要应用于移动终端设备,共同的缺点是它们对资源要求较高。从以上各个嵌入式操作系统分析来看,Linux 操作系统既不用支付昂贵的授权费,对系统的资源要求也不高。综合考虑,本系统使用 Linux 操作系统,而且 DM368 能够很好地支持 Linux 操作系统。TI 官方提供的开发环境中集成了大量的开发套件,驱动开发中只需修改部分文件,同时 TI 还封装了 Linux 的 API 接口,应用程序开发比较方便。

四、视频压缩编解码技术

目前,高清视频已越来越多的渗透到人们日常生活中。从可视电话到视频会议,从视频监控到网络视频浏览,高清化的数字视频为人们的生产和生活提供了极大便利。高清化的数字视频给人们视觉带来极致体验的同时,它的数据量是也呈几何倍数增长,不仅给视频的存储空间带来挑战,同时对于视频的网络传输能力提出更高要求。面对海量的视频数据,单纯的依靠扩大存储容量和增加通信信道带宽是不现实的,所以对高清视频的压缩编码已成为解决这个问题的唯一途径。

1. 视频压缩编码的基本原理

视频数据之间存在极强的相关性,这就导致数据的冗余度较高。视频数据冗余是指在使用不同方法表示同样的信息时,会使用不同的数据量,那么使用数据量较多的那种方法中的有些数据就代表了无用信息,这些无用信息即是数据冗余[13]。视频压缩编码的目地就是在尽量不影响人眼视觉效果的前提下,尽可能多的减少视频中数据的冗余。视频压缩编码的本质就是根据图像内部的相关性和统计特性来消除和减少信号间的冗余度以实现对视频数据的压缩。在视频信息中,一般存在以下几种形式的冗余:

(1)时间冗余

当一组静态的图像以一定的速度(大于 24 帧/秒)进行播放时,就形成了视频。但是人眼在观察快速运动的物体时, 即使物体已消失其影像依然能够在人眼中保留 0.1~0.4秒左右,人眼的这种视觉暂留现象,使得相邻两帧图像之间具有很强的相关性,这就形成了时间冗余。

(2) 空间冗余

对景物表面的颜色进行离散像素采样时,通常忽视了各采样点颜色之间存在的空间连贯性,这是空间冗余产生的主要方面[14]。同时规则物体和背景表面的物理特性均具有一定的相关性,这就表明某些区域中所有点的信息都是相同的,这也是空间冗余产生的一个方面。

(3)编码冗余

由信息论可知,不同大小的比特数可以表示图像数据中一个像素的信息熵。在对图像进行数字化过程中,用同样大小的比特数来表示每个像素,这会造成比特数的浪费,数字化的数据中就必然会有冗余产生。

(4)结构冗余

结构冗余表现为数字化图像中物体表面纹理结构非常相似,或者图像的各部分之间有着很强的某种关系。当一幅图中有很强的结构特性,纹理和影像色调与物体表面有一定规则时,结构冗余就很大。

(5)知识冗余

由图像记录方式和人对图像的知识差异所产生的冗余称为知识冗余。 根据先验知识,
构造编码对象的基本模型,并创建对应各种特征的图像库,然后通过提取对象库里面的
模型参数,仅对模型参数进行编码,获取较高压缩比。

(6)视觉冗余

受人类视觉系统的生理与心理影响,人眼并不能感知图像的所有变化。但是在记录原始图像数据时会对人类视觉的敏感部分和不敏感部分信息都进行存储,却忽略了人类视觉系统对图像的敏感性其实是非均匀和非线性的[15],对于人眼来说这样存储的图像信息中有大量的重复数据,造成视觉冗余。视频压缩就是对以上所提到的冗余信息进行去除,在尽量不影响人类对图像良好感受的情况下用较少的数据量去表征图像本质。从信息论的角度来看,压缩就是去除已确定和根据经验可推知的信息,只保留不确定信息,用一种更接近信息本质的描述来代替原有的冗余描述[16]。

2. 视频压缩编码的基本方法

有损压缩和无损压缩是视频处理中的一个重要指标。无损压缩是指压缩后的图像数据没有任何损失,重建后可对数据进行完全还原,没有任何信息丢失。无损压缩中常用的无损压缩技术有 Huffman 编码技术、行程编码技术、算术压缩方法和字典压缩方法。但无损压缩的压缩比较小,一般应用在对图像重构质量要求较为严格的场合。有损压缩是指将人眼无法察觉的信息进行去除,但是这部分信息在压缩后无法恢复。变换编码、预测编码以及量化编码是有损压缩编码中最常用的方法[17]。为了减少图像和视频所占空间,一般都采用压缩比比较高的有损压缩,但这样就导致数据损失较多,还原后的图像视觉效果也较差。
在视频压缩中还有一个重要的概念是帧内压缩和帧间压缩。帧内压缩是针对单帧静态图像来计算冗余信息,而与前后帧信息无关,压缩后的数据可进行单独编辑和处理。由于只参考了单帧数据的信息,帧内压缩的压缩比相对帧间压就要小得多。当数量众多的单幅图像以一定的速度连续播放时就形成了视频,帧间压缩正是借助视频这一特性而提出的。帧间压缩方法在参考了本帧信息的基础上,又扩展了相邻帧之间的信息。利用这些信息来计算相关性可大幅度的去除冗余信息。帧间压缩通常采用残差法,即以本帧数据为基准和相邻帧数据做减法运算,计算出相邻帧数据和本帧数据之间的差异,仅对这个差值做压缩,这样需要处理的数据量就会显著降低。所以当本帧图像与相邻帧图像之间的变化差别不大时(视频画面内容无较大差异),去除的冗余量是相当可观的,压缩比较帧内压缩有明显提升。但是采用帧间压缩后的图像数据信息有一定的损失,压缩比越大损失的信息就越多,同时单帧图像与前后帧相关,故帧间压缩后的数据无法进行单帧处理和编辑。
在实际应用过程中,没有哪一种压缩算法能够完全适应任何图像,都是不同算法间配合使用进而使压缩效果达到最优。目前国际上比较流行的数字视频压缩标准一般都采用基于 DCT 变换的有损压缩方式[18],压缩流程基本一致,只是在某些步骤中采取了不同的压缩技术达到不同的压缩效果。基于 DCT 变换的编码流程如下图 2.2 所示。

DM368开发 -- 视频监控系统相关技术研究(转毕设)[通俗易懂]

3. 视频压缩编解码标准

为了满足数字视频在各个领域的广泛使用,使现有的视频编码标准能够在不同的设备和环境下使用,两大国际组织分别制定和发展了视频编码标准,它们分别是国际电信联合会 ITU-T 旗下的视频编码专家组 VCEG(Video Coding Experts Group)和国际标准化组织 ISO 与国际电工委员会 IEC 旗下的运动图像专家组 MPEG (Motion Picture Expert Group),这两家组织为音视频编解码算法的标准化做出了巨大贡献,共同推动了音视频
编码技术的发展和步[19]。ITU-T 组织制定的视频编码标准归结为 H.26x(如 H.261,
H.262,H.263 和 H.264)系列,ISO/IEC 组织制定的标准归结为 MPEG-X(如 MPEG-1,
MPEG-2,和 MPEG-4)系列。两大国际组织制定各自标准的进程如下图

2.3 所示。

DM368开发 -- 视频监控系统相关技术研究(转毕设)[通俗易懂]

(1)ISO/IEC 颁布的标准

MPEG-1 是 MPEG 组织于 1990 年制定的第一个音视频有损压缩标准,在 1992 年正式被批准为国际标准。MPEG-1 主要采用运动补偿、离散余弦变换和量化等技术,在 CD光碟介质的音视频压缩中取得成功。随后 VCD 将此作为自己的核心技术,其分辨率为352×240,比特率为 1.15Mbps。但是在播放高速运动内容的视频时,由于宏区块无法全
面调整导致视频画面出现方块模糊。MPEG-2 是 MPEG 组织于 1994 年专为标准数字电视和高清电视而提出压缩标准[20]。与 MPEG-1 相比,MPEG-2 标准在传输和系统方面做了更详细的规定和进一步完善,压缩图像质量得到明显提高并且支持更多的图像格式。压缩比也范围较广,传输码率为3Mbps~100Mbps 以适应不同画面质量及带宽要求。MPEG-2 是将编码图像分为 I 帧、P帧和 B 帧[21]。I 帧图像主要是利用单帧图像的空间相关性采用帧内编码方式对图像进行压缩,其压缩比较低。P 帧和 B 帧则是同时利用空间和时间相关性采用帧间编码方式对图像进行压缩,所不同的是 P 帧采用的是前向时间预测,而 B 帧图像采用的是双向时间预测,压缩倍数较 P 帧更高。 MPEG-2 支持从低级到高级的图像格式编码, 352×288@30帧、1920×1080@30 帧。由于 MPEG-2 优秀的压缩性能,使得其发布 20 多年来仍久受到用户的青睐,依然活跃在广播电视系统领域。

MPEG-4 是 MPEG 组织于 1992 年发布的基于视频对象的编码标准,加入了一些新技术如对象提取技术、VOP 技术、可分级性技术以及运动估计与补偿技术[22],被称为第二代视频编码标准。与第一代视频编码标准(MPEG-1、MPEG-2)相比,MPEG-4 没有沿用的基于像素的视频编码方法,而是采用基于视频对象的编码方法。第一代的视频编码技术是对单帧图像划分为多个宏块进行处理,容易导致块边界明显出现马赛克效应。而 MPEG-4 在视频编码过程中充分利用人的视觉特性,先将原始视频数据分割为在时空上存在某种联系的视频对象,然后针对视频中的不同对象进行独立编码再进行融合,以达到一个较高的编码效率。MPEG-4 标准编码框框架是开放式的,没有对压缩的细节和实现方法做出过多描述,只是规定了压缩后应满足的要求,这样用户就可以按照自己的需求开发出相应的产品。在保证产品多样化的前提下又兼顾了产品标准的统一性,为多媒体数据压缩提供了更广阔的平台,建立了一种更加自由的通信和开发环境。MPEG-4 具有压缩比高、图像质量好、传输码率范围广和人机交互好等优点,已广泛应用于多媒体通信领域。

(2)ITU-T 颁布的标准

H.261 是 ITU-T 于 1990 年正式发布的国际标准,它专注于网上数字综合业务领域,适用于对比特率要求不高的场合,在视频电话和电视视频会议中应用广泛。H.261 采用带有运动补偿的帧间预测,对残差进行 DCT 变换,霍夫曼编码器对生成的变换系数实现熵编码。 H.261标准输出的码率最小为 64Kbit/s,最大为 1.875Mbit/s。也称为 P×64Kbit/s视听业务的视频编解码器,P 的取值范围为 1~30 的整数。P 的取值以 6 为分界点,当小于 6 时,视频传输速率较低,图像的清晰度也不高,应用在低端的可视电话业务中;当大于 6 时,传输的视频图像清晰度较高,在高端电视视频会议中应用广泛。H.262 是由 ITU-T 和 ISO/IEC 联合发布的标准,也就是 MPEG-2,在 DVD、数字电视、广播和卫星电视等领域应用广泛。H.263 是 ITU-T 于 1996 年发布的视频编解码标准,随后又在 1998 年和 2000 年推出了它的改进版 H.263+和 H.263++[23]。H.263 采用了二分之一像素进度的运动估计、高级预测模式、PB 帧等关键技术,并添加了四种全新的编码器参数选项,与之前发布的标准相比,在甚低比特率情况下图像效更好,性能和效果有明显提升。H.264 是 ITU-T 和 ISO/IEC 联合制定的视频标准,同时也是 MPEG-4 的第十部分,

在 2003 年被正式确定为国际标准,取代 H.263 成为新一代的视频应用编解码算法标准[24]。与以往压缩标准相比,H.264 标准的新技术体现在以下几个方面:
(1)全新的帧内预测模式。在以往的压缩标准中都是采用帧间预测方式,通常把只采用帧内编码的图像作为 I 帧,只对 I 帧中的像素数值进行提取,压缩率不高。而 H.264所采用的帧内预测方式是在众多的图像帧中挑选一帧作为 I 帧,其余剩下的作为 P 帧。把挑选出来的 I 帧作为基础帧,包含图像表达所需的所有信息[25]。而在 P 帧中,它里面包含的是相邻帧之间的差值,大幅度减少了图像的冗余度,压缩率显著提高。在同等重建图像质量下,H.264 标准的编码效率较高,压缩率是 MPEG-2 的 8 倍、MPEG-4 的 3倍、H.263 的 2 倍[21]。
(2)算法的分层结构。H.264 编码算法结构可分为视频编码层和网络抽象层。视频编码层完成视频内容的有效表示,网络抽象层完成不同网络上数据的打包传输。网络抽象层使得 H.264 较其他压缩标准有着更强的网络适应能力,在互联网和移动通信网络有较好表现。
(3)面向 IP 和无线传输环境。H.264 为提高容错能力提供了两种差错消除工具,一种是对丢包在分组传输网络中进行处理,另一种是对比特误码在无线网络中的处理。两种工具的结合使用使压缩码流数据的丢包和误码几率降到最低,传输系统的容错能力得到提高。同时改变量化步和数据分割的方法使得 H.264 能自适应信道码率的变化[26]。

五、以太网和流媒体传输技术

1. 以太网简介

以太网(Ethernet)是由 Xerox 公司创建并由 Xerox、Intel 和 DEC 公司联合开发的基带局域网规范,遵守 IEEE802.3 协议,是当今现有局域网普遍采用的通信协议标准。它采用总线拓扑结构,利用物理介质进行数据交换共享。以太网是基于 CSMA/CD(载波侦听多路访问/冲突检测)的工作机制,采用广播的方式进行通信。IEEE802.3 以太网标准中只对 OSI 模型的物理层和数据链路层进行了规定,数据链路层分为两个子层:逻辑链路控制子层 LLC 和介质访问控制子层 MAC[27],如图 2.4 所示。逻辑链路控制子层LLC 又称为服务访问点,其主要功能是在一个和多个两相邻层之间建立逻辑接口。介质访问控制子层 MAC 完成对帧的封装和卸装、寻址和识别、接受与发送和对链路管理等。

DM368开发 -- 视频监控系统相关技术研究(转毕设)[通俗易懂]

2. 流媒体传输技术

流媒体技术就是把连续的音视频信息经过压缩处理后放到网站服务器上[28],而用户的电脑上会创建一个缓冲区,这部分缓冲区里有事先下载好的一段信息作为缓冲,这样用户就可以一边下载一边播放。为避免在网络速度较慢时出现播放暂停情况,播放程序会将事先存放在缓冲区内的资料进行播放,这样就能实现音视频的连续播放。流媒体技术是随着网络音视频技术发展而产生的,它融合了多项网络技术,涉及到流媒体数据的采集、存储、压缩、传输以及网络通信等[29]。而流式传输是实现流媒体的关键技术,包括顺序流式传输和实时流式传输。当使用 HTTP 服务器时采用顺序流发送;使用流式传输媒体服务器时采用实时流传输。流式传输的原理图如下图 2.5 所示。流式传输的过程如下:首先, Web 服务器和 Web浏览器通过 HTTP/TCP 进行连接以实现控制信息的交换。其次,数据会通过 RTP/UDP协议从 A/V 服务器中发送给 AV 客户程序。然后 Web 浏览器启动 A/V Helper 程序及 A/V服务器运行时流控制协议 RTSP,达到交换 A/V 传输所需的控制信息的目的。RTSP/TCP 和 RTP/UDP 可以实现把服务器的输出重定向到一个不同于运行 A/V Helper程序所在客户机的目的地址。

DM368开发 -- 视频监控系统相关技术研究(转毕设)[通俗易懂]

1.实时传输协议

实时传输协议 RTP 是针对多媒体数据流在网络上传输而设定的一种传输协议。实时传输协议 RTP 有两个子协议:实时数据协议 RTP 和实时控制协议 RTCP。

(1)实时传输数据协议 RTP

RTP 协议负责对多媒体数据进行封包并进行实时传输, 其中报文由两部分组成:报头和有效载荷,报头格式如下表 2.1 所示。有效载荷里存放的是多媒体数据。

DM368开发 -- 视频监控系统相关技术研究(转毕设)[通俗易懂]

(2)实时传输控制协议 RTCP

RTCP 是 RTP 的控制协议,用于监视网络的服务质量和数据接受双方的信息传递,对数据传输质量进行反馈。RTCP 也采用和数据协议 RTP 相同的分发机制,它会周期性的向参与会话的成员发送控制信息,会话参与成员收到控制信息后会将网络的状态和数据包的丢失情况等信息传回,应用程序接收到这些反馈信息后会对网络运行状况做出诊断和评估,实现对流量的控制,保证数据的可靠传输[30]。

2.实时流协议 RTSP

实时流协议 RTSP 是在实时传输协议的基础上工作的,主要实现对多媒体播放的控制。用户对多媒体信息的播放、暂停、前进和后退等功能就是通过对实时数据流的控制
来实现的。 而这些播放控制功能的实现不仅需要多媒体播放器, 同时还需要实时流协议。
实时流协议是通过请求报文和响应报文的交互实现的,请求报文和发送报文格式如下表
2.2 和 2.3 所示。

DM368开发 -- 视频监控系统相关技术研究(转毕设)[通俗易懂]


DM368开发 -- 视频监控系统相关技术研究(转毕设)[通俗易懂]


推荐阅读
  • 本文介绍了一种在 Android 开发中动态修改 strings.xml 文件中字符串值的有效方法。通过使用占位符,开发者可以在运行时根据需要填充具体的值,从而提高应用的灵活性和可维护性。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
  • 本文探讨了Python类型注解使用率低下的原因,主要归结于历史背景和投资回报率(ROI)的考量。文章不仅分析了类型注解的实际效用,还回顾了Python类型注解的发展历程。 ... [详细]
  • 材料光学属性集
    材料光学属性集概述了材料在不同光谱下的光学行为,包括可见光透射率、太阳光透射率等关键参数。 ... [详细]
  • 本文详细介绍了如何在Android应用中实现重复报警功能。示例代码可在以下路径找到:https://developer.android.com/samples/RepeatingAlarm/index.html。首先,我们将从Manifest文件开始分析。 ... [详细]
  • 我在尝试将组合框转换为具有自动完成功能时遇到了一个问题,即页面上的列表框也被转换成了自动完成下拉框,而不是保持原有的多选列表框形式。 ... [详细]
  • UVa 11683: 激光雕刻技术解析
    自1958年发明以来,激光技术已在众多领域得到广泛应用,包括电子设备、医疗手术工具、武器等。本文将探讨如何使用激光技术进行材料雕刻,并通过编程解决一个具体的激光雕刻问题。 ... [详细]
  • 本文探讨了如何选择一个合适的序列化版本ID(serialVersionUID),包括使用生成器还是简单的整数,以及在不同情况下应如何处理序列化版本ID。 ... [详细]
  • 本文详细探讨了 Android Service 组件中 onStartCommand 方法的四种不同返回值及其应用场景。Service 可以在后台执行长时间的操作,无需提供用户界面,支持通过启动和绑定两种方式创建。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • 树莓派4B:安装基础操作系统指南
    本文将详细介绍如何为树莓派4B安装基础操作系统,包括所需材料、镜像下载、镜像烧录以及更换国内源等步骤。 ... [详细]
  • 解析链接脚本与可执行文件的关系
    本文详细探讨了链接脚本和可执行文件的基本概念及其在嵌入式系统中的应用,特别是S32K144芯片的具体实现。 ... [详细]
  • 大华股份2013届校园招聘软件算法类试题D卷
    一、填空题(共17题,每题3分,总共51分)1.设有inta5,*b,**c,执行语句c&b,b&a后,**c的值为________答:5 ... [详细]
  • 一个转子曲线面积问题及其反问题的解答
    曾经解答过这样一个问题,从该ID的最后一次登录时间、该ID显示的专业信息,误以为是新闻里某个想不开的同学,不安了一阵子。经确认是我多虑了,不过把问题答案还是写出来。之后就收到一堆要求帮忙算 ... [详细]
author-avatar
ebt1775010
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有