核心用法
catt(Cast All The Things)是基于 Python 的命令行工具,通过 pip 或 uv 安装后可在同一局域网内发现并控制 Chromecast 及 Google Cast 设备。核心工作流为:先用 catt scan 发现设备,通过 -d 参数指定目标设备,执行投屏或控制命令。
投屏能力:支持 URL(YouTube、Vimeo 等数百个 yt-dlp 支持的站点)、本地视频文件、网页投屏,可外挂字幕、指定起始时间、随机播放播放列表项。
播放控制:提供 play/pause/stop、快进/快退、音量调节、静音等完整遥控器功能。
高级功能:YouTube 队列管理(add/remove/clear)、当前播放状态保存与恢复、设备别名配置等。
显著优点
- 跨平台纯本地:无需 Google Home App 或云账户,完全局域网内操作
- 协议兼容广:底层基于 yt-dlp,支持数百个视频站点
- 脚本友好:支持阻塞等待(
-b)、配置文件、别名系统,易于自动化集成 - 功能完整:字幕、seek、队列管理等覆盖日常投屏需求
潜在缺点与局限性
- 网络依赖严格:必须与 Chromecast 同网段,mDNS 被屏蔽时需手动指定 IP
- 本地文件端口要求:需开放 TCP 45000-47000 端口,部分企业/公共网络受限
- 无图形界面:纯命令行工具,对非技术用户有学习门槛
- YouTube 队列限制:队列管理仅针对 YouTube 内容,其他源不支持
- 依赖 yt-dlp:站点支持随 yt-dlp 更新变化,个别站点可能失效
适合人群
技术用户、开发者、智能家居自动化爱好者,以及偏好命令行效率、希望避免云服务和手机 App 投屏场景的用户。
常规风险
- 网络安全:开放本地端口可能暴露媒体文件,建议在可信内网使用
- 配置持久化:设备别名和默认配置明文存储于
~/.config/catt/catt.cfg - URL 投屏安全:依赖 yt-dlp 解析外部链接,存在解析恶意 URL 的潜在风险