I’m trying to add an Amcrest IP camera to my dashboard.
I’ve read the Amcrest help document and put this into my config yaml.
Nothing is showing in integrations or devices.
The documentation discusses a lot of other options but what is the minimum needed to get a stream?
What else needs to be done?
Camera works fine in BlueIris using ONVIF and port 80 for ONVIF.
Camera is a newer ASH47, so not on the list.
I have other Amcrest cams that should be on the list. So thanks for the link.
No errors. I have rebooted the whole HA system.
Question. For a change in the configuration yaml, can I just restart/reload the config yaml to make the changes effective? or do I need a complete reboot of the system?
I have the same problem. My camera is an Amcrest IP8M-2496EW-V2. The IP8M-2496 camera is on the Supported Cameras list.
I have no trouble connecting to the camera with a web browser or the Amcrest view application. But the camera does not appear in Home Assistant’s list of devices or integrations. (Update: I now think that the cameras don’t appear in the list of devices or integrations because they were added directly to config.yaml.) But the cameras also wouldn’t appear on Home Assistant’s Overview screen.
The Home Assistant error log gives a hint: <AMC06592CCA1190F65:AMC06592CCA1190F65> Trying again due to error: HTTPStatusError("Server error '500 Internal Server Error' for url 'http://10.5.5.17/cgi-bin/snapshot.cgi'
If I try this URL directly from a browser, the camera returns the same HTTP status 500.
I suspect that I need to make some configuration change to the camera, but I sure can’t figure out what that might be. Everything about the camera is working fine, except for this integration with Home Assistant.
Is there any documentation about how an Amcrest camera should be configured to work with Home Assistant?
The main stream is H.265; Smart Codec OFF; Resolution 3840x2160; 10 FPS; VBR
The substream is H.265; Smart Codec OFF; Resolution 704x480; 10 FPS; VBR
My cameras are at the far end of a wireless bridge with limited bandwidth, and I chose these parameters because they deliver great video quality over the link.
I have a whole bunch of amcrest cameras - however, rather than feed raw streams to HA, I run them through blue iris to record the streams and also give me motion notifications and alerts. If you’re not familiar and are interested, here is part 1 of a 3-part series:
I discovered why snapshots fail. The problem isn’t H.265 encoding. The problem is the “Snapshot Quality” setting within the camera. Some quality settings work. Some don’t.
The default quality setting is 5. The camera is unable to produce a snapshot at this quality setting. But reducing the quality to 1 allows snapshots to work.
The easiest way to test snapshots is using the curl command to speak directly to the camera: curl --digest --user '<username>:<password>' --verbose 'http://<camera IP address>/cgi-bin/snapshot.cgi'
With this command, you’ll see all the low-level details of how the camera responds over the wire.
I had the same problem – Amcrest cameras wouldn’t appear on my dashboard.
(They also don’t appear in the list of devices and integrations, but I think that’s expected because the cameras were added directly to config.yaml.)
No amount of fiddling and rebooting made them appear within Home Assistant. But yesterday I allowed my Home Assistant operating to update itself. After updating itself, it rebooted as
Home Assistant 2023.9.0
Supervisor 2023.08.3
Operating System 10.5
Frontend 20230906.1 - latest
My cameras magically appeared on the Overview page. I can click on them to view live video.
So it seems that the upgrade is what allowed them appear.
Why do you need to go through all that? Can you not simply use camera.snapshot? I didn’t have to configure anything to make mine work. Granted, I am using BlueIris in front of my Amcrest cameras, but my understanding is that camera.snapshot simply grabs a still image from the feed, and that is performed by HomeAssistant.
Perhaps I’m wrong, and there’s some magic behind the scenes that’s going on with the BlueIris integration, but… I didn’t have to adjust any quality settings or anything else, and I get excellent quality snapshots.
@exx - I can’t simply use camera.snapshot because the camera can’t produce a snapshot using factory default settings. It can’t do that because the snapshot would be too big for the camera to handle. To overcome this, I have to log in to the camera as an administrator and fiddle some camera settings to reduce the size of snapshots. This makes them work.
I suspect that you use a different technique to get snapshots. I suspect that you set up your camera so it feeds a constant video stream into BlueIris, and you set up Home Assistant to grab snapshots from BlueIris, not from the camera. This is just a theory, but it seems consistent with all the evidence here.
Snapshot is performed by HA. If there is an issue with snapshot it will technically be on HA side. A snapshot should be a single frame of the streamed video. If it can’t do snapshot then the stream should reflect problems as well
Hello @tmjpugh.
I connect my Amcrest camera to Home Assistant using Amcrest integration.
You say that Home Assistant is creating snapshots from a video stream. That isn’t happening in my case. Instead, Home Assistant periodically attempts to fetch a snapshot from my camera by making an HTTP request to http://<CAMERA-IP_ADDRESS>/cgi-bin/snapshot.cgi?channel=0&type=0
(It’s easy to log directly into the camera and see these requests being logged by the camera’s HTTP server. There’s no doubt about what’s happening.)
When the camera is configured using factory defaults, the snapshot requests fail with status 500.
When I reconfigure the camera to reduce its "Snapshot Quality” setting, the HTTP requests succeed, and the camera returns a JPEG snapshot image to Home Assistant.
Thus I conclude that the Amcrest IP8M-2496EW-V2 camera comes with factory default settings that cause snapshots to fail, and this can be fixed by changing the camera’s snapshot quality setting.