在开发视频监控系统应用软件时,大家往往把关注的焦点集中于数字音/视频的编解码的实现上,而忽略了视频监控系统应用软件的整体架构。当然视频监控的核心也是在于音视频编解码上,佰锐的AnychatSDK主要就是在音视频领域这块,长期研究音视频即时通讯,对于音视频处理模块(采集、编解码)、流媒体管理模块(丢包重传、抖动平滑、动态缓冲)、流媒体播放模块(多路混音、音视频同步)以及P2P网络模块(NAT穿透、UPnP支持)等多个子模块,封装了底层的硬件 *** 作(音视频采集、播放)、封装了流媒体处理(编解码、网络传输)等非常专业和复杂的技术,为上层应用提供简单的API控制接口,可以在极短的开发周雀迅拍期,以及极少的人力资源投入下为客户的现有平台增加音视频即时通讯、多方会议的功能。AnyChatSDK可以让企业越过复杂的底层技术实现,而把主要精力投入项目的业务逻辑处理上,加快项目开发进展,从而为企业赢得市场先机。
视频监控系统中,一个优秀的音/视频编解码算法固然很重要,但其中是整个视频监控系统应用软件的一个重要组成部分。视频监控系统应用程序还涉及到如何搞笑地输入/输出数字音/视频数据,这些数据又如何与音/视频编解码算法协调、配合,以及视频监控系统应用软件各个模昌山块之间如何协调工作。本文主要阐述软件开发方法,说明层次化软件开发方法优越性。
传统的软件开发方法
传统的软件开发方法是一种线性的程序流程,首先以功能模块对整个程序进行模块化,然后选择ASM或C语言,从零开始编写各个子模块,最后编写一个主循环,将这些子模块线性地顺序循环执行。
传统的软件开发方法的优点是:整个程序的控制流、数据流完全由编顷羡程者掌握,程序直观、易理解。但其缺点是:各个子模块之间紧密耦合,修改某一子模块,将可能影响整个程序,也即其代码的重复使用率不高,导致相似系统之间程序的移植性差;由于程序顺序、循环执行,在算法对数据进行处理前,需要花大量时间来等待输入/输出数据就绪,导致CPU的利用率低,同样,简单的顺序、循环执行,只能管理和调度单一任务,不能实现多任务的管理和调度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)