视频编码器的软件功能主要包括视频的编码压缩、与客户端的连接、发送视频流给客户端、接收客户端发送来的配置及控制命令、接收前端传感器的信号状态改变并更新服务器、对登录连接的用户进行认证、提供Web服务等。
声明:部分内容及图片来源于网络,如有侵权请联系删除。
视频编码器的软件一般包括如下几个部分:操作系统、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个模块:设备控制模块、网络的接收与反馈模块、显示模块。
审核编辑 黄宇
-
TCP
+关注
关注
8文章
1342浏览量
78901 -
UDP
+关注
关注
0文章
319浏览量
33844 -
视频编码器
+关注
关注
1文章
65浏览量
14983
发布评论请先 登录
相关推荐
评论