mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-07-23 04:09:04 +03:00
Compare commits
3
Commits
dev
...
misc-fixes
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5136d72140 | ||
|
|
ed4dffec5f | ||
|
|
7ffb48b883 |
@@ -165,7 +165,7 @@ If available, recommended settings are:
|
|||||||
|
|
||||||
#### Setup via the Add Camera Wizard
|
#### Setup via the Add Camera Wizard
|
||||||
|
|
||||||
The Add Camera Wizard is the recommended way to add a standard Reolink camera. Before starting, make sure [HTTP is enabled](https://support.reolink.com/articles/360003452893-How-to-Access-Reolink-Cameras-NVRs-Home-Hub-Locally-via-Web-Browsers/) in the camera's advanced network settings. The wizard uses the camera's HTTP API to determine its resolution and choose the recommended stream type from the table above.
|
The [Add Camera Wizard](cameras.md#adding-a-camera-with-the-add-camera-wizard) is the recommended way to add a standard Reolink camera. Before starting, make sure [HTTP is enabled](https://support.reolink.com/articles/360003452893-How-to-Access-Reolink-Cameras-NVRs-Home-Hub-Locally-via-Web-Browsers/) in the camera's advanced network settings. The wizard uses the camera's HTTP API to determine its resolution and choose the recommended stream type from the table above.
|
||||||
|
|
||||||
1. Click **Add Camera** in <NavPath path="Settings > Global configuration > Camera management" />.
|
1. Click **Add Camera** in <NavPath path="Settings > Global configuration > Camera management" />.
|
||||||
2. Choose **Manual selection** as the stream detection method and select **Reolink** as the camera brand.
|
2. Choose **Manual selection** as the stream detection method and select **Reolink** as the camera brand.
|
||||||
|
|||||||
@@ -7,6 +7,49 @@ import ConfigTabs from "@site/src/components/ConfigTabs";
|
|||||||
import TabItem from "@theme/TabItem";
|
import TabItem from "@theme/TabItem";
|
||||||
import NavPath from "@site/src/components/NavPath";
|
import NavPath from "@site/src/components/NavPath";
|
||||||
|
|
||||||
|
## Adding a camera with the Add Camera Wizard
|
||||||
|
|
||||||
|
The Add Camera Wizard is the recommended way to add a camera. Click **Add Camera** in <NavPath path="Settings > Global configuration > Camera management" />. The wizard connects to your camera, tests each stream, and writes the camera's configuration for you, including the [go2rtc](go2rtc.md) restream and the live view stream mapping, so a standard setup needs no hand-written YAML.
|
||||||
|
|
||||||
|
### Step 1: Name and connection
|
||||||
|
|
||||||
|
Enter a name for the camera along with its host or IP address and credentials, then choose how the wizard should find the camera's streams:
|
||||||
|
|
||||||
|
- **Probe camera** queries the camera over ONVIF (the ONVIF port is usually 80 or 8080) and asks it for its stream URLs. Some cameras use a separate ONVIF/service account rather than the device admin user, and some require **Use digest authentication** to be enabled.
|
||||||
|
- **Manual selection** builds a stream URL from a template for the camera brand you pick (Dahua/Amcrest/EmpireTech, Hikvision/Uniview/Annke, Ubiquiti, Reolink, Axis, TP-Link, or Foscam). Choose **Other** to enter a custom RTSP URL directly. Non-RTSP stream types must be [configured manually](#setting-up-camera-inputs).
|
||||||
|
|
||||||
|
The name you enter is lowercased and spaces become underscores. If the result still isn't a valid config key, the wizard generates a safe name and stores what you typed as `friendly_name`.
|
||||||
|
|
||||||
|
### Step 2: Probe or snapshot
|
||||||
|
|
||||||
|
In probe mode, the wizard reports what the camera returned (manufacturer, model, firmware, profile count, and whether PTZ, presets, and [autotracking](autotracking.md) are supported) along with the RTSP URLs it discovered. Test each candidate to see its resolution, frame rate, and codecs together with a snapshot, then select the one you want to use.
|
||||||
|
|
||||||
|
In manual mode, the wizard tests the templated URL and shows the same metadata and snapshot.
|
||||||
|
|
||||||
|
If no RTSP URLs are found, the credentials may be wrong or the camera may not support ONVIF. Go back and use manual selection instead.
|
||||||
|
|
||||||
|
### Step 3: Stream configuration
|
||||||
|
|
||||||
|
Assign [roles](#setting-up-camera-inputs) to the stream, and use **Add Another Stream** to add the camera's other streams, for example a substream for `detect` alongside the main stream for `record`. At least one stream must have the `detect` role before you can continue.
|
||||||
|
|
||||||
|
**Reduce connections to camera** routes that input through the go2rtc restream so Frigate and the live view share a single connection to the camera instead of each opening their own. See [restream](restream.md) for more detail.
|
||||||
|
|
||||||
|
### Step 4: Validation and testing
|
||||||
|
|
||||||
|
Connect each stream to get a live preview, an estimated bandwidth figure, and a list of validation results. The wizard checks for the most common misconfigurations, including:
|
||||||
|
|
||||||
|
- A detect resolution that is too high (increased resource usage) or too low for reliable detection, or one it could not probe at all
|
||||||
|
- A stream marked `record` whose audio codec is not AAC, or that has no audio at all
|
||||||
|
- A stream marked `audio` that carries no audio stream
|
||||||
|
- Using a restreamed input for the `record` role
|
||||||
|
- Brand-specific issues, such as an RTSP stream on a Reolink camera that should use http-flv, or a Dahua/Hikvision substream selected for `detect`
|
||||||
|
|
||||||
|
**Use stream compatibility mode** passes the stream through go2rtc's ffmpeg module. Enable it if a stream fails to load after several attempts. Note that this also prevents [two way talk](/configuration/live#two-way-talk) from being detected for that stream.
|
||||||
|
|
||||||
|
**Save New Camera** writes the configuration and starts the camera right away. No restart is required.
|
||||||
|
|
||||||
|
Other features, including [hardware acceleration](hardware_acceleration_video.md), [two way talk](/configuration/live#two-way-talk), and audio transcoding, is configured after the camera has been added. For camera model specific quirks, see the [camera specific](camera_specific.md) docs.
|
||||||
|
|
||||||
## Setting Up Camera Inputs
|
## Setting Up Camera Inputs
|
||||||
|
|
||||||
Several inputs can be configured for each camera and the role of each input can be mixed and matched based on your needs. This allows you to use a lower resolution stream for object detection, but create recordings from a higher resolution stream, or vice versa.
|
Several inputs can be configured for each camera and the role of each input can be mixed and matched based on your needs. This allows you to use a lower resolution stream for object detection, but create recordings from a higher resolution stream, or vice versa.
|
||||||
@@ -69,7 +112,7 @@ Additional cameras are simply added under the camera configuration section.
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > Global configuration > Camera management" /> and use the add camera button to configure each additional camera.
|
Navigate to <NavPath path="Settings > Global configuration > Camera management" /> and use the [Add Camera Wizard](#adding-a-camera-with-the-add-camera-wizard) to configure each additional camera.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ Frigate uses the bundled go2rtc to power a number of key features:
|
|||||||
|
|
||||||
:::tip[Most users no longer need to configure go2rtc by hand]
|
:::tip[Most users no longer need to configure go2rtc by hand]
|
||||||
|
|
||||||
The **camera setup wizard** is the recommended way to add cameras. Click **Add Camera** in <NavPath path="Settings > Global configuration > Camera management" />, and the wizard probes your camera and writes its configuration for you, including the go2rtc restream and the live stream mapping, so go2rtc is set up automatically.
|
The [**camera setup wizard**](cameras.md#adding-a-camera-with-the-add-camera-wizard) is the recommended way to add cameras. Click **Add Camera** in <NavPath path="Settings > Global configuration > Camera management" />, and the wizard probes your camera and writes its configuration for you, including the go2rtc restream and the live stream mapping, so go2rtc is set up automatically.
|
||||||
|
|
||||||
This guide is mainly useful if you are **upgrading from an older version and have existing cameras that don't yet use go2rtc**, or if you want to fine-tune a stream by hand (for example, to transcode a codec your browser can't play). The [go2rtc troubleshooting guide](/troubleshooting/go2rtc) applies regardless of how your cameras were added.
|
This guide is mainly useful if you are **upgrading from an older version and have existing cameras that don't yet use go2rtc**, or if you want to fine-tune a stream by hand (for example, to transcode a codec your browser can't play). The [go2rtc troubleshooting guide](/troubleshooting/go2rtc) applies regardless of how your cameras were added.
|
||||||
|
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ At this point you should be able to start Frigate and a basic config will be cre
|
|||||||
|
|
||||||
### Step 2: Add a camera
|
### Step 2: Add a camera
|
||||||
|
|
||||||
Click the **Add Camera** button in <NavPath path="Settings > Global configuration > Camera management" /> to use the camera setup wizard to get your first camera added into Frigate.
|
Click the **Add Camera** button in <NavPath path="Settings > Global configuration > Camera management" /> to use the camera setup wizard to get your first camera added into Frigate. See [Adding a camera with the Add Camera Wizard](../configuration/cameras.md#adding-a-camera-with-the-add-camera-wizard) for a walkthrough of each step.
|
||||||
|
|
||||||
### Step 3: Configure hardware acceleration (recommended)
|
### Step 3: Configure hardware acceleration (recommended)
|
||||||
|
|
||||||
|
|||||||
@@ -115,9 +115,11 @@ class PendingReviewSegment:
|
|||||||
if self._frame is not None:
|
if self._frame is not None:
|
||||||
self.thumb_time = datetime.datetime.now().timestamp()
|
self.thumb_time = datetime.datetime.now().timestamp()
|
||||||
self.has_frame = True
|
self.has_frame = True
|
||||||
cv2.imwrite(
|
Path(self.frame_path).parent.mkdir(parents=True, exist_ok=True)
|
||||||
|
if not cv2.imwrite(
|
||||||
self.frame_path, self._frame, [int(cv2.IMWRITE_WEBP_QUALITY), 60]
|
self.frame_path, self._frame, [int(cv2.IMWRITE_WEBP_QUALITY), 60]
|
||||||
)
|
):
|
||||||
|
logger.error("Failed to write review thumbnail to %s", self.frame_path)
|
||||||
|
|
||||||
def save_full_frame(self, camera_config: CameraConfig, frame: np.ndarray) -> None:
|
def save_full_frame(self, camera_config: CameraConfig, frame: np.ndarray) -> None:
|
||||||
color_frame = cv2.cvtColor(frame, cv2.COLOR_YUV2BGR_I420)
|
color_frame = cv2.cvtColor(frame, cv2.COLOR_YUV2BGR_I420)
|
||||||
@@ -128,9 +130,11 @@ class PendingReviewSegment:
|
|||||||
|
|
||||||
if self._frame is not None:
|
if self._frame is not None:
|
||||||
self.has_frame = True
|
self.has_frame = True
|
||||||
cv2.imwrite(
|
Path(self.frame_path).parent.mkdir(parents=True, exist_ok=True)
|
||||||
|
if not cv2.imwrite(
|
||||||
self.frame_path, self._frame, [int(cv2.IMWRITE_WEBP_QUALITY), 60]
|
self.frame_path, self._frame, [int(cv2.IMWRITE_WEBP_QUALITY), 60]
|
||||||
)
|
):
|
||||||
|
logger.error("Failed to write review thumbnail to %s", self.frame_path)
|
||||||
|
|
||||||
def get_data(self, ended: bool) -> dict:
|
def get_data(self, ended: bool) -> dict:
|
||||||
end_time = None
|
end_time = None
|
||||||
|
|||||||
Reference in New Issue
Block a user