A TUI wrapper around `catt`.


Keywords
lolcatt, chromecast, youtube, yt-dlp
License
MIT
Install
pip install lolcatt==0.5.0

Documentation

lolcatt

image

Documentation

Build Status

Coverage Status

A TUI wrapper around catt, enabling you to cast to and control your chromecast devices.

Dependencies

  • Python 3.10+ (older versions >= 3.6 might work, but are not tested)
  • catt (will be installed automatically)
  • yt-dlp (will be installed automatically)
  • Optional: A font containing FontAwesome icons to allow displaying of fancy icons on buttons. The freely available NerdFont collection is recommended. Fancy icons can be disabled and replaced by text (see below).

Installation

pip install lolcatt

Quckstart

At first we need to determine the name of the chromecast device we want to cast to. To do so, run lolcatt --scan. A default device and device aliases can be set in the catt configuration file ~/.config/catt/config.cfg. See catt's documentation for more information. To start the UI, run lolcatt -d '<device name or alias>' (or simply lolcatt if a default device is set).

To cast, paste either a URL or a path to a local file into the input field and press enter. To add a URL or path to the playback queue instead of playing immediately, hit Ctrl+s instead of enter. To view and navigate in the queue, tap the name of the currently playing item. To seek, tap the progress bar. To change chromecast device, tap the name of the currently active device (currently only devices with set aliases can be selected in this way).

For URLs, all websites supported by yt-dlp (which handles media download under the hood) are supported. Find a list of supported websites here. For local media, most common video and image formats are supported.

Youtube playlists are supported, and each contained video will be added to the playback queue. By specifying a cookie file in the config (per default under ~/.config/lolcatt/config.toml), you can also access private YouTube playlists such as "Watch Later" (https://www.youtube.com/playlist?list=WL), and ensure played YouTube videos are marked as watched.

Troubleshooting

If button icons are not displayed correctly, ensure you are using a font containing FontAwesome icons. Alternatively, you can disable the use of fancy icons in the config file.

If casting does not work for no apparent reason, ensure you have the latest version of yt_dlp installed: pip install --upgrade yt-dlp.

If you encounter any other issues, please open an issue.

Credits

This package was created with Cookiecutter and the LokiLuciferase/cookiecutter-pypackage project template.