Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support details for Sunba 405-D20X 4K camera. #14352

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

ltomes
Copy link

@ltomes ltomes commented Oct 15, 2024

Proposed change

I added some documentation details for my camera.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code
  • Documentation

Additional information

Camera configuration as pulled by gonvif (Let me know if you expect this camera to work with autotracking, and I will close this MR and open a discussion):

{
  "Profiles": [
    {
      "Name": "mainStream",
      "VideoSourceConfiguration": {
        "Name": "V_SRC_CFG_000",
        "UseCount": 3,
        "token": "V_SRC_000",
        "SourceToken": "V_SRC_000",
        "Bounds": {
          "x": 0,
          "y": 0,
          "width": 4096,
          "height": 2160
        }
      },
      "AudioSourceConfiguration": {
        "Name": "A_SRC_CFG_000",
        "UseCount": 2,
        "token": "A_SRC_CFG_000",
        "SourceToken": "AudioSourceToken"
      },
      "VideoEncoderConfiguration": {
        "Name": "V_ENC_000",
        "UseCount": 1,
        "token": "000",
        "Encoding": "H264",
        "Resolution": {
          "Width": 4096,
          "Height": 2160
        },
        "Quality": 3,
        "RateControl": {
          "FrameRateLimit": 17,
          "BitrateLimit": 3828
        },
        "H264": {
          "GovLength": 34,
          "H264Profile": "Main"
        },
        "Multicast": {
          "Address": {
            "Type": "IPv4",
            "IPv4Address": "239.0.1.0"
          },
          "Port": 32002,
          "TTL": 2
        },
        "SessionTimeout": "PT10S"
      },
      "AudioEncoderConfiguration": {
        "Name": "A_ENC_000",
        "UseCount": 2,
        "token": "A_ENC_000",
        "Encoding": "G711",
        "Bitrate": 128,
        "SampleRate": 8,
        "Multicast": {
          "Address": {
            "Type": "IPv4",
            "IPv4Address": "239.0.1.0"
          },
          "Port": 32002,
          "TTL": 2
        },
        "SessionTimeout": "PT10S"
      },
      "VideoAnalyticsConfiguration": {
        "Name": "VideoAnalytics",
        "UseCount": 3,
        "token": "AnalyticsToken_0",
        "AnalyticsEngineConfiguration": {
          "AnalyticsModule": [
            {
              "Parameters": {
                "SimpleItem": [
                  {
                    "Name": "Sensitivity",
                    "Value": "50"
                  }
                ],
                "ElementItem": [
                  {
                    "Name": "Layout"
                  }
                ]
              },
              "Name": "MyCellMotionModule",
              "Type": "tt:CellMotionEngine"
            },
            {
              "Parameters": {
                "SimpleItem": [
                  {
                    "Name": "Sensitivity",
                    "Value": "50"
                  }
                ],
                "ElementItem": [
                  {
                    "Name": "Transformation"
                  },
                  {
                    "Name": "Field"
                  }
                ]
              },
              "Name": "MyTamperDetecModule",
              "Type": "tt:TamperEngine"
            }
          ]
        },
        "RuleEngineConfiguration": {
          "Rule": [
            {
              "Parameters": {
                "SimpleItem": [
                  {
                    "Name": "MinCount",
                    "Value": "5"
                  },
                  {
                    "Name": "AlarmOnDelay",
                    "Value": "100"
                  },
                  {
                    "Name": "AlarmOffDelay",
                    "Value": "100"
                  },
                  {
                    "Name": "ActiveCells",
                    "Value": "0P8A8A=="
                  }
                ]
              },
              "Name": "MyMotionDetectorRule",
              "Type": "tt:CellMotionDetector"
            },
            {
              "Parameters": {
                "ElementItem": [
                  {
                    "Name": "Field"
                  }
                ]
              },
              "Name": "MyTamperDetectorRule",
              "Type": "tt:TamperDetector"
            }
          ]
        }
      },
      "PTZConfiguration": {
        "Name": "PTZConfiguration",
        "UseCount": 3,
        "token": "PTZConfigurationToken",
        "NodeToken": "NODE_000",
        "DefaultAbsolutePantTiltPositionSpace": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace",
        "DefaultAbsoluteZoomPositionSpace": "http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace",
        "DefaultRelativePanTiltTranslationSpace": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace",
        "DefaultRelativeZoomTranslationSpace": "http://www.onvif.org/ver10/tptz/ZoomSpaces/TranslationGenericSpace",
        "DefaultContinuousPanTiltVelocitySpace": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace",
        "DefaultContinuousZoomVelocitySpace": "http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace",
        "DefaultPTZSpeed": {
          "PanTilt": {
            "x": 0.5,
            "y": 0.5,
            "space": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/GenericSpeedSpace"
          },
          "Zoom": {
            "x": 0.5,
            "space": "http://www.onvif.org/ver10/tptz/ZoomSpaces/ZoomGenericSpeedSpace"
          }
        },
        "DefaultPTZTimeout": "PT5S",
        "PanTiltLimits": {
          "Range": {
            "URI": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace",
            "XRange": {
              "Min": -1,
              "Max": 1
            },
            "YRange": {
              "Min": -1,
              "Max": 1
            }
          }
        },
        "ZoomLimits": {
          "Range": {
            "URI": "http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace",
            "XRange": {
              "Min": 0,
              "Max": 1
            }
          }
        },
        "Extension": {
          "PTControlDirection": {
            "EFlip": {
              "Mode": "OFF"
            },
            "Reverse": {
              "Mode": "OFF"
            }
          }
        }
      },
      "Extension": {},
      "token": "000",
      "fixed": true
    },
    {
      "Name": "subStream",
      "VideoSourceConfiguration": {
        "Name": "V_SRC_CFG_000",
        "UseCount": 3,
        "token": "V_SRC_000",
        "SourceToken": "V_SRC_000",
        "Bounds": {
          "x": 0,
          "y": 0,
          "width": 4096,
          "height": 2160
        }
      },
      "AudioSourceConfiguration": {
        "Name": "A_SRC_CFG_000",
        "UseCount": 2,
        "token": "A_SRC_CFG_000",
        "SourceToken": "AudioSourceToken"
      },
      "VideoEncoderConfiguration": {
        "Name": "V_ENC_001",
        "UseCount": 1,
        "token": "001",
        "Encoding": "H264",
        "Resolution": {
          "Width": 800,
          "Height": 448
        },
        "Quality": 4,
        "RateControl": {
          "FrameRateLimit": 15,
          "BitrateLimit": 578
        },
        "H264": {
          "GovLength": 30,
          "H264Profile": "Main"
        },
        "Multicast": {
          "Address": {
            "Type": "IPv4",
            "IPv4Address": "239.0.1.0"
          },
          "Port": 32002,
          "TTL": 2
        },
        "SessionTimeout": "PT10S"
      },
      "AudioEncoderConfiguration": {
        "Name": "A_ENC_000",
        "UseCount": 2,
        "token": "A_ENC_000",
        "Encoding": "G711",
        "Bitrate": 128,
        "SampleRate": 8,
        "Multicast": {
          "Address": {
            "Type": "IPv4",
            "IPv4Address": "239.0.1.0"
          },
          "Port": 32002,
          "TTL": 2
        },
        "SessionTimeout": "PT10S"
      },
      "VideoAnalyticsConfiguration": {
        "Name": "VideoAnalytics",
        "UseCount": 3,
        "token": "AnalyticsToken_0",
        "AnalyticsEngineConfiguration": {
          "AnalyticsModule": [
            {
              "Parameters": {
                "SimpleItem": [
                  {
                    "Name": "Sensitivity",
                    "Value": "50"
                  }
                ],
                "ElementItem": [
                  {
                    "Name": "Layout"
                  }
                ]
              },
              "Name": "MyCellMotionModule",
              "Type": "tt:CellMotionEngine"
            },
            {
              "Parameters": {
                "SimpleItem": [
                  {
                    "Name": "Sensitivity",
                    "Value": "50"
                  }
                ],
                "ElementItem": [
                  {
                    "Name": "Transformation"
                  },
                  {
                    "Name": "Field"
                  }
                ]
              },
              "Name": "MyTamperDetecModule",
              "Type": "tt:TamperEngine"
            }
          ]
        },
        "RuleEngineConfiguration": {
          "Rule": [
            {
              "Parameters": {
                "SimpleItem": [
                  {
                    "Name": "MinCount",
                    "Value": "5"
                  },
                  {
                    "Name": "AlarmOnDelay",
                    "Value": "100"
                  },
                  {
                    "Name": "AlarmOffDelay",
                    "Value": "100"
                  },
                  {
                    "Name": "ActiveCells",
                    "Value": "0P8A8A=="
                  }
                ]
              },
              "Name": "MyMotionDetectorRule",
              "Type": "tt:CellMotionDetector"
            },
            {
              "Parameters": {
                "ElementItem": [
                  {
                    "Name": "Field"
                  }
                ]
              },
              "Name": "MyTamperDetectorRule",
              "Type": "tt:TamperDetector"
            }
          ]
        }
      },
      "PTZConfiguration": {
        "Name": "PTZConfiguration",
        "UseCount": 3,
        "token": "PTZConfigurationToken",
        "NodeToken": "NODE_000",
        "DefaultAbsolutePantTiltPositionSpace": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace",
        "DefaultAbsoluteZoomPositionSpace": "http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace",
        "DefaultRelativePanTiltTranslationSpace": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace",
        "DefaultRelativeZoomTranslationSpace": "http://www.onvif.org/ver10/tptz/ZoomSpaces/TranslationGenericSpace",
        "DefaultContinuousPanTiltVelocitySpace": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace",
        "DefaultContinuousZoomVelocitySpace": "http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace",
        "DefaultPTZSpeed": {
          "PanTilt": {
            "x": 0.5,
            "y": 0.5,
            "space": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/GenericSpeedSpace"
          },
          "Zoom": {
            "x": 0.5,
            "space": "http://www.onvif.org/ver10/tptz/ZoomSpaces/ZoomGenericSpeedSpace"
          }
        },
        "DefaultPTZTimeout": "PT5S",
        "PanTiltLimits": {
          "Range": {
            "URI": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace",
            "XRange": {
              "Min": -1,
              "Max": 1
            },
            "YRange": {
              "Min": -1,
              "Max": 1
            }
          }
        },
        "ZoomLimits": {
          "Range": {
            "URI": "http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace",
            "XRange": {
              "Min": 0,
              "Max": 1
            }
          }
        },
        "Extension": {
          "PTControlDirection": {
            "EFlip": {
              "Mode": "OFF"
            },
            "Reverse": {
              "Mode": "OFF"
            }
          }
        }
      },
      "Extension": {},
      "token": "001",
      "fixed": true
    },
    {
      "Name": "snapStream",
      "VideoSourceConfiguration": {
        "Name": "V_SRC_CFG_000",
        "UseCount": 3,
        "token": "V_SRC_000",
        "SourceToken": "V_SRC_000",
        "Bounds": {
          "x": 0,
          "y": 0,
          "width": 4096,
          "height": 2160
        }
      },
      "VideoEncoderConfiguration": {
        "Name": "V_ENC_002",
        "UseCount": 1,
        "token": "002",
        "Encoding": "JPEG",
        "Resolution": {
          "Width": 704,
          "Height": 480
        },
        "Quality": 4,
        "RateControl": {
          "FrameRateLimit": 1,
          "BitrateLimit": 512
        },
        "Multicast": {
          "Address": {
            "Type": "IPv4",
            "IPv4Address": "239.0.1.0"
          },
          "Port": 32002,
          "TTL": 2
        },
        "SessionTimeout": "PT10S"
      },
      "VideoAnalyticsConfiguration": {
        "Name": "VideoAnalytics",
        "UseCount": 3,
        "token": "AnalyticsToken_0",
        "AnalyticsEngineConfiguration": {
          "AnalyticsModule": [
            {
              "Parameters": {
                "SimpleItem": [
                  {
                    "Name": "Sensitivity",
                    "Value": "50"
                  }
                ],
                "ElementItem": [
                  {
                    "Name": "Layout"
                  }
                ]
              },
              "Name": "MyCellMotionModule",
              "Type": "tt:CellMotionEngine"
            },
            {
              "Parameters": {
                "SimpleItem": [
                  {
                    "Name": "Sensitivity",
                    "Value": "50"
                  }
                ],
                "ElementItem": [
                  {
                    "Name": "Transformation"
                  },
                  {
                    "Name": "Field"
                  }
                ]
              },
              "Name": "MyTamperDetecModule",
              "Type": "tt:TamperEngine"
            }
          ]
        },
        "RuleEngineConfiguration": {
          "Rule": [
            {
              "Parameters": {
                "SimpleItem": [
                  {
                    "Name": "MinCount",
                    "Value": "5"
                  },
                  {
                    "Name": "AlarmOnDelay",
                    "Value": "100"
                  },
                  {
                    "Name": "AlarmOffDelay",
                    "Value": "100"
                  },
                  {
                    "Name": "ActiveCells",
                    "Value": "0P8A8A=="
                  }
                ]
              },
              "Name": "MyMotionDetectorRule",
              "Type": "tt:CellMotionDetector"
            },
            {
              "Parameters": {
                "ElementItem": [
                  {
                    "Name": "Field"
                  }
                ]
              },
              "Name": "MyTamperDetectorRule",
              "Type": "tt:TamperDetector"
            }
          ]
        }
      },
      "PTZConfiguration": {
        "Name": "PTZConfiguration",
        "UseCount": 3,
        "token": "PTZConfigurationToken",
        "NodeToken": "NODE_000",
        "DefaultAbsolutePantTiltPositionSpace": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace",
        "DefaultAbsoluteZoomPositionSpace": "http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace",
        "DefaultRelativePanTiltTranslationSpace": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace",
        "DefaultRelativeZoomTranslationSpace": "http://www.onvif.org/ver10/tptz/ZoomSpaces/TranslationGenericSpace",
        "DefaultContinuousPanTiltVelocitySpace": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace",
        "DefaultContinuousZoomVelocitySpace": "http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace",
        "DefaultPTZSpeed": {
          "PanTilt": {
            "x": 0.5,
            "y": 0.5,
            "space": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/GenericSpeedSpace"
          },
          "Zoom": {
            "x": 0.5,
            "space": "http://www.onvif.org/ver10/tptz/ZoomSpaces/ZoomGenericSpeedSpace"
          }
        },
        "DefaultPTZTimeout": "PT5S",
        "PanTiltLimits": {
          "Range": {
            "URI": "http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace",
            "XRange": {
              "Min": -1,
              "Max": 1
            },
            "YRange": {
              "Min": -1,
              "Max": 1
            }
          }
        },
        "ZoomLimits": {
          "Range": {
            "URI": "http://www.onvif.org/ver10/tptz/ZoomSpaces/PositionGenericSpace",
            "XRange": {
              "Min": 0,
              "Max": 1
            }
          }
        },
        "Extension": {
          "PTControlDirection": {
            "EFlip": {
              "Mode": "OFF"
            },
            "Reverse": {
              "Mode": "OFF"
            }
          }
        }
      },
      "Extension": {},
      "token": "002",
      "fixed": true
    }
  ]
}

Checklist

  • The code change is tested and works locally.
  • [] Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • [] The code has been formatted using Ruff (ruff format frigate)

Copy link

netlify bot commented Oct 15, 2024

Deploy Preview for frigate-docs ready!

Name Link
🔨 Latest commit e4ab237
🔍 Latest deploy log https://app.netlify.com/sites/frigate-docs/deploys/670dcbd106548900088cb482
😎 Deploy Preview https://deploy-preview-14352--frigate-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant