DLNA 媒体服务器
让 NVR 成为一台 UPnP AV / DLNA 媒体服务器:局域网里的电视、安卓 TV 盒子和 网络播放器通过 SSDP 自动发现它——不用输 URL,不用装 App。浏览结构与录像 库一致:
MiBee NVR
├── 前门 (每个摄像头一个容器)
│ ├── 2026-10-15 (每个录像日一个容器)
│ │ ├── 12:00:00 (录像条目——直接播放)
│ │ └── ...
│ └── 2026-10-14
└── 房间麦克风 (独立音频源也会出现)
默认关闭——DLNA 协议本身没有鉴权模型,因此服务面只绑定到配置指定的 (或自动识别的内网)网卡,绝不跨远程访问 relay 或 P2P 隧道暴露。
启用
dlna:
enabled: true
port: 49152 # 每网卡 HTTP 端口
# interfaces: [eth0] # 限定网卡;留空 = 所有内网 IPv4 网卡
# friendly_name: "" # 播放器上显示的名字;默认取 server.device_name
修改后重启 NVR 生效。同样的字段也可在 设置 → DLNA 里编辑(启用开关、
端口、显示名称、网卡列表)——保存响应同样带 restart_required: true。SSDP
通告走 UDP 1900;设备描述、Browse 控制和录像下载走所绑网卡上的指定 TCP
端口。
播放器看到什么
- 条目就是录像文件本身——H.264/H.265(以及延时合成产物)是 MP4,MJPEG 录像是 AVI,独立音频源是音频 MP4。每个条目带编码/大小/时长元数据, 能不能播由播放器自己判断;拖动走 HTTP Range。
- 直播流不在此版本暴露——DLNA 播放器对直播源支持普遍很差,直播 请走 Web UI / WHEP。
- 浏览是只读的;不会经 DLNA 修改或删除任何录像。
故障排查
- 电视上看不到 NVR——确认电视与 NVR 在同一网段(SSDP 组播不跨路由/
访客网络)、
interfaces包含正确的网卡、两台设备之间 UDP 1900 和指定 TCP 端口未被拦截。 - 条目列得出但播不了——电视缺该编码的解码器(老电视常见于 H.265); 录像仍可随时经 Web UI 回放。
- 同一网络有两台 NVR——每台的 UUID 由主机名 + 存储根派生,互不冲突;
建议设置不同的
friendly_name便于区分。