我有一个 VS-SCZ8003K 摄像头模块。我想在我的基于 Raspberry PI 4B 的软件系统中使用它。我还希望将来在同一软件中使用多个摄像头,并能够通过有线或无线收发器传输视频流。但我从来没有处理过视频数据的接收和处理。该模块实现Onvif、HTTP、HTTPS、RTSP、RTP、TCP、UDP协议。从相机模块获取视频并将其显示在画布上以及将来添加其他相机的可能性的最佳方式是什么?我更喜欢使用 Qt 或 ImGui,因为我可以为 Linux 和 Android 操作系统开发 C++ 应用程序(我要做跨平台应用程序)。它是一种对摄像机变焦和视角进行一定控制的监视和监控系统。
我发现 Onvif 是一个相当不错的现代协议,但对我来说似乎太复杂了。 RTSP 看起来像是一种用于点播流媒体视频的协议。 TCP/UDP 看起来很容易理解,但我不确定它是否具有可扩展性。 HTTP 更有可能用于网络流媒体,不是吗?使用哪种协议更好?您能否向我推荐实施此类系统的任何方法或任何提示和技巧?我需要服务器才能使用多个摄像头吗?
对于具有多个摄像机的监视和监控系统,请考虑使用 RTSP 协议来实现低延迟视频流。在模块化架构中使用 Qt 或 ImGui 实现与相机的通信可实现可扩展性。利用 FFmpeg 进行视频解码,并在图形用户界面中为相机功能提供用户友好的控制。确保安全通信,彻底测试系统,并记录代码以供将来参考。考虑使用中央服务器来管理连接和分发视频流。