Hi Luis,
Yes there is.
On the protocol integration level command is called “GetSequences”.
It could give you list of the intervals (start and end time) for when there was motion, recording or recording with trigger.
The command returns information for one camera, one period of time and one type of sequences (in your case “Recording”).
Depending on the platform (you mentioned you are using Mobile SDK, but not on which platform) there are nice wrappers around the protocol level command.
For example in JS exist:
/**
* Gets all the sequences in the given interval of time.
*
* @method getSequenceInInterval
* @param {String} cameraId
* @param {Number} startTime: milliseconds in UTC, the start time of the interval
* @param {Number} endTime: milliseconds in UTC, the end time of the interval
* @param {String} investigationId - The id of the investigation (export) to be used for extracting the sequences.
* @param {Function} successCallback: function that is called when the command execution was successful and the result is passed as a parameter.
* @param {Function} failCallback: function that is called when the command execution has failed and the error is passed as a parameter.
*/
this.getSequencesInInterval = function (cameraId, startTime, endTime, investigationId, successCallback, failCallback) {
investigationId is optional parameter and has meaning only if you want to search in already saved investigation (I suppose it is not your case).
If you are using Andorid, iOS or .NET you can find relevant command by searching for “sequence”.
btw. There are a lot of girls here 
can we then stream the sequence, download it, or link to it?
Hi Tony,
There are manly two options.
- You could start playback stream and navigate to the sequence start time. There are relevant samples how to do that in different SDKs. On the protocol level those are RequestStream command and request to the actual stream address afterwards. Navigating to the sequence start time could happen directly in the RequestStream command or with a separate one - ChangeStream.
- There is no build-in functionality to download particular sequence or to link to it. But you could use the Investigations feature to emulate such. In general you could create an Investigation, for this particular camera, with start and end date-time same as the ones of the sequence. This Investigation could be previewed in the XProtect Web Client. In addition for this investigation could be prepared export, which to be downloaded, in three different formats (DB, AVI, MKV).
I think I just found it so I wanna check. I’m doing all this in Java and my goal is to find an easy way for ops person to view the footage from an alarm that was sent to ServiceNow. I should have the alarm data that I need to find the camera.
- get token and find the camera(s) I want to view (the camera(s) will be known)
- send a request to the ImageServer for sequences that are in the timeframe I care about (timeframe will be known)
- use the sequence time(s) that are returned to use the “goto” method on the ImageServer to get the video(s).
From here I’m not sure if I can download the file programmatically or if there is a way I could embed it into ServiceNow or something else that would be easier.
Right now I can’t really test because I’m getting an “Unknown device” error when trying to run the “Simple Connect” example: https://developer.milestonesys.com/s/question/0D53X00007sVzCYSA0/cannot-find-camera-guid-programitcally
Tony,
What you are describing as a workflow concerns integration directly with the ImageServer, but not the Mobile one.
It is better if you start another thread for this.
Hello Petar …
Thank you so much!!! I really appreciate your post. Let me take a look.
regards.!