✔️ Consultez Beta Control Control Beta?
cast_control est un utilitaire de démon qui vous permet de contrôler la lecture des médias sur les périphériques de casting à partir du bureau Linux.
Pendant que ce service s'exécute, il collecte des données sur les médias et les applications en lecture sur vos appareils de casting et les affiche sur votre ordinateur.
Contrôle cast_control Chromecastes et dispositifs de casting via D-BUS et MPRIS Media Player Controls.
MPRIS est l'interface de lecteur multimédia standard sur les ordinateurs de bureau Linux.
L'intégration MPRIS est activée par défaut dans Plasma Desktop et, avec le widget de contrôle de volume de Gnome, il existe également des widgets pour Gnome. playerctl fournit une CLI pour contrôler les joueurs des médias via MPRIS.
Consultez ▶️ mpris_server Si vous souhaitez intégrer le support MPRIS dans votre lecteur multimédia.
Contrôle d'un chromecast via le widget de lecteur multimédia de Plasma Desktop:


project.dependencies dans pyproject.tomlhatchling Sur les distributions dérivées de Debian comme Ubuntu, installez python3-gi avec apt .
Sur Arch, vous voudrez installer python-gobject et gobject-introspection , ou installer cast_control directement à partir de l'AUR.
Sur MacOS, installez pygobject3 via brew .
Utilisez pip pour installer PyGObject>=3.34.0 s'il n'y a pas de candidats d'installation disponibles dans les référentiels de package de votre fournisseur.
$ python3 -m pip install cast_control Vous obtiendrez un exécutable cast_control ajouté à votre $PATH .
Consultez la page des versions sur GitHub pour les versions stables.
Si vous souhaitez utiliser la branche de développement, clonez le référentiel.
Une fois que vous avez une copie source, exécutez python3 -m pip install -r requirements.txt , suivi de python3 setup.py install .
Vous obtiendrez un exécutable cast_control ajouté à votre $PATH .
Si vous êtes sur Arch, vous pouvez installer cast_control directement à partir de l'AUR. Merci, @yochananmarqos!
$ yay -S cast_control Les versions stables sont téléchargées sur PYPI. Vous pouvez mettre à niveau votre installation cast_control comme ainsi:
$ python3 -m pip --upgrade cast_controlVoir la page des versions sur GitHub.
Vous devrez vous assurer que votre ordinateur peut établir des connexions réseau avec vos dispositifs de moulage. Il aide également à connaître les noms des appareils à l'avance.
L'installation du package via PYPI, GitHub ou l'AUR ajoutera cast_control à votre chemin exécutables pip :
$ which cast_control
~ /.local/bin/cast_control Si vous avez votre chemin exécutables pip ajouté au $PATH de votre shell, vous pouvez lancer cast_control comme ainsi:
$ cast_control --help Ou, en utilisant le lanceur de nom court castctl :
$ castctl --help Vous pouvez également lancer cast_control via son module Python. Cela peut être utile si votre $PATH ne pointe pas vers vos exécutables pip .
$ python3 -m cast_control --help Pour activer l'achèvement de bash pour cast_control , ajoutez ce qui suit à votre ~/.bashrc :
eval " $( _CAST_CONTROL_COMPLETE=bash_source cast_control ) " Pour les coquilles zsh et fish , consultez la documentation ici.
$ cast_control --help
Usage: cast_control [OPTIONS] COMMAND [ARGS]...
Control casting devices via Linux media controls and desktops.
This daemon connects your casting device directly to the D-Bus media player
interface.
See https://github.com/alexdelorenzo/cast_control for more information.
Options:
-L, --license Show license and copyright information.
-V, --version Show version information.
--help Show this message and exit.
Commands:
connect Connect to the device and run the service in the foreground.
service Connect, disconnect or reconnect the background service to or...connect la commande $ cast_control connect --help
Usage: cast_control connect [OPTIONS]
Connect to the device and run the service in the foreground.
Options:
-n, --name TEXT Connect to a device via its name, otherwise control
the first device found.
-h, --host TEXT Connect to a device via its hostname or IP address,
otherwise control the first device found.
-u, --uuid TEXT Connect to a device via its UUID, otherwise control
the first device found.
-w, --wait FLOAT Seconds to wait between trying to make initial
successful connections to a device.
-r, --retry-wait FLOAT Seconds to wait between reconnection attempts if a
successful connection is interrupted. [default:
5.0]
-i, --icon Use a lighter icon instead of the dark icon. The
lighter icon goes well with dark themes. [default:
False]
-l, --log-level TEXT Set the debugging log level. [default: WARN]
--help Show this message and exit.service $ cast_control service --help
Usage: cast_control service [OPTIONS] COMMAND [ARGS]...
Connect, disconnect or reconnect the background service to or from your
device.
Options:
--help Show this message and exit.
Commands:
connect Connect the background service to the device.
disconnect Disconnect the background service from the device.
reconnect Reconnect the background service to the device.
log Show the service log.service connect $ cast_control service connect --help
Usage: cast_control service connect [OPTIONS]
Connect the background service to the device.
Options:
-n, --name TEXT Connect to a device via its name, otherwise control
the first device found.
-h, --host TEXT Connect to a device via its hostname or IP address,
otherwise control the first device found.
-u, --uuid TEXT Connect to a device via its UUID, otherwise control
the first device found.
-w, --wait FLOAT Seconds to wait between trying to make initial
successful connections to a device.
-r, --retry-wait FLOAT Seconds to wait between reconnection attempts if a
successful connection is interrupted. [default:
5.0]
-i, --icon Use a lighter icon instead of the dark icon. The
lighter icon goes well with dark themes. [default:
False]
-l, --log-level TEXT Set the debugging log level. [default: WARN]
--help Show this message and exit.Connectez-vous à un appareil nommé "Mon appareil":
$ cast_control connect --name " My Device " Connectez-vous à un appareil nommé "Mon appareil" et exécutez cast_control en arrière-plan:
$ cast_control service connect --name " My Device " Après avoir lancé cast_control , vous pouvez utiliser n'importe quel client MPRIS pour interagir avec lui. Le support MPRIS est intégré directement à Plasma Desktop et GNOME 3, et vous pouvez utiliser playerctl sur la ligne de commande.
Vous pouvez utiliser l'indicateur -w/--wait pour spécifier une période d'attente en quelques secondes avant que cast_control essaie de retrouver un dispositif de coulée si l'on n'est pas trouvé initialement.
Par exemple, si vous souhaitez attendre 60 secondes entre les analyses pour les appareils, vous pouvez exécuter ce qui suit:
$ export SECONDS=60
$ cast_control connect --wait $SECONDS
# or
$ cast_control service connect --wait $SECONDS Ceci est utile si vous souhaitez démarrer cast_control à Login, et il y a une chance que votre appareil ne soit pas activé ou que vous soyez sur un autre réseau.
Si le service d'arrière-plan est en cours d'exécution, vous pouvez le forcer à vous reconnecter et à redémarrer, ou à le déconnecter entièrement.
$ cast_control service reconnect
# or
$ cast_control service disconnect Obtenez le nom D-Bus pour votre appareil à l'aide playerctl .
$ playerctl --list-all
My_DeviceUtilisez le nom D-Bus pour y délivrer des commandes.
$ export URL= " http://ccmixter.org/content/gmz/gmz_-_Parametaphoriquement.mp3 "
$ playerctl --player My_Device open " $URL "Cela jouera une chanson sur votre appareil.
Vous pouvez lancer des vidéos YouTube de la même manière que vous pouvez lancer un URI générique.
$ export VIDEO= " https://www.youtube.com/watch?v=I4nkgJdVZFA "
$ playerctl --player My_Device open " $VIDEO " Vous pouvez définir le niveau de journal à l'aide de l'indicateur -l/--log-level avec les commandes connect ou service connect :
$ cast_control connect --log-level debug Voici une liste des niveaux de journal pris en charge par cast_control .
Vous pouvez afficher le fichier journal du service d'arrière-plan avec la commande service log :
$ cast_control service logVous voulez soutenir ce projet et d'autres projets open source comme celui-ci?
Voir LICENSE . Si vous souhaitez utiliser ce projet avec une licence différente, veuillez nous contacter.