XTension is not a DVR or NVR but can be used to do some of the functions of each. The idea of supporting video in XTension to have a relatively slow frame rate video available for embedding into views and web interfaces. You can also record this video to local drives on the Mac. There is a limit to how many 30fps streams of 1080p or larger video can be handled without significantly impacting other processes on your machine however. In general I recommend that you stream a reduced framerate into XTension for viewing and recording and use the built in recording in the cameras to record the full size and full frame rate video. The smaller and less CPU intensive files will show you enough to know if you need to go to the camera for the full resolution versions.
In the olden days Video in XTension was handled by the Video Pitcher app. This provided a hardware accelerated interface to decoding the streams, processing the video, sending it to XTension to be used in interfaces, and also recording it. Unfortunately Apple made many changes to the underlying libraries I used to develop it and it did not make sense to continue to develop it. A single application was still only using a single CPU for most of it’s work so a helper app was launched in the background to do the processing of the streams but here too we quickly became limited by bandwidth and CPU/GPU speed between all the parts. This program still works sand is still supported by XTension while it has been deprecated in favor of the newer Video API’s available in separate plugins.
The new video plugin system consists of a separate plugin for each stream type as the interfaces and under the hood handling of them can be very different. There are not stream plugins for specific camera types, only the specific connection type so they can be used with anything that supports that including much older legacy systems that you might still be using.
Those plugins can then load camera API plugins to provide an interface to the controls of specific cameras or brands of cameras. This allows you the most flexibility in getting the video into XTension and still having control of the camera features though scripting in XTension. I can add more stream types and more camera API support without having to change any of the existing ones now.
As of this writing there are 3 stream plugins and 3 camera API plugins but more of both are coming.
This is probably the oldest of the ideas for getting video into XTension. Back in the days of propriatary camera systems it was often a lot of work to figure out the protocol they were using to send video. Or you simply did not need a high frame rate video feed. This plugin… (gotta go make dinner back soon)