Cast All The Things
Cast All The Things 允许你将来自众多在线 来源(YouTube、Vimeo 以及数百个其他平台)的视频发送到你的 Chromecast。 它还允许你投屏本地文件或渲染网站。
Installation
你可以使用 uv 在不安装的情况下运行 Cast All The Things:
uvx catt
你可以使用 pipx 安装 Cast All The Things:
pipx install catt
或者使用 pip,但效果没那么好:
pip3 install catt
catt 需要 Python 3.11 或更高版本。对于较旧的 Python 版本,
你可以安装 catt 的 0.12.x 版本,该版本支持 Python 3.7+。
Usage
要使用 Cast All The Things,只需指定一个 URL:
catt cast "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
catt 支持 yt-dlp 支持的任何服务,其中包括大多数
在线视频托管服务。
catt 还可以投屏本地文件(如果它们的格式是 Chromecast
原生支持的):
catt cast ./myvideo.mp4
你还可以通过 catt 命令控制你的 Chromecast,例如使用 catt pause。尝试运行 catt --help 以查看完整的
命令列表。
如果你有字幕,且名称与本地
文件名称相似,catt 会自动添加它们。当然,你也可以
指定其他任何字幕。尽管 Chromecast 仅支持
WEBVTT、TTML 和 Line 21 字幕,但 catt 会方便地为你即时将 SRT 转换为
WEBVTT。以下是使用方法:
catt cast -s ./mysubtitle.srt /myvideo.mp4
catt 还可以让你的 Chromecast 显示任何网站:
catt cast_site https://en.wikipedia.org/wiki/Rickrolling
请注意,Chromecast 的 CPU 速度较慢,但运行着相对较新版本的 Google Chrome。显示分辨率为 1280x720。
如果您想通过 [-y]{.title-ref} 命令行标志将 yt-dlp 选项传递给 catt,您需要使用 yt-dlp 的 内部选项 名称, 而不是其命令行名称。
如果您发现 catt 无法在视频网站(YouTube、Vimeo 等)上正常工作,只需使用 [pip install -U yt-dlp]{.title-ref} 升级 yt-dlp, 这通常可以解决问题。这是因为网站不断变化,而 yt-dlp 会非常频繁地更新以保持所有网站可用。
如果您愿意,也可以在 Docker 中运行 catt:
docker run --net=host --rm -it python:3.7 /bin/bash -c "pip install catt; catt cast 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'"
配置文件
CATT 可以利用存储在 ~/.config/catt/catt.cfg
(Windows 上为 %APPDATA%\catt\catt.cfg,macOS 上为 ~/Library/Application Support/catt/catt.cfg)的配置文件。
格式如下:
[options]
device = chromecast_one
[aliases]
one = chromecast_one
two = chromecast_two
在 [options] 部分中,device 表示默认设备,
当未通过 cli 选择设备时,将选择该设备。
您可以通过执行以下操作将默认设备选择写入 catt.cfg:
catt -d <name_of_chromecast> set_default
在 [aliases] 部分中,您可以为
您的 chromecasts 的名称指定别名。然后,您只需执行以下操作即可选择设备:
catt -d <alias> <command>
您可以通过执行以下操作将设备的别名写入 catt.cfg:
catt -d <name_of_chromecast> set_alias <alias>
防火墙
为了使本地文件的投射功能正常工作,您需要允许 tcp 协议在 45000-47000 端口范围内通行。
贡献
如果您想为 catt 贡献功能,请先打开一个 issue(或
在现有 issue 上评论),以确保这是维护者感兴趣的内容。之后,只需克隆仓库并
开始开发即可!
要在开发环境中运行 catt,您可以使用以下命令:
python -m catt.cli --help
在提交之前,请确保您已安装 pre-commit 并安装
其钩子:
pip install pre-commit
pre-commit install
就这样,现在您可以提交,钩子将会运行。Black(用于 格式化代码)需要 Python 3.6 才能运行,但请尽量 做到,因为如果代码未格式化,我们的 CI 会报错, 没人希望那样。
谢谢!
信息
- 自由软件:BSD 许可证
功能
- 将视频投射到 Chromecast
- 来自众多在线 来源
- 投射本地文件(视频、照片和音乐)
- 将任意网站投射到 Chromecast
致谢
如果没有这些优秀的项目,Catt 将无法实现:
- pychromecast - 用于 Python 3 与 Google Chromecast 通信的库
- yt-dlp - 用于 从 YouTube.com 和其他视频网站下载视频的命令行程序
- casttube - YouTube Chromecast API