摄像头接入

云瞰 原生只接 RTSP 和 ONVIF。私有协议(Tapo / 小米 / Wyze 等)走 go2rtc 桥接成 RTSP 后再加进来。本章覆盖各种接入场景和高级特性。

ONVIF 自动发现(首选)

如果摄像头和 云瞰 在同一局域网,且摄像头开了 ONVIF(出厂默认开):

  1. 1

    扫描

    网页后台 → 摄像头 → 添加 → 选 "ONVIF 自动发现",几秒后列出局域网内所有 ONVIF 设备

  2. 2

    选目标

    看 IP / MAC / 厂商对得上自己的相机,点选

  3. 3

    填凭证

    ONVIF 用户名密码(不一定等于 RTSP 密码!海康/大华出厂常是 admin/12345 之类)

  4. 4

    保存

    云瞰 自动协商主码流 / 子码流地址,并把 PTZ / 对讲端口探测出来一起存好

ONVIF 返回错 IP

某些不规范固件会返回相机内部硬编码的 IP(如 192.168.1.99)而不是局域网真实地址。云瞰 加摄像头时会自动测试主+子码流,任一不通就拒绝保存。这种情况只能改用手动 RTSP。

手动 RTSP

ONVIF 不支持或拿到错地址时用手动方式。需要从厂商手册或 IPC App 里找 RTSP URL,常见格式:

品牌RTSP 主码流地址示例
海康(Hikvision)rtsp://用户:密码@IP:554/Streaming/Channels/101
大华(Dahua)rtsp://用户:密码@IP:554/cam/realmonitor?channel=1&subtype=0
TP-Link Vigi(IPC,非 Tapo)rtsp://用户:密码@IP:554/stream1
小米 / Aqara / 乐橙等私协不支持直连 RTSP,走下面 go2rtc 方案

用 VLC 验证

添加前先用 VLC(媒体 → 打开网络串流)粘贴 URL 验证能播。VLC 能播 云瞰 才能播;VLC 都播不了就不是 云瞰 的问题。

Tapo / 小米 / Wyze 等私协 → go2rtc 桥接

TP-Link Tapo C100/C200/C220、小米米家、Wyze 这类消费级摄像头不开标准 RTSP,但社区项目 go2rtc 能把它们桥接成 RTSP 让 云瞰 接入。

  1. 1

    起一个 go2rtc 容器

    和 云瞰 同一台机器即可,端口 1984 是 go2rtc 的网页界面、8554 是它对外提供的 RTSP。

    bash
    docker run -d --name go2rtc \
      --restart=always \
      --network host \
      -v $(pwd)/go2rtc.yaml:/config/go2rtc.yaml \
      alexxit/go2rtc
  2. 2

    在 go2rtc.yaml 里配相机

    Tapo 例:用 Tapo App 的访客账号即可。

    yaml
    streams:
      livingroom: tapo://访客密码@相机IP:554/stream1
      kitchen: tapo://访客密码@另一台IP:554/stream1
  3. 3

    在 云瞰 里加摄像头

    用 RTSP 手动方式,URL 填 rtsp://<go2rtc 主机IP>:8554/livingroom,凭证留空。

go2rtc 不在 云瞰 维护范围内,遇到问题去看 go2rtc 的 README。云瞰 这边只看到 RTSP 流,对接来源透明。

子码流的意义

ONVIF / 主流 IPC 都提供两路:主码流(高清,看 Live 用)和子码流(低清,AI 检测用)。云瞰 自动用 ONVIF 拿到子码流地址。手动 RTSP 时建议在第二个字段填子码流 URL,可以让检测节省 70%+ 带宽和 CPU。

子码流降资源

AI 检测分辨率 416x416 就够,喂 1080p 主码流是浪费。子码流通常是 640x360 / 480p,正合适。

视频编码:尽量选 H.264,不要 H.265

H.265 (HEVC) 同画质下码率比 H.264 低 40~50%,看上去很省,但浏览器播放支持很差——大多数用户进 Web 后台看 Live 或回放会黑屏 / 转圈。开摄像头前请把编码格式改成 H.264。

客户端H.264H.265 (HEVC)
Chrome / Edge (Windows / Linux)✅ 完美支持❌ 默认不解码,黑屏 / 转圈
Safari (macOS / iOS) / Chrome (macOS)✅ 完美支持✅ 支持,但部分老机型卡顿
云瞰 Android / iOS App✅ 完美支持✅ 原生播放器,完美支持

怎么改

登录摄像头自带的网页后台 → 视频 / 编码设置 → 视频编码改成 H.264主码流和子码流都要改。海康部分机型有 H.264+ 这种魔改格式,选标准 H.264 最稳。改完用 VLC 验证一次能正常播。

录像空间多一倍可以接受

H.264 比 H.265 占用约多一倍磁盘(1080p 约 21 GB / 路 / 天 vs H.265 约 10 GB),但换回所有浏览器后台都能直接看 Live + 回放,体验差距远大于磁盘成本。10 路保 30 天约 6.3 TB,按现在 HDD 价位完全划算。如果只用云瞰 App、从不开网页后台,那 H.265 也能省一半空间。

PTZ 控制(云台)

ONVIF 接入的相机如果支持 PTZ,Live 页面右下角自动出方向 / 缩放按钮。手动 RTSP 接入的不会自动启用,需要在摄像头详情里手动填 ONVIF 端口(通常 80 / 8000)和 PTZ 凭证。

对讲(Talkback)

支持 ONVIF 对讲通道的相机可以双向对讲(按住 App 上的麦克风按钮讲话,对方听得到)。网页后台暂不支持发起对讲,移动端(iOS / Android)才有按住 talk 按钮。

切相机要先松手

对讲是一个长连接喂音频。切相机时务必先松手再切,App 会自动结束旧会话再开新的——同时按住切相机会出现声音错位。

改 / 删摄像头注意事项

  • 改 RTSP URL 后,检测可能不会自动重启:因为针对该相机有 "检测失败" 状态记录,需要在摄像头详情里点 "清除检测错误" 才能重新跑
  • 删摄像头会同步删数据库记录和流媒体路径,但录像文件不删——避免误删丢证据。手动到 data/recordings/<id>/
  • 改名 / 改分组都不影响录像和事件历史

这三家是国内主流商用 IPC,全系标准 ONVIF + RTSP,云瞰 兼容性最好。出厂默认凭证:

品牌默认账号首次接入要点
海康admin / 自定义(首启时强制改)如果 ONVIF 拿不到流,登录相机网页启用 ONVIF 协议
大华admin / admin默认 ONVIF 端口 80 与 HTTP 共用
TP-Link Vigiadmin / 自定义出厂 ONVIF 关闭,要先用 Vigi App 启用

GB28181(中国国家標準 — Hikvision / Dahua / Uniview の NVR·IPC·DVR)

GB/T 28181 対応機器は SkyView に自動登録されます——カメラごとに RTSP アドレスを入力する必要はなく、1 台の NVR 配下の複数チャンネルも一括取り込みできます。Hikvision / Dahua / Uniview の国標 IPC・NVR・DVR の多くは「上位プラットフォーム接続(GB28181)」を内蔵しています。SkyView 0.9.13 以降が必要です。

既定はオフ — アップグレードは無影響

GB28181 がオフのときプロセスは空回りしポートも占有しないため、旧バージョンから上げて国標を使わないユーザーは一切影響を受けません。シグナリングポート 25060/udp、メディアポート 30000/udp。host ネットワーク(ワンクリックインストーラ / 単一イメージ / docker-compose の既定)では LAN 上に自動公開され、すぐに使えます。

ステップ 1 — SkyView で GB28181 を有効化

  1. 1

    スイッチをオン

    Web Admin → 設定 → GB28181 →「有効化」をオン。

  2. 2

    登録パスワードを設定

    機器に入力するプラットフォームパラメータが表示され、登録パスワード(全機器共通)を設定します。既定のパラメータはそのまま使えることがほとんどです。

  3. 3

    リモート接続は extern_host を設定

    機器と SkyView が別ネットワークの場合、機器から折り返し到達できる自分側のアドレス(グローバル IP やルーターでマッピングしたアドレス)を「extern_host」に入力します。同一サブネットの直結なら空欄で構いません。

  4. 4

    保存

    保存すると GB28181 サービスが 25060 で待ち受けを開始し、機器の登録を待ちます。

プラットフォームパラメータ既定値説明
プラットフォーム SIP ID / 上位 ID34020000002000000001機器側の「上位プラットフォーム国標 ID」に入力
SIP ドメイン / realm3402000000空欄で SIP ID の先頭 10 桁を自動使用
SIP サーバーアドレスSkyView ホストの LAN IP(例 192.168.1.50)機器から到達できる必要あり
SIP サーバーポート25060
登録パスワード任意に設定全機器共通

ステップ 2 — 機器 / NVR 側で「上位プラットフォーム」を設定

機器の Web 管理画面で「プラットフォーム接続 / GB28181 / 上位プラットフォーム」(呼称はベンダーで異なる)を開き、下表のとおり入力します。保存すると機器が自動登録され、NVR は配下の全チャンネルをまとめて報告します:

機器側の項目入力する値
上位 SIP サーバー IDSkyView の SIP ID(34020000002000000001)
SIP サーバードメインSkyView の SIP ドメイン(3402000000)
SIP サーバーアドレス / IPSkyView ホストのアドレス(ローカルは LAN IP、インターネット越しは extern_host のアドレス)
SIP サーバーポート25060
登録ユーザー名 / 機器の国標 ID機器内蔵の 20 桁国標 ID、または任意に作成
登録パスワードSkyView で設定した登録パスワード
トランスポートUDP

ステップ 3 — チャンネルを取り込み、通常のカメラとして使う

Web Admin → GB28181 ページ →「取り込み待ちの機器 / チャンネル」に、登録に成功した機器・NVR チャンネルが表示されます。使うチャンネルにチェックを入れて「取り込み」(複数選択可。NVR の全チャンネルを一度に取り込み)。取り込み後は通常のカメラと同じく、ライブ・録画・AI 検知・スナップショット・オンライン状態・PTZ + プリセット・双方向通話・機器側の録画再生がすべて使え、RTSP / ONVIF カメラと UI 上の違いはありません。

リモート / ネットワーク跨ぎの構成

機器と SkyView が別ネットワークの場合:① ルーター / ファイアウォールで 25060/udp30000/udp を SkyView ホストへ転送;② 設定の extern_host に機器から折り返し到達できる自分側アドレス(グローバル IP や DDNS)を必ず入力。さもないと「登録はできたが映像が出ない」状態になります。
ポートプロトコル用途
25060UDPGB28181 SIP シグナリング(登録 / カタログ / ストリーム起動停止)
30000UDPGB28181 RTP 受信(機器からのプッシュ。複数ストリームで 1 ポート共用)

つながらない / 映らないとき

登録できない:機器から SkyView ホストへ ping が通るか、25060/udp がファイアウォールで塞がれていないか・ポート転送済みか、SIP ID / ドメイン / パスワードが SkyView と一致しているか。登録できたが映らない:多くは extern_host 未設定や誤り(機器が折り返せない)。30000/udp の開放も確認。NVR の一部チャンネルしか出ない:オンラインのチャンネルは定期的に差分同期されます。少し待つか GB28181 ページを更新。オフラインのチャンネルは表示されません。
摄像头接入 - 云瞰 文档