From 4e997124b328fcfc299db09c971b6961de31f199 Mon Sep 17 00:00:00 2001 From: Blake Blackshear Date: Mon, 4 Oct 2021 07:18:53 -0500 Subject: [PATCH] update latest recommendations for reolink --- docs/docs/configuration/camera_specific.md | 42 ++++++++++++++++++++- docs/docs/hardware.md | 2 + docs/static/img/reolink-settings.png | Bin 0 -> 12865 bytes 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 docs/static/img/reolink-settings.png diff --git a/docs/docs/configuration/camera_specific.md b/docs/docs/configuration/camera_specific.md index 16b1c5e0b..b737a5605 100644 --- a/docs/docs/configuration/camera_specific.md +++ b/docs/docs/configuration/camera_specific.md @@ -19,7 +19,7 @@ output_args: rtmp: -c:v libx264 -an -f flv ``` -### RTMP Cameras (Reolink 410/520 and possibly others) +### RTMP Cameras The input parameters need to be adjusted for RTMP cameras @@ -28,6 +28,46 @@ ffmpeg: input_args: -avoid_negative_ts make_zero -fflags nobuffer -flags low_delay -strict experimental -fflags +genpts+discardcorrupt -rw_timeout 5000000 -use_wallclock_as_timestamps 1 -f live_flv ``` +### Reolink 410/520 (possibly others) + +According to [this discussion](https://github.com/blakeblackshear/frigate/issues/1713#issuecomment-932976305), the http video streams seem to be the most reliable for Reolink. + +```yaml +cameras: + reolink: + ffmpeg: + hwaccel_args: + input_args: + - -avoid_negative_ts + - make_zero + - -fflags + - nobuffer+genpts+discardcorrupt + - -flags + - low_delay + - -strict + - experimental + - -analyzeduration + - 1000M + - -probesize + - 1000M + - -rw_timeout + - "5000000" + inputs: + - path: http://reolink_ip/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=username&password=password + roles: + - record + - rtmp + - path: http://reolink_ip/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=username&password=password + roles: + - detect + detect: + width: 640 + height: 480 + fps: 7 +``` + +![Resolutions](/img/reolink-settings.png) + ### Blue Iris RTSP Cameras You will need to remove `nobuffer` flag for Blue Iris RTSP cameras diff --git a/docs/docs/hardware.md b/docs/docs/hardware.md index 3aae0a473..6e9c6c8a3 100644 --- a/docs/docs/hardware.md +++ b/docs/docs/hardware.md @@ -9,6 +9,8 @@ Cameras that output H.264 video and AAC audio will offer the most compatibility I recommend Dahua, Hikvision, and Amcrest in that order. Dahua edges out Hikvision because they are easier to find and order, not because they are better cameras. I personally use Dahua cameras because they are easier to purchase directly. In my experience Dahua and Hikvision both have multiple streams with configurable resolutions and frame rates and rock solid streams. They also both have models with large sensors well known for excellent image quality at night. Not all the models are equal. Larger sensors are better than higher resolutions; especially at night. Amcrest is the fallback recommendation because they are rebranded Dahuas. They are rebranding the lower end models with smaller sensors or less configuration options. +Many users have reported various issues with Reolink cameras, so I do not recommend them. If you are using Reolink, I suggest the [Reolink specific configuration](configuration/camera_specific#reolink-410520-possibly-others). Wifi cameras are also not recommended. Their streams are less reliable and cause connection loss and/or lost video data. + Here are some of the camera's I recommend: - [Loryta(Dahua) T5442TM-AS-LED](https://amzn.to/2Wck2hQ) (affiliate link) diff --git a/docs/static/img/reolink-settings.png b/docs/static/img/reolink-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb043f325679ffd5aa4f2cb7ad1d2ee0fb38af1 GIT binary patch literal 12865 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 Im7hocFUbdnJpcdz literal 0 HcmV?d00001