音视频应用即有深度又有广度,如何让一个平台拥有更多功能更灵活的拓展能力,从单体模块化,多插件到微服务都有大量的实践。
笔者在实际开发过程也同样面对这些纷繁复杂而又必须共容共通需求的挑战。
在实战开发了大量从服务端到设备端再到浏览器端的应用后蒙生了一个想法,就是将这么多应用的共性问题提炼出来,用物联网的思维统一管理调度并授权管理,用户可以分级分权限发布资源提供能力和数据流,同时通过订阅来实现利用这些资源,我们只是对数据流和控制流进行按需共享,这样一来,就大大减少了系统的逻辑相关性,开发者可以将注意力放到业务按需实现调度逻辑,需要什么定阅什么,没有功能就实现一下独立的应用去发布这个功能让其他订阅者使用。
经过努力,我们已经在平台上集成了
多媒体服务协议转发服务器
远程桌面控制
嵌入式音视频多协议推流拉流
视频会议
浏览器播放器 支持h265
后一步会增加语音电话,物联网采集控制,AI分析赋能,以及利用这些能力订阅,实现多种业务逻辑。
在实现本系统和使用体验时,系统的灵活性及可塑性极强,软件间只通过标准的通信组件快速融合,为后期开发更多功能应用提供了非常强悍的支撑能力,整体平台可以实现非常复杂的业务,但单个应用又可以做到深度。彰显了系统设计的简洁,专注,专业人干专业事的思路,为后续拓展留下无限可能。部署方式也因为统一调度和p2p级联能力而适应任何内网外网专网的各种部署方案。
当然新的模式仍然有非常多的待探索的东西,本人能力,见识也有天花板,诚邀各位大佬指点,如有意愿实践欢迎至极!