ITADN
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Cast All The Things

image

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