Bonjour à tous,
Après avoir posté hier soir dans le topic de la config Kaz, j'ouvre celui-ci pour le dédier à un utilitaire que je viens de développer.
La genèse vient du fait que je possède un projecteur JVC X5500 qui comme toute la série a un vilain défaut : celui de provoquer un écran noir d'une vingtaine de secondes à chaque changement de mode d'affichage (résolution, fréquence etc.). Du coup, c'est très ennuyeux pour lancer une vidéo, car la lecture démarre, on a le son, mais on manque les 20 premières secondes. Non content d'être désagréable, sur une courte vidéo ça fait manquer pas mal de choses.
Comme j'utilise un PCHC avec la config Kaz (encore la v6, toujours pas eu le temps d'installer la v8 proprement), et que les outils (MPC, madVR etc.) ne permettent pas d'introduire une temporisation, j'ai décidé de créer mon propre utilitaire, mais de le rendre totalement personnalisable afin qu'il puisse servir au plus grand nombre et pas seulement dans le cas d'un projecteur JVC.
Il est également possible de définir des commandes. Celles-ci contiennent une ou plusieurs conditions à remplir pour être exécutées (basées sur la résolution, le ratio, la fréquence, le nom du fichier ou un déclencheur), et une ou plusieurs étapes exécutables. Ces étapes sont lancées dans l'ordre défini dans le fichier de configuration, et peuvent être soit un démarrage de script externe (ou fichier exécutable), soit un appel HTTP vers une URL (commande IP d'appareils, ordres vers un Global Caché ou encore un Arduino), soit une pause de durée paramétrable.
Il devient alors possible d'appeler des mémoires de zoom de vidéo-projecteurs en fonction du ratio d'image, ou encore d'enclencher le mode 3D d'un vidéo-projecteur ou d'un téléviseur en fonction du nom de fichier qui contiendrait la séquence de caractères "3D" ou "-3D" etc.
C'est un outil qui s'intercale entre le lancement de la vidéo (Kodi, double-clic dans l'explorateur etc.) et le lecteur lui même (MPC par exemple). Il est totalement personnalisable via son fichier de configuration, et permet en le lançant à la main d'ajouter des arguments de ligne de commande pour forcer son comportement.
Il peut afficher un fond noir à l'écran dès le lancement, appliquer un délai à chaque lancement de vidéo (support de playlist à venir), seulement en cas de changement de mode d'affichage, seulement au démarrage ou jamais. Il peut aussi afficher un compte à rebours à l'écran pour surveiller ce qui se passe. Il permet également de gérer le retour automatique au mode d'affichage initial à la fin de la lecture.
Pour changer le mode d'affichage, il va utiliser la librairie MediaInfo afin de lire les caractéristiques du premier flux vidéo trouvé dans le fichier et déterminer les bons paramètres au moyen de directives insérées dans le fichier de conf (par exemple, si largeur comprise entre 1281 et 1920, utiliser la résolution 1920x1080, si fréquence comprise entre 23 et 23,999, utiliser le mode 23 Hz).
L'utilisation classique, celle que j'en fais, est la suivante :
Les fichiers mkv (entre autres) ne sont plus associés avec MPCHC (ou MPCBE) mais avec mon utilitaire
- Lancement d'une vidéo via mon utilitaire
- Affiche un fond noir en plein écran
- Utilise la librairie MediaInfo pour lire la fréquence du fichier vidéo (23,976, 24, etc.)
- Change le mode vidéo du driver graphique
- Applique un délai de 20 secondes, et un compte à rebours à l'écran (désactivable)
- Lance la lecture via MPCHC (ou MPCBE)
- Rétablit le mode vidéo initial à la sortie
Du coup je désactive la fonctionnalité de retour au mode vidéo initial dans madVR.
Dans les prochaines versions, j'ajouterai :
1) Un calcul du ratio d'image déterminé via un appel à ffmpeg pour récupérer des images dans la vidéo et détecter les bandes noires pour avoir le vrai ratio utile de l'image.
2) La possibilité de piocher dans une liste de trailers (par exemple Dolby Digital, DTS, THX etc.) selon le type de piste audio pour la jouer automatiquement avant la lecture du film.
J'ai mis cet outil avec toutes les explications à cette adresse : http://medialauncher.ztb.fr
N'hésitez pas à le tester et à me faire des retours sur son utilisation, toute suggestion est la bienvenue ! Je me ferai un plaisir de le faire évoluer au fil (et dans la limite) du temps libre dont je dispose.