跳到主要内容

摄像头品牌特定配置

备注

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

备注

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

Safari浏览器下的H.265摄像头支持

部分摄像头虽然支持H.265编码,但可能采用不同的封装格式。需注意Safari浏览器仅支持annexb格式的H.265流。当使用H.265摄像头进行录像且需要兼容Safari浏览器设备时,应当启用apple_compatibility配置选项。

cameras:
h265_cam: # <------ 摄像头名称可自定义
ffmpeg:
apple_compatibility: true # <- 启用MacOS和iPhone设备兼容模式

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)
备注

部分用户报告新款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设备和多种类型的摄像头。

注意

以下配置仅适用于流分辨率为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会在播放几秒后停止并显示以下错误信息:媒体播放因损坏问题或媒体使用了浏览器不支持的功能而中止。