Repository navigation
platform sdk ingesting third party video
Security Center receives third-party live streams through Generic Stream units and imports recorded files through Offline device units. An Archiver role manages the resulting video unit and camera, making the supplied video available to operators in Security Desk.
Choose a method based on what your integration supplies and when operators need the video. Live streams use the real-time streaming protocol (RTSP) or the real-time transport protocol (RTP). The RTP products receive packets over the user datagram protocol (UDP).
| Integration output | Manufacturer and product type | Result |
|---|---|---|
| A live stream served through RTSP | Generic Stream, RTSP or RTSP (No ping) | Security Center connects to the RTSP server to receive video. |
| Live RTP video sent over UDP | Generic Stream, RTP Unicast Udp or RTP Unicast Udp (No ping) | Security Center listens on a UDP port on the Archiver server. |
| Live RTP video published to a multicast group | Generic Stream, RTP Multicast or RTP Multicast (No ping) | Security Center receives the configured multicast stream. |
| Completed MOV, AVI, or MP4 files | Offline device, Network share | The Archiver role imports recordings for playback. |
An administrator can enroll these units in Config Tool. A Platform SDK application can enroll them through Engine.VideoUnitManager; see Enrolling a video unit for the required product-specific values and C# examples. Once enrolled, the integration supplies the stream or files directly to the configured destination.
A Generic Stream unit represents video supplied by your integration. Operators can view the resulting camera in Security Desk, and the Archiver role records the video according to the camera's recording settings. Configure and start the video source before verifying live video and recordings.
Use RTSP when your integration hosts a stream that Security Center can request. Supply a complete URI, such as rtsp://192.168.1.50:8554/loading-bay, and any credentials required by the server.
Security Center retrieves a session description protocol (SDP) description from the RTSP server to determine the video codec. The server must return an SDP description for the supplied URI and accept subsequent requests to stream the video. The RTSP product supports UDP unicast, UDP multicast, and RTSP over TCP for receiving video.
The RTSP (No ping) product disables Internet control message protocol (ICMP) reachability checks. Use this variant when the RTSP server is reachable but ICMP echo requests are blocked. The RTSP connection and SDP exchange must still succeed.
Use RTP Unicast Udp when your integration sends video to a fixed UDP destination on the Archiver server. Supply the Archiver server's IPv4 address and the destination port, and then configure your publisher to send to that address and port. The Video codec selection must match the published video: H.265/HEVC, H.264, MPEG-4, or MJPEG.
Send video packetized as RTP for the selected codec. The Generic Stream RTP products require RTP packets; a UDP destination alone does not make an arbitrary video format compatible. Your integration starts and stops the publisher.
Use an RTP multicast product when your integration publishes to a multicast group. Configure the camera's multicast address and port to match the publisher, and select the matching video codec. The network between the publisher and the Archiver server must deliver that multicast traffic.
RTP Multicast (No ping) requires a unit name and a codec during enrollment. It disables both ICMP checks and Internet group management protocol version 3 (IGMPv3) for the unit. Account for the IGMPv3 difference when configuring multicast delivery.
For either RTP transport, a No ping variant disables ICMP checks. An enrolled unit's online state does not confirm that the publisher is sending video. Verify live video in Security Desk and confirm that the expected recording period is available for playback.
An Offline device unit monitors a local or network folder and imports completed clips into its camera's archives. Each unit provides one camera for these recordings. Use a separate unit and folder for each source camera; a filename prefix does not select a destination camera. Operators play the imported recordings through that camera.
Create the import folder before enrollment. Grant the account running the Genetec Server service read and write access to the folder and its files, and permission to create subfolders and move or delete files. Security Center imports files in the folder's top level; subfolders are not scanned for video.
Use a unique unit name across the Security Center system and any federated systems. Reusing a name can prevent enrollment because the name identifies the offline unit. Keep a consistent name when provisioning that source again.
For MOV, AVI, or MP4 clips, use H.264, MJPEG, or MPEG-4 video and preserve the recording's date and time. Name files with the documented pattern XXXX_YYYY.MM.DD_HH.MM.SS.ext, where XXXX describes the recording, the date and time identify its start, and ext is the file extension. For example, loading-bay_2026.10.09_14.30.00.mp4 identifies a recording that starts at 14:30 on October 9, 2026.
By default, Security Center uses the recording creation time stored in the file's media metadata. If that time is missing or invalid, Security Center uses the date and time in the filename. Keep the metadata and filename consistent; renaming a file does not override valid creation metadata.
AVI imports always interpret the selected start time in the camera's time zone. Supply AVI start times as local time in that zone. For MOV or MP4 clips whose dates represent local time, select Enable time zone correction in the offline unit's settings and configure the camera's time zone. For MOV or MP4 clips whose dates already represent coordinated universal time (UTC), leave the option cleared. This option applies the camera's time zone to the selected time, including time read from metadata.
An import requires a valid start time and a nonzero duration. Separate clips for the same offline camera must not overlap existing imported recordings. Check the imported time range before submitting another clip for the same period.
Prepare the import folder, the unit's time zone, and the files before starting this procedure. Keep a separate copy of any original file you need to retain: Security Center deletes the source file after a successful import.
- Enroll an Offline device unit with product type Network share, a unique Unit name, and the prepared folder's Path. Select the Archiver role that manages the recordings.
- In Config Tool, select that Archiver role and open Camera default settings. Set Automatic cleanup to a duration longer than the age of the oldest recording you plan to import. For a 30-day-old recording, the administrator procedure recommends at least 32 days. This setting also affects other cameras managed by that Archiver role.
- Finish writing each clip in a staging folder on the same volume as the import folder. Publish only completed, nonempty files, and close each file before making it available for import. Move the completed file into the import folder's top level.
- Wait for processing. Successfully imported source files disappear from the folder. Importing can take 30 seconds or longer, depending on the number and size of the files.
- In Security Desk, open the Archives task and verify the imported recording's time range, video, and audio.
Security Center can retry failed imports. Wait for the import attempt and any pending retries to finish before correcting and resubmitting a failed clip. If a file remains in the import folder after processing, inspect its dates, format, permissions, and any overlap with existing recordings. After correcting a clip whose video failed to import, submit it under a new filename that preserves the recording timestamp.
If FailedAudioImports appears, the video imported but audio failed or was truncated. Security Center preserves the original file in that subfolder. Verify the video already available in the Archives task before submitting a replacement, because another import covering that period can fail due to overlap.
- About cameras: Configuring recording and working with a camera's streams and archives
- Archiver and auxiliary archiver roles: Recording defaults and archive retention
- Media SDK overview: Playing and exporting video after ingestion
- Overview
- Connecting to Security Center
- SDK certificates
- Referencing SDK assemblies
- ASP.NET hosting
- SDK compatibility
- Migrating to modern .NET
- Entities
- Entity cache
- Entity loading, cache, and query options
- Detecting entity changes
- Entity change event reference
- Transactions
- Security Center events
- Actions
- Security Desk
- Custom events
- Event-to-actions
- Managing macros
- ReportManager
- ReportManager query reference
- Access control raw events
- DownloadAllRelatedData and StrictResults
- Privileges
- Partitions
- Entity write restrictions
- About custom fields
- About video
- About cameras
- Enrolling a video unit
- Ingesting third-party video
- Archiver and auxiliary archiver roles
- Archive transfer
- About access control
- About cardholders and credentials
- About doors, areas, elevators, and access points
- About access rules and schedules
- About access control units and interface modules
- Enrolling an access control unit
- Door templates
- Visitors
- Mobile credentials
- About threat levels
- About alarms
- About incidents
- Maps
- Logging
- Overview
- Localization
- Certificates
- Lifecycle
- Threading
- State management
- Configuration
- Restricted configuration
- Events
- Queries
- Request manager
- Database
- Entity ownership
- Engine extensions
- Entity mappings
- Server management
- Custom privileges
- Custom entity types
- Resolving non-SDK assemblies
- Deploying plugins
- Modern .NET support
- Overview
- Localization
- Certificates
- Creating modules
- Tasks
- Pages
- Components
- Tile extensions
- Services
- Contextual actions
- Custom actions
- Options extensions
- Configuration pages
- Monitors
- Shared components
- Commands
- Extending events
- Map extensions
- Timeline providers
- Image extractors
- Credential encoders
- Credential readers
- Cardholder fields extractors
- Badge printers
- Content builders
- Dashboard widgets
- Incidents
- Logon providers
- Pinnable content builders
- Custom report pages
- Overview
- Getting started
- Media file formats
- MediaPlayer
- VideoSourceFilter
- MediaExporter
- MediaFile
- G64 converters
- FileCryptingManager
- PlaybackSequenceQuerier
- PlaybackStreamReader
- OverlayFactory
- PtzCoordinatesManager
- AudioTransmitter
- AudioRecorder
- AnalogMonitorController
- Camera blocking
- Overview
- Getting started
- Referencing entities
- Entity operations
- About access control in the Web SDK
- About video in the Web SDK
- Users and user groups
- Partitions
- Custom fields
- Custom card formats
- Actions
- Events and alarms
- Incidents
- Reports
- Tasks
- Macros
- Custom entity types
- System endpoints
- Performance guide
- Reference
- Endpoints
- Constants
- Enumerations
- Under the hood
- Troubleshooting