koush / scrypted

Scrypted is a high performance video integration and automation platform
https://scrypted.app
Other
4.13k stars 248 forks source link

Error When Adding AXIS ONVIF Doorbell Camera #1585

Open digitalentropy opened 8 hours ago

digitalentropy commented 8 hours ago

Describe the bug Trying to add a new AXIS I8116-E Network Video Intercom using ONVIF plugin, and have had nothing but issues. It's unclear based on error messages if the issue is due to a camera configuration issue or a plugin issue.

To Reproduce Steps to reproduce the behavior:

  1. Factory-reset I8116-E Intercom (Running 11.11.79)
  2. Create ONVIF User
  3. Discover camera using ONVIF discovery OR add IP manually.
  4. Enter ONVIF Username and Password
  5. Click "Add"
  6. Device add fails with the following error: Error: Wrong SetVideoEncoderConfiguration responseError: Wrong SetVideoEncoderConfiguration responseError: Wrong SetVideoEncoderConfiguration response host:@scrypted/onvif engine.io-client:api

Expected behavior I expect the camera to be successfully added but it just fails. Regular HA Axis plugin seems to connect to the camera and stream fine. HA ONVIF plugin seems to connect fine as well.

Screenshots image

Server (please complete the following information):

Hardware Model (please complete the following information):

Additional context Currently running Scrypted v0.118.0

DMontgomery40 commented 2 hours ago

All Axis cams require you to set up your own streams; Axis calls the streams "ONVIF Media Profiles." You will have a stream by default; it's likely called profile_1_h264 or something similar. You also likely have an MJPEG stream. Follow the docs to create three streams, and note that "GOP"/"GOV" is a bit different from "keyframe interval"/"IDR." For example, if your frame rate is 30, GOP should be set at 120. (frame rate X 4)

Edit to add: Do NOT use the auto-configuration setting with Axis cams. Axis cams, as mentioned above, require creating your own streams. The Auto Config setting in scrypted cannot do that for you.