Overview of the Media SDK
The Media SDK provides the video-related components for integration inside .NET applications. The Media SDK consists of a WPF control for insertion into the user interfaces, and a back-end component for accessing the raw video from Security Center cameras directly. Also, the Media SDK supports video export to .g64 and .g64x formats, conversion of exported files to .mp4 and .asf, PTZ camera controls, and video overlays.
In this overview, a diagram summarizes the video integration options, and the main components are described.
The following diagram shows how a third party can interact with video using the Media SDK, or through the Media Gateway.
The MediaPlayer is a WPF UserControl used to display Security Center video in a UI application. Its main usage is in a standalone application, Custom Tasks, or integration of video into a third-party application.
Due to current limitations, the Media Player in the SDK does not use hardware acceleration, resulting in potentially slower performance compared to the Media Player in Security Desk.
The VideoSourceFilter component is used to access the decoded frames of a video stream, in YUV or RGB. It is typically used in image analysis and video analytics systems. The MediaPlayer and VideoSourceFilter use the same codecs as Security Center client applications, and can decode video from all Security Center supported cameras. They support live and playback video, and can play video archive files. The MediaPlayer supports audio, playing it on the computer speaker.
The MediaExporter component exports archive video from Security Center Archivers in g64 and g64x Security Center video files. These files can be converted to asf and mp4 formats using the G64ToAsfConverter and G64ToMp4Converter. They can also be fed into the MediaPlayer and VideoSourceFilter. The video files can be encrypted and decrypted using the FileCryptingManager.
The Media Gateway provides the raw RTP video stream: it is the Tech Partner who is in charge of decoding and rendering the stream. Because some manufacturers use proprietary codecs, it might not be possible to decode the streams for certain camera manufacturers or models. The SDK is only used to retrieve the camera identifiers to build the video URI. The client application can receive live and playback video, after sending RFC2326 RTSP requests. Refer to the Security Center Administrator Guide for more information on that component.
The MediaPlayer and VideoSourceFilter are similar. You can see the internal design of both these objects in the diagram below.
The main difference between the two objects is that the MediaPlayer handles rendering. If you want to show video in your application, use the MediaPlayer. If you need to access video data for tasks like saving or sending an image to a video analytic system, the VideoSourceFilter is recommended to avoid excessive CPU and memory usage.
If you are a DAP member, sign in to see more information on the Security Center SDK and APIs. Access rights will be granted within 30 minutes after signing in. If you are not a member, visit the DAP page to apply.