1. An interface kernel comprising: a video capture module that is configured to receive images from one or more video sources, a video recording module that is configured to record images to one or more storage devices, a video playback module that is configured to playback images from the one or more storage devices, an event notification module that is configured to provide one or more notifications to an external notification system based on a detection of an event based on one or more of the images, and an application program interface that is configured to accept commands from an application program to control each of the video capture, video recording, video playback, and event notification modules.