How to improve snapshot quality to approach or match video quality


#1

I’ve embedded a snapshot of my indoor Nest Cam video stream in my website using the snapshot URL, but the image quality is poor compared to the quality of the video stream. I’ve searched for settings that might control the snapshot quality but have found none.

Is there a way to improve the snapshot quality?

Upper image is the snapshot using the URL from the API; lower image is a screenshot of the video stream (click on the image and the difference will be very apparent).


#2

Just found the bug here. The snapshot resolution depends on what the camera is set to. If set explicitly to 1080 then the snapshot will be 1080.

We believe the bug is when the camera is set to Auto then the snapshot returns the lowest resolution. We’re going to work on fixing it.


#3

Thanks for the info. The camera resolution is set explicitly to 1080 but, as the two images in my first post show, the snapshot quality is quite bad compared to a screenshot of the live video. That doesn’t seem right. What compression is used for the snapshot JPG? Can the amount of compression be changed, so the snapshot quality is improved?


#4

bump…


#5

whoops sorry about that, let me check.

Can you confirm again that switching to 1080 instead of Auto and waiting for it to stream in 1080, then taking a screencap still results in low quality?

When forced to 1080 snapshots should return much higher quality photo.


#6

Hi - thanks for the follow-up.

Ah ha, I see the problem. When it is streaming in 1080, the snapshot is a high quality photo that matches the video quality! But when it is not streaming at all (even tho’ still set at 1080), the snapshot is low quality.

I don’t want to have to stream all the time to get high quality snapshots.

So the question is: how can I get a high quality snapshot whether or not the camera is streaming?


#7

When you say streaming do you mean the is_streaming value is set to false?

I would expect if the camera streaming was turned off then it wouldn’t return a snapshot at all.


#8

Hmmm. When I said “is streaming” I meant “when I am viewing live video.” That is, when I’m viewing live video (either via https://home.nest.com/blahblahblah or via https://video.nest.com/live/blahblah), then the snapshot URL returns a high quality image that matches the live video sharpness.

If I’m not viewing live video, then the snapshot URL returns a poor quality image.

It seems odd that snapshot quality should vary with whether or not someone is viewing live video. And, most of the time, I won’t be viewing live video, so most of the time the snapshot quality will be poor.

Can that be fixed?


#9

Do you have Nest Aware by chance?


#10

Nope…


#11

That is most likely the cause. If you don’t have Nest Aware the camera is only streaming in 1080 when being viewed. With Nest Aware the video stays in 1080 as its being backed up in 1080.


#12

Seems reasonable to expect that if the camera is explicitly set to 1080 (as it is), it should stay in 1080, regardless whether or not it is streaming for viewing/backup, right?


#13

It would seem so however without Nest Aware the camera isn’t streaming. The camera is sitting there waiting for a motion or audio event, then when that happens it will upscale back to 1080 to grab the clip. Unfortunately snapshot requests from the API won’t upscale the quality.

I can see if there is anything we can do about it but can’t promise anything at this time.


#14

Ok, thanks for the reply. So even if the camera is manually explicitly set to 1080, it is actually set to some lower quality, until a motion or audio or streaming event, upon which it upscales to 1080.

Hmmm. That’s very odd, and it seems like it qualifies as a “bug.”

Yes, I’d appreciate it very much if you would pass on a request to fix that, or set it so snapshot requests from the API upscale it.


#15

I have just managed to reproduce this issue. Any ideas when this is going to be fixed?
Thanks, Michal


#16

The quality setting for a camera is described in our support docs as the quality your footage is recorded in if you have Nest Aware, as @urman described. If you don’t have Nest Aware or are not actively viewing the stream, there is no 1080-quality footage for the API to get a snapshot from. This is not a bug, but perhaps could be explained more clearly in the app and documentation.

If you have Nest Aware and the quality of your snapshots from the API is well below 1080, that may be a bug to look into (or simply an issue with your local network bandwidth).


#17

This is not a BUG is a bad implementation, intended to force you to pay for nestaware.
This is fully nonsense don’t even try to reply, I’ll sell my cam and buy something better.