论文部分内容阅读
KVM是计算机键盘、显示器和鼠标的英文首字母缩写组合,数字KVM系统由客户端软件和终端设备组成,是近年来新兴的基于IP网络的多地点多设备计算机集中管理技术,具有能够通过一套本地客户端同时控制多台远程计算机的技术优势,是现代计算机管理领域的重要发展方向。随着网络带宽的不断增加,KVM的应用已不再局限于对本地机房内服务器群组的管理,而是发展为远程机房计算机的一种管理工具,是军工、电力和工业现场等领域建设无人值守机房的重要工具。本论文基于海思半导体的嵌入式多媒体处理器Hi3516A设计并实现了一种KVM终端软件,充分发挥了Hi3516A处理器优异的视频图像处理性能和H.265编码算法出色的视频压缩效率。该终端软件运行在嵌入式Linux环境下,一方面对目标计算机输出的屏幕视频图像进行快速采集和高质量编码,并将码流发送给远程客户端解码显示;另一方面接收来自客户端的键盘鼠标命令,并通过键盘鼠标控制芯片UI012实现对目标计算机的输入控制。论文的主要内容如下:1.介绍Hi3516A处理器的多媒体软硬件接口、海思半导体的软件开发套件和多媒体开发框架MPP、以及相关的网络编程技术;阐述调用多媒体处理接口MPI组建完整多媒体处理应用的机制。2.搭建软件开发环境。结合对Hi3516A硬件平台的设备需求,进行U-Boot的交叉编译与Fastboot烧写,内核Kernel的配置与TFTP下载,Jffs2文件系统的制作烧写;建立嵌入式Linux开发环境,利用以太网实现TFTP下载调试和网络文件系统挂载调试。3.设计音视频采集编码模块。根据MPP开发框架,组建音视频输入、处理、编码模块。通过I2S接口采集音频数据,并对数据进行保存验证。通过视频输入接口采集BT.1120标准视频数据,采集得到的视频数据送到视频编码器,采用H.265标准进行编码,并针对KVM独特的视频场景对编码参数进行优化,提升用户体验。4.设计数据交互模块。数据交互模块负责与远程客户端进行包括音视频数据、键盘鼠标控制数据和控制命令数据等在内的数据传输交互,完成从缓存中读取音视频数据、对网络信息包进行封装解析的任务,以及将接收到的键盘鼠标控制信号发送至UI012芯片实现远程计算机控制。5.对全文工作内容进行总结,提出需要进一步完善和改进的问题,包括系统控制参数优化和虚拟媒体实现等。