mvf1 是面向 MultiViewer 的自动化控制工具,MultiViewer 是一款用于观看一级方程式(F1)等赛车赛事的视频播放器。该项目以 Python 包、命令行界面和 MCP 服务器三种形式提供控制能力。
【用途与定位】 项目主要用于对 MultiViewer 中的多个视频播放器进行统一控制,支持显示全部播放器、暂停全部播放器、获取指定播放器、切换指定播放器的流至数据频道、将所有播放器同步到指定播放器、将所有播放器同步到广播解说流、将已打开的播放器同步到实时计时(live timing)等操作。
【主要形态与能力】
- 命令行界面(CLI):可控制 MultiViewer,适合与 StreamDeck 等控制界面集成。
- Python 接口:提供 Pythonic 的编程控制方式,无需直接使用 GraphQL。
- MCP 服务器:基于 Model Context Protocol,可通过 stdio 方式在 AI 智能体框架中使用,适合让 AI 智能体控制赛事转播。文档给出了以 PydanticAI 为例的用法。MCP 客户端中的对应操作名为 player_sync_to_live_timing,其同步逻辑利用当前实时计时时钟、会话开始时间以及每条流的带符号偏移量,将匹配的已打开播放器定位到第一个已打开播放器的会话。
【安装与使用】 最新版本可通过 pip 安装。作为 MCP 服务器使用时,在 AI 智能体框架中按 stdio MCP 服务器的方式配置。
【开发与测试】 克隆 GitHub 仓库后,在虚拟环境中安装。项目使用 tox 进行测试,在项目根目录运行即可。
【适用场景】 适合需要对 MultiViewer 多画面播放器进行程序化或快捷控制的场景,包括与 StreamDeck 等硬件控制面板集成、通过 Python 脚本批量操作播放器、以及让 AI 智能体参与控制赛事转播流。
【限制与说明】 本包并非由 MultiViewer 或 Formula 1 TV 开发或维护。软件按“原样”提供,不附带任何明示或暗示的担保。项目采用 MIT 许可证发布。