视频编码器的软件功能组成

电子说

1.3w人已加入

描述

视频编码器的软件功能主要包括视频的编码压缩、与客户端的连接、发送视频流给客户端、接收客户端发送来的配置及控制命令、接收前端传感器的信号状态改变并更新服务器、对登录连接的用户进行认证、提供Web服务等。

TCP

声明:部分内容及图片来源于网络,如有侵权请联系删除。

视频编码器的软件一般包括如下几个部分:操作系统、Web服务、CGI应用、编码压缩程序、网络传输协议、视频存储管理等。

目前多数视频编码器的软件系统采用嵌入式Linux作为操作系统平台,在Linux系统中,软件采用分层的体系结构,软件系统构建在硬件系统之上,硬件系统在固件(Firmware]的支持下工作,系统的应用程序工作在用户模式,而设备驱动程序则工作在内核模式。

1.嵌入式系统(Linux)

嵌入式视频编码器是一种集软、 硬件于一体的设备,主要包括处理器、嵌入式操作系统及相华应用软件。嵌入式操作系统是实时的、支持嵌入式系统应用的系统平台,是嵌入式设备中查要的软件部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动及通讯协议等,具体特点如下:

A、指令精简,处理速度快。

B、调用速度快,系统数据多置于Flash缓存内。

C、性能稳定,嵌入式系统是一种集软硬件于一体的可独立工作的设备。

D、适合于大量的视频数据应用。

E、实时性好,其软件固态化,因而系统处理实时性好。

通常,在视频编码器系统中,Linux负责整个系统软件的总体调度,Linux 系统通常包括如下儿个部分: Linux 内核[Kernel)、文件系统(Filesystem)、设备驱动和TCP/IP网络协议栈等。

嵌入式系统需要通过各种硬件驱动程序来完成对各个外设的操作,在嵌入式软件系统设计中,硬件设备驱动开发是一个重要的部分。由于嵌入式系统设计是针对特定场合和应用设计的,还须开发相应的网卡驱动、USB 驱动和对应的1/0控制瑞口驱动程序,这些驱动模块和Linux中其他模块共同构成了嵌入式系统的软件运行平台。

2.应用软件

嵌入式视频编码器系统除了有相关的硬件平台和软件平台外,还需要运行在平台上面的各种应用程序,主要实现的功能包括Web服务、客户连接认证、视频流的发送、控制流的接收与余令执行、报警状态检测与响应、视频内容分析、PTZ操作等。

Web服务:支持IE客户访问。

客户认证:对请求连接的客户进行认证,并反馈参数。

数据发送:将视频流发送给客户端并动态更新。

PTZ操作:接受PTZ指令并发送给串口,完成对云台、镜头等设备的控制。

报警:对外部报警信号接收及做出相关动作响应。

VCA:视频内容分析功能。

3.编码压缩

编码压缩工作主要完成对采集、数字化的视频图像的编码压缩。对采集到的图像数据进行压缩可以有两种方案,一种是用硬件来压缩, 另一种压缩方法就是用软件来实现。

MPEG-4压缩方式是目前种主流的编码方法。而H.264是更先进的方法,与其他压缩编码方式比较,利用H.264标准可以获得更高的压缩比及更好的图像质量。

4.网络传输

目前网络上数据的传输主要采用TCP和UDP协议。TCP协议能提供有序、可靠的服务,但是一旦数据丢失会带来严重的延迟,无法保证实时性;UDP 是节约资源的传输层协议,其操作执行比TCP快得多,它适合于不断出现的、与时间相关的应用。由于音、视频数据对实时性要求比较高,而控制数据则对可靠性要求较高,因此,通常系统采用两种通信协议: TCP/IP协议传输通信控制数据,UDP/IP 协议传输视频数据。

由于UDP的不可靠性,基于UDP的应用程序在不可靠网络使用时必须自己解决可靠性问题,诸如报文丢失、重复、失序和流量控制等问题。在实现连续媒体数据传输时,发送方和接受方应该能处理图像传输中发生的数据丢失、延迟等一些问题。因此,在UDP协议之上,采用RTP(实时传输协议)和RTCP[实时传输控制协议)来完成视频数据的传输。

5.客户端应用

此处的客户端软件是指编码器厂商提供的简易客户应用程序,可以实现一些基本功能,对于大型系统及项目,一般另外有中央管理软件及NVR平台,并利用专用的客户端程序实现强大的功能。客户端主要完成视频数据的接收、解码和显示工作,同时还可以设置编码器的参数。从功能角度,客户端的软件体系结构可划分为3个模块:设备控制模块、网络的接收与反馈模块、显示模块。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分