HogwartsWall互动墙系统 v1.0
霍格沃兹墙展厅软件是一套面向展厅互动墙的多媒体播放与触发系统。软件通过多个 Slot 组成互动区域,每个 Slot 可以显示待机媒体或程序化特效,并在触摸、鼠标、TUIO 或 UDP 控制命令触发后播放对应的主媒体内容。

主要功能如下:
- 多 Slot 独立展示、独立触发、独立事件配置。
- 支持待机图片、待机视频、触发主视频,以及程序化待机特效。
- 支持鼠标调试触发、TUIO 输入、外部 UDP 控制。
- 支持资源导入、资源扫描、孤立文件和重复文件检查。
- 支持授权校验、机器码复制和机器码二维码展示。
- Trial 授权最多允许运行 10 个 Slot,正式授权不限制 Slot 数量。
- 调试模式内可直接调整 Slot 位置、尺寸、旋转、缩放、触发区域和触发形状。
运行环境与发布包
推荐运行环境
| 项目 | 建议 |
|---|---|
| 操作系统 | Windows 10 / Windows 11 64 位 |
| 运行时 | .NET 8 Desktop Runtime |
| 显卡 | 支持 DirectX 11 的独立显卡 |
| 存储 | SSD,建议将素材放在本地磁盘 |
| 输入设备 | 鼠标、触摸屏、TUIO 兼容触摸设备 |
多视频同时播放对 CPU、显卡和磁盘性能要求较高。现场部署前建议用最终素材完整压测一次。
Trial 授权限制
当授权类型为 Trial 时,软件最多允许运行 10 个 Slot。
具体表现:
- 启动时如果
config.json中配置了超过 10 个 Slot,只加载前 10 个。 - 调试模式中新建 Slot 达到 10 个后会被阻止。
- 如果运行期间出现超过限制的 Slot,软件会自动移除超出部分。
- 调试面板会显示类似
Slot数: 10/10 (Trial)的数量提示。
正式授权不限制 Slot 数量,但仍建议根据硬件性能合理规划素材分辨率、码率和同时播放数量。
启动、关闭与日常运行
启动软件
- 确认
config.json、FFmpeg、Resources等文件和目录存在。 - 确认
license.lic已放到程序根目录。 - 双击
HogwartsWall.exe。 - 软件加载配置、授权和媒体资源后进入运行画面。
软件使用向导: https://www.tree666.com/page/hogwartswall/
关闭软件
- 按
Alt+F4关闭。
调试模式
按 M 键可以切换调试模式。调试模式用于现场配置、素材绑定、触发测试和排查问题。
调试模式中会显示调试面板,包含:
- FPS、内存占用、触点数、Slot 数。
- 当前分辨率。
- TUIO 和鼠标输入状态。
- 当前选中 Slot 的位置、尺寸、旋转、缩放和触发区信息。
- 快捷键帮助、授权信息、关于窗口入口。
Slot 与媒体内容
Slot 是什么
Slot 是软件中的基本互动单元。一个 Slot 通常包含:
- 待机内容:图片、视频或程序化特效。
- 主内容:触发后播放的视频或图片。
- 显示区域:位置、尺寸、旋转、缩放。
- 触发区域:触摸或鼠标命中的区域。
- 事件动作:触发时或播放完成时向外部系统发送 UDP 消息。
Slot 常见状态:
| 状态 | 说明 |
|---|---|
Idle | 待机状态,显示待机内容 |
FadingIn | 从待机内容淡入主内容 |
Playing | 主内容播放中 |
FadingOut | 主内容结束后淡出回待机内容 |
绑定媒体
进入调试模式后,右键点击 Slot,可在菜单中选择:
- “绑定 Idle 媒体...”:设置待机图片或待机视频。
- “绑定 Main 媒体...”:设置触发后播放的主媒体。
- “设置为程序化特效...”:将待机内容切换为程序化特效。
- “编辑特效参数...”:编辑当前程序化特效。
- “切换为视频/图片模式...”:从程序化特效切回普通媒体模式。
- “事件配置...”:配置触发事件和播放完成事件。
- “资源管理器...”:打开资源管理器并查看素材。
- “删除此 Slot...”:删除当前 Slot。
绑定媒体时,程序会将外部文件复制到 Resources 目录,并在 config.json 中保存相对路径。
媒体文件建议
| 类型 | 建议 |
|---|---|
| 待机图片 | PNG / JPG,优先使用 PNG |
| 待机视频 | MP4,循环感强,尽量控制码率 |
| 主视频 | MP4 / MOV 等常见格式,分辨率与实际显示尺寸匹配 |
| 命名 | 推荐英文、数字、下划线,避免过长文件名 |
| 存储 | 使用本机 SSD,不建议直接从网络盘播放 |
素材分辨率和码率越高,对显卡、CPU 和磁盘压力越大。多个 Slot 同时播放时,应优先优化素材体积和分辨率。
资源管理器
资源管理器用于查看和清理 Resources 目录中的素材文件。
打开方式:
- 按
Ctrl+R。 - 调试模式中右键 Slot,选择“资源管理器...”。
主要功能:
- 扫描当前资源目录。
- 显示资源总数、已使用资源、孤立文件、重复文件。
- 按状态和文件类型筛选资源。
- 查看资源被哪些 Slot 使用。
- 导出资源报告。
- 归档或清理孤立文件、重复文件。
清理资源前建议先确认 config.json 已保存,并确认当前项目不再需要这些素材。资源管理器可以帮助发现无用文件,但最终删除前仍应由现场维护人员确认。
配置文件说明
配置文件位置
主配置文件位于程序根目录:
HogwartsWall\config.json
调试模式中的大部分修改,需要按 Ctrl+S 保存后才会写入 config.json。
UDP 控制与外部集成
外部控制软件
如果 EnableUdpControl 为 true,软件会监听 UdpControlPort 端口。默认端口为 8976。
当前支持命令:
| 命令 | 说明 |
|---|---|
TRIGGER:SlotId | 触发指定 Slot |
STOP:SlotId | 停止指定 Slot,回到待机状态 |
PLAYALL | 触发所有 Slot |
STOPALL | 停止所有 Slot |
注意命令中使用英文冒号 : 分隔,不是空格。
示例:
TRIGGER:Slot1
STOP:Slot1
PLAYALL
STOPALLPowerShell 发送示例:
$message = "TRIGGER:Slot1"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($message)
$udp = [System.Net.Sockets.UdpClient]::new()
$udp.Send($bytes, $bytes.Length, "127.0.0.1", 8976) | Out-Null
$udp.Close()
Python 发送示例:
import socket
message = "TRIGGER:Slot1"
sock = socket.socket(socket.AFINET, socket.SOCKDGRAM)
sock.sendto(message.encode("utf-8"), ("127.0.0.1", 8976))
sock.close()
日志与故障排查
日志位置
日志默认写入程序根目录下的 logs 文件夹,例如:
HogwartsWall\logs\log-2026-06-14.txt排查问题时,建议同时提供:
- 问题发生时间。
config.json。- 最近的日志文件。
- 授权状态截图或授权申请信息。
- 现场操作步骤。
快速操作索引
| 目标 | 操作 |
|---|---|
| 启动软件 | 双击 HogwartsWall.exe |
| 进入调试模式 | 按 M |
| 打开授权信息 | 调试模式按 L |
| 复制授权申请信息 | 授权窗口点击“复制机器码” |
| 显示授权申请二维码 | 授权窗口点击“显示二维码” |
| 新建 Slot | 调试模式按 N |
| 在指定位置新建 Slot | Ctrl + 鼠标右键 |
| 保存配置 | Ctrl+S |
| 重载配置 | F5 |
| 打开资源管理器 | Ctrl+R |
| 绑定媒体 | 调试模式右键 Slot |
| 编辑特效 | 选中 Slot 后按 P |
| 配置事件 | 调试模式右键 Slot,选择“事件配置...” |
| 退出软件 | 按 Alt+F4 |
视频教程
更新日志
v1.0(2026/07/01)
- 第一个版本



还没有评论,来说两句吧...