Lancer plusieurs vidéos simultanément sur plusieurs écrans avec Python et MPV
Vous cherchez à lire plusieurs vidéos simultanément sur différents écrans de votre Raspberry Pi tout en contrôlant l’audio et l’affichage des fenêtres ? Ce script Python simple et efficace permet de le faire en utilisant MPV et la bibliothèque screeninfo
. Il est particulièrement adapté pour des installations multi-écrans ou des kiosques vidéo.
Fonctionnalités principales du script
- Lecture de deux vidéos différentes sur deux écrans distincts.
- Contrôle de l’activation de l’audio pour chaque vidéo.
- Fenêtres vidéo sans barre de titre, pour un rendu plein écran ou intégré dans votre interface.
- Gestion multithread pour lancer les vidéos simultanément.
- Compatibilité avec PipeWire ou PulseAudio pour l’audio.
Comment fonctionne le script
Le script commence par importer les modules nécessaires : subprocess
pour lancer les commandes système, screeninfo
pour détecter les moniteurs connectés, et threading
pour exécuter plusieurs vidéos en parallèle.
Vous pouvez configurer :
- Le chemin vers vos vidéos (
video1_path
etvideo2_path
). - L’activation de la lecture vidéo et audio pour chaque fichier (
play_video1
,play_video2
,audio1
,audio2
).
La fonction launch_video
reçoit le chemin de la vidéo, le moniteur cible et un paramètre audio. Elle utilise MPV pour lancer la vidéo avec une géométrie exacte correspondant à l’écran sélectionné et sans bordure.
Le script détecte ensuite tous les écrans connectés et lance chaque vidéo sur le moniteur correspondant grâce à des threads séparés.
Prérequis et installation
Avant d’exécuter le script sur votre Raspberry Pi, assurez-vous d’installer les logiciels et modules suivants :
- Python 3
Le script utilise Python 3. Vérifiez l’installation avec :python3 --version
- MPV
Lecteur vidéo puissant en ligne de commande, compatible avec de nombreux formats.
Installez-le avec :sudo apt update && sudo apt install mpv
- Bibliothèque Python screeninfo
Pour détecter les écrans connectés :pip3 install screeninfo
- PulseAudio ou PipeWire
Pour gérer l’audio. Sur Raspberry Pi OS, PulseAudio est souvent déjà installé. Si nécessaire :sudo apt install pulseaudio
- Vérifier les droits d’accès aux vidéos
Assurez-vous que les fichiers vidéo sont lisibles par l’utilisateur qui exécute le script.
Comment lancer le script
- Placez vos vidéos dans les dossiers définis (
Oldvideos/video1.mp4
etOldvideos/video2.mp4
) ou modifiez les chemins dans le script. - Ouvrez un terminal et lancez :
python3 nom_du_script.py
- Les vidéos se lanceront sur les écrans détectés, avec ou sans audio selon votre configuration.
Conclusion
Ce script offre une solution simple et flexible pour gérer la lecture de vidéos sur plusieurs écrans à partir d’un Raspberry Pi. Grâce à l’usage de threads et à MPV, il permet de synchroniser les vidéos tout en conservant un contrôle précis sur l’affichage et le son. Que vous réalisiez un kiosque interactif ou un montage multi-écrans, ce script constitue un bon point de départ.