When I request snapshot images from the API:
passing a timestamp in the post body.
I sometimes get a URL back that doesn't work. Often, the URL returns 404 for a few seconds, so after a retry or two I get the image, but sometimes the URL never works. It doesn't matter if I request new URLs, they never work for that specific timestamp. The second before and after works, but not that specific second.
Is this normal? It seems a bit odd to me.
I don't know the answer, but can you help me with my question?
Meraki Dasbhoard Snapshot API might be confusing at first so let's try to demystify it. After one receive the URL which is automatically generated as a result of one's POST request, the camera must then find the appropriate frame from it's recorded footage (providing that the footage was being recorded), extract the snapshot at that specific date and time, change file ownership and permission details, and finally - create soft link between the automatically generated URL and the file you requested. There is a lot going on here so one need to allow time for that image to become publicly available. We call this process a cold start and we have no control over it. It might also means that one may never get a successful response back for which one should create processes to repeat call if necessary.
Regarding the possible differences in your snapshot requests, please make sure that the timestamp includes the time zone that matches the camera time zone settings. For example, if the camera time zone is UTC+1, then the request should include the time zone and be formatted as follows: "2019-10-24T13:30:00+01:00".
Thank you for your reply. I do realize that the process of fetching the snapshot image may take some time. As I wrote above, I don’t find it odd that it may return 404 for a while, while it’s being processed. What is weird is that some specific timestamps fails, always. The second before and the second after works, so the call seems correct and the camera was on, right? Also, fetching new snapshots for that specific timestamp never returns functioning URLs. That second of footage just seems broken.
The timestamps are passed as ISO8601 as stated by the docs.
>What is weird is that some specific timestamps fails, always.
I don't know the answer. I found often found when watching video via the dashboard you sometimes get "black" segments. Have you tried reviewing this specific footage via the dashboard to see if it can retrieve it?
I put it down to camera bugs. For us, I configured a Meraki MS port schedule that gives the cameras a daily power cycle and that seems to have fixed things 100%.
Others have said the most recent firmware has fixed the issue. I haven't bothered disabling the port schedules to verify this.