Hello
In my integration projects I would like to display a list of playbacks.
In order to get this list I am using the VideoOS.Platform.Data.SequenceDataSource Class Reference.
The function GetData takes long time : 10 -60 seconds on the client computer the first time it runs.
the client have near 100 cameras. On the second request on the same camera works faster.
Please suggest how I can improve the time response of this function
This is a part of my code:
_SequenceDataSource \_dataSource = new SequenceDataSource(this.camera);_
_if ( \_dataSource != null)_
_{_
_this.osdTime = DateTime.MinValue;_
_from = from.ToUniversalTime();_
_until = until.ToUniversalTime();_
_//limit to 10000 playbacks_
_List<object> sdlist = \_dataSource.GetData(DateTime.UtcNow, from.TimeOfDay , 10000, until.TimeOfDay, 0);_
_//List<object> sdlist = \_dataSource.GetData(until, from.TimeOfDay, 10000, until.TimeOfDay, 0);_
_foreach (SequenceData sd in sdlist)_
…
Best Regards,
Roni K.
You are asking for too many results at one time. The Recorder will need to open database after database to compile this data (Data for one camera is normally split into hourly size databases). In the Smart Client we try to ask for what is visible, like timespan of 1 hour at a time. My suggestion is to ask for max 4-6 hours at a time. But if you really need allsequences for a camera, it will take a long time and utilize a lot of disk I/O on the Recorder itself - not good.
Hello
After reducing the number of hours to 2 hours, it began to work faster, but not as expected and not as in the CLIENT software - our client complains about it.
On the test server, in our office, we get 1-3 playbacks for two hours. In the production - we get more than 300 playbacks.
May be this is a reason ?
Both servers are set to “Continuous Recording”.
Please suggest
Regards,
Roni K.
Looking at the Smart Client time line in your customers site, does the Smart Client display a unbroken red time line? (Expected behaviour).
Even with many results it should be faster when limited to 2 hours. (Double-check if the limit is correctly implemented and used at the customers.)
Can you please try to tell something about how long it takes?
Again comparing to the Smart Client; does the time line render quickly in the Smart Client?
We have unbroken red timeline in Smart Client (screenshot in attachment)
In the office, it can take less than one second, in the production server between 7 - 40 seconds.
If I understand correctly you have modified the code, the GetData is different now I guess, for clarity could you please show you new code (snippet showing the parameters and call)?
What product and version is the XProtect VMS? (Is it the same in you test setup and at the customer site?)
Hello Bo
SDK version 2017 R1 64bit
VMS version in test environment
VMS version at the customer site
Test code:
Regards,
Roni
I have run a series of simulations and I am unable reproduce the issue.
If you have record always / continues recording there should be one or few sequences. I tried to set up a camera recording ten seconds and pausing ten second cycles, in that way I could get 300+ sequences when asking for two hours, but it was responding in less than 100 milliseconds.
Is the setup to record always or on motion detection?
I wonder if the recording server log or image server logs give a hint that something is not working correctly?
Perhaps a Support case could be opened to try to analyse the customer site’s logs etc.