In the ever-evolving landscape of video surveillance software, one persistent challenge has been the complexity associated with setting up and connecting IP cameras. Many existing solutions rely on resource-intensive third-party libraries, making them cumbersome for users. Moreover, the lack of adherence to ONVIF specifications by some IP camera manufacturers adds to the complexity. Another significant issue is stability, most video surveillance software relies on libraries like FFmpeg, which require specific parameters and stream decoding based on the camera model. This creates a fragmented system where users must specify various parameters, such as frame rate, resolution, audio and video codecs, for different camera manufacturers.
While VLC is a relatively versatile RTSP stream player, it has its limitations and drawbacks. FFmpeg, on the other hand, is a universal library but demands substantial computer resources when used for video re-streaming or resolution adjustment. Developing custom libraries and players for IP camera video display entails significant effort and demands accommodating the nuances of a vast array of IP cameras. Building a complete alternative from scratch is costly and challenging, considering the extensive development hours invested in FFmpeg and VLC.