frigate/docs/i18n/zh/docusaurus-plugin-content-docs/current/configuration/camera_specific.md
2025-04-29 21:20:14 +08:00

7.7 KiB
Raw Blame History

id title
camera_specific 摄像头品牌特定配置

:::note

本页面使用了FFmpeg参数的预设。有关预设的更多信息请参阅FFmpeg预设页面。

:::

:::note

许多摄像头支持影响实时视图体验的编码选项,更多信息请参阅实时视图页面。

:::

MJPEG摄像头

注意MJPEG摄像头需要将视频编码为H264才能用于录制和重流角色。这将比直接支持H264的摄像头消耗更多CPU资源。建议使用重流角色创建H264重流然后将其作为ffmpeg的输入源。

go2rtc:
  streams:
    mjpeg_cam: "ffmpeg:http://your_mjpeg_stream_url#video=h264#hardware" # <- 使用硬件加速创建可用于其他组件的H264流

cameras:
  ...
  mjpeg_cam:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/mjpeg_cam
          roles:
            - detect
            - record

JPEG流摄像头

使用实时变化JPEG图像的摄像头需要如下输入参数

input_args: preset-http-jpeg-generic

流输出参数和注意事项与MJPEG摄像头相同

RTMP摄像头

RTMP摄像头需要调整输入参数

ffmpeg:
  input_args: preset-rtmp-generic

仅支持UDP的摄像头

如果您的摄像头不支持RTSP的TCP连接可以使用UDP。

ffmpeg:
  input_args: preset-rtsp-udp

品牌/型号特定设置

Amcrest & Dahua

Amcrest和Dahua摄像头应使用以下格式通过RTSP连接

rtsp://用户名:密码@摄像头IP/cam/realmonitor?channel=1&subtype=0 # 主码流
rtsp://用户名:密码@摄像头IP/cam/realmonitor?channel=1&subtype=1 # 子码流,通常仅支持低分辨率
rtsp://用户名:密码@摄像头IP/cam/realmonitor?channel=1&subtype=2 # 高端摄像头支持第三码流,中等分辨率(1280x720, 1920x1080)
rtsp://用户名:密码@摄像头IP/cam/realmonitor?channel=1&subtype=3 # 新款高端摄像头支持第四码流,另一中等分辨率(1280x720, 1920x1080)

Annke C800

此摄像头仅支持H.265。要在某些设备(如MacOS或iPhone)上播放片段,需要使用apple_compatibility配置调整H.265流。

cameras:
  annkec800: # <------ 摄像头名称
    ffmpeg:
      apple_compatibility: true # <- 增加与MacOS和iPhone的兼容性
      output_args:
        record: preset-record-generic-audio-aac

      inputs:
        - path: rtsp://用户名:密码@摄像头IP/H264/ch1/main/av_stream # <----- 根据您的摄像头更新
          roles:
            - detect
            - record
    detect:
      width: # <- 可选默认Frigate会尝试自动检测分辨率
      height: # <- 可选默认Frigate会尝试自动检测分辨率

Blue Iris RTSP摄像头

Blue Iris RTSP摄像头需要移除nobuffer标志

ffmpeg:
  input_args: preset-rtsp-blue-iris

Hikvision摄像头

Hikvision摄像头应使用以下格式通过RTSP连接

rtsp://用户名:密码@摄像头IP/streaming/channels/101 # 主码流
rtsp://用户名:密码@摄像头IP/streaming/channels/102 # 子码流,通常仅支持低分辨率
rtsp://用户名:密码@摄像头IP/streaming/channels/103 # 高端摄像头支持第三码流,中等分辨率(1280x720, 1920x1080)

:::note

部分用户报告新款Hikvision摄像头需要调整安全设置

RTSP认证 - digest/basic
RTSP摘要算法 - MD5
WEB认证 - digest/basic
WEB摘要算法 - MD5

:::

Reolink摄像头

Reolink有旧款摄像头(如410和520)和新款摄像头(如520a和511wa)支持不同的选项子集。两种情况下都建议使用HTTP流。 Frigate与配置了以下选项的新款Reolink摄像头配合使用效果更好

如果可用,推荐设置:

  • 开启,流畅优先 - 这将摄像头设置为CBR(恒定比特率)
  • 帧间空间1x - 这将I帧间隔设置为与帧率相同

根据此讨论HTTP视频流似乎是Reolink最可靠的选择。

通过Reolink NVR连接的摄像头可以使用HTTP流在流URL中使用channel[0..15]表示附加通道。 主码流也可以通过RTSP设置但并非在所有硬件版本上都可靠。以下示例配置适用于最老的RLN16-410设备和多种类型的摄像头。

:::warning

以下配置仅适用于流分辨率为5MP或更低的Reolink摄像头8MP+摄像头需要使用RTSP因为这种情况下不支持http-flv。

:::

go2rtc:
  streams:
    your_reolink_camera:
      - "ffmpeg:http://reolink_ip/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=username&password=password#video=copy#audio=copy#audio=opus"
    your_reolink_camera_sub:
      - "ffmpeg:http://reolink_ip/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=username&password=password"
    your_reolink_camera_via_nvr:
      - "ffmpeg:http://reolink_nvr_ip/flv?port=1935&app=bcs&stream=channel3_main.bcs&user=username&password=password" # 通道号为0-15
      - "ffmpeg:your_reolink_camera_via_nvr#audio=aac"
    your_reolink_camera_via_nvr_sub:
      - "ffmpeg:http://reolink_nvr_ip/flv?port=1935&app=bcs&stream=channel3_ext.bcs&user=username&password=password"

cameras:
  your_reolink_camera:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/your_reolink_camera
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/your_reolink_camera_sub
          input_args: preset-rtsp-restream
          roles:
            - detect
  reolink_via_nvr:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/your_reolink_camera_via_nvr?video=copy&audio=aac
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/your_reolink_camera_via_nvr_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect

Reolink门铃

Reolink门铃支持通过go2rtc和其他应用实现双向音频。重要的是为了稳定性仍要使用http-flv流可以添加一个仅用于双向音频的辅助RTSP流。

确保在摄像头的高级网络设置中启用了HTTP。要使用Frigate的双向通话功能请参阅实时视图文档

go2rtc:
  streams:
    your_reolink_doorbell:
      - "ffmpeg:http://reolink_ip/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=username&password=password#video=copy#audio=copy#audio=opus"
      - rtsp://reolink_ip/Preview_01_sub
    your_reolink_doorbell_sub:
      - "ffmpeg:http://reolink_ip/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=username&password=password"

Unifi Protect摄像头

Unifi Protect摄像头需要使用rtspx流与go2rtc配合。 要使用Unifi Protect摄像头将rtsps链接修改为以rtspx开头。 此外从Unifi链接末尾移除"?enableSrtp"。

go2rtc:
  streams:
    front:
      - rtspx://192.168.1.1:7441/abcdefghijk

更多信息请参阅go2rtc文档

在Unifi 2.0更新中Unifi Protect摄像头的音频采样率发生了变化导致ffmpeg出现问题。如果直接与Unifi Protect配合使用需要为录制设置输入采样率。

ffmpeg:
  output_args:
    record: preset-record-ubiquiti

TP-Link VIGI摄像头需要调整主码流设置以避免问题。需要将流配置为H264,并将智能编码设置为关闭。没有这些设置在尝试观看录制片段时可能会出现问题。例如Firefox会在播放几秒后停止并显示以下错误信息媒体播放因损坏问题或媒体使用了浏览器不支持的功能而中止。