Diffuser 2 flux caméra vers deux écrans différents au démarrage

Bonjour à tous !

Je dispose de

  • 1 mini-PC avec Windows 10 (ACEPC AK1)
  • 2 caméras reliées en entrée USB sur le mini-PC
  • 2 écrans reliés en sortie HMDI sur le mini-PC

=> Automatiquement au démarrage, je voudrais faire en sorte que Windows diffuse un flux caméra en plein écran sur chaque écran (Je dois faire un petit tableau de bord de véhicule pour mon école avec ce matériel, les 2 caméras servant de rétrocams gauche et droite)

Ce n’est pas un problème si on voit l’interface Windows à l’ouverture, c’est pourquoi j’ai pensé à un fichier batch (mais je ne suis pas expert commandes dos et encore si et comment il est possible de piloter ainsi un player vidéo) qui serait lancé automatiquement au démarrage

Quel serait votre point de départ ? quel(s) logiciel(s) (gratuit de préférence) ?

Un grand merci aux experts de la vidéo et aux bonnes volontés

++
Nainretic

Bonjour
Est ce que tu arrives à l’afficher comme tu le veux à la main toi même?
Si oui avec quels logiciels?
Tu a testé VLC pour afficher les flux video? Official download of VLC media player, the best Open Source player - VideoLAN

Quand on arrive à faire un truc, l’automatiser est normalement faisable, c’est juste plus ou moins facile.
Si le soft utilisé est lançable comme il faut (avec le bon contenu/stream video) par ligne de commande c’est normalement assez facile (la difficulté sera surtout de le mettre sur le bon moniteur) .
Si c’est un obscur soft propriétaire qu’il faut configurer qu’avec la souris c’est plus compliqué.

VLC est plutôt dans la première catégorie (on peut le configurer pour avoir plusieurs instance, il se configure bien par ligne de commande…), c’est pour cela que ce serait un + si les stream video passent avec lui.
Pour la deuxième catégorie, il y a des softs d’automatisation tout fait (on fait des trucs, et cela le refait à l’identique) ou faut se faire un script, genre via powershell (on peut taper des caractères, bouger la souris et simuler un clic souris si on est motivé :wink: donc ce que l’on peut faire on peut le refaire en script (Même une macro excel permet cela même si ici ce ne serait pas pratique)

Bonjour Feunoir,

Merci pour ta réponse, oui j’y arrive manuellement en utilisant le lecteur webcam natif de Windows 10 pour une caméra et VLC pour la deuxième. ensuite je fais glisser les fenêtres en plein écran sur chaque écran. Initialement je pensais lancer deux instances de VLC au démarrage mais je ne sais ni comment écrire les scripts sous VLC ni comment les lancer :confused:

Déjà il faut permettre a VLC de lancer 2 instances du lecteur en même temps.
Dans préférence (ctrl + P ) il y a une case pour cela qu’il faut décocher (N’autoriser qu’une seule instance )

Ensuite quand on a ces 2 instances possibles faut définir la ligne de commande pour lancer le stream
Faut essayer dans l’invite de commande de windows
Par exemple avec le dernier VLC on peut lancer des stream youtube simplement comme cela
on va dans le repertoire de l’executable vlc avec une commande cd puis lance musique WOW de youtube
C:>cd C:\Program Files\VideoLAN\VLC
vlc https://youtu.be/gQFOLOur1jM
image

Une fois les lignes de commande définis reste comme prévu le probleme de l’affichage , VLC se réouvre à la même position que sa fermeture donc on aura tous sur le même écran

Essai de script powershell pour les déplacer

Le forum modifie le texte donc j’ai mis cela sur cjoint movewindows.txt

Pour que cela fonctionne :

  • Il faut le renommer en movewindows.ps1 (ou quelquechose.ps1, ps1 = script powershell comme .bat ou .cmd pour le batch)
  • Vu que cela vient du net, faudra peut être (surement) le débloquer via bouton droit sur le fichier renommé puis propriétés, la case en bas sous Avancé (sinon suffit surement de copier coller le contenu texte dans un nouveau fichier truc.ps1)
  • Faut modifier les 2 lignes $stream1 et 2 avec tes flux video a toi
  • Modifier si besoin le déplacement des fenetres, la deuxieme devra avoir un déplacement suffisant pour que son coté gauche soit après le coté droit du premier moniteur
  • Adapter les temporisations en fonction du pc (genre si il met 3 minutes pour démarrer faut peut être attendre que ce soit finit, attendre que vlc se lance et que le flux video soit établit)
  • s’il fonctionne, pour le lancement auto il y a plusieurs possibilité
    par exemple faire un raccourci vers powershell et le mettre dans C:\Users\Nom utilisateur windows\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    copier " %appdata%\Microsoft\Windows\Start Menu\Programs\Startup " dans la barre d’adresse de l’explorateur
    Pour creer le raccourci :
    bouton droit dans le répertoire puis nouveau >raccourci

image

image

On ajoute le script à la fin, via bouton droit sur le raccourci et proprietes (attention s’il y a des espaces dans le chemin ou nom du script il faudra des guillemets autour)

Attention :

  • J’ai fait l’erreur de laisser un # tout au début du fichier apres un essai, cela commente la première ligne qui est nécessaire
  • Les alt + tab c’est un enfer pour tomber sur le bonne fenetre VLC, en changeant l’ordre du script je semble arriver à m’en passer donc voici le cjoint du nouveau script movewindows.txt

cela reste pareil, mais le stream2 se trouvera sur le moniteur de gauche normalement
Il est surement possible de passer par des commandes ShowWindow ou SetForegroundWindow au pire si cela ne marche pas terrible

Pendant la recherche du souci de alt tab , j’ai modifié le raccourci lancant le script pour enlever la fenetre console noire j’ai modifié en
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle Hidden -NoProfile -file D:\movewindows.ps1

Bonjour Feunoir,

Un très grand merci pour la solution que tu as proposé ! De mon côté j’ai exploré un peu les fonctions de pilotage de VLC directement en lignes de commande et suis tombé sur quelque chose de fonctionnel aussi ! Je propose à tous la solution qui a fonctionné pour moi :

A/ Repérer le nom des caméras sous VLC

La routine automatique de diffusion des caméras .bat fait appel au nom qui leur est attribué sous VLC. Pour pouvoir adapter les lignes de commande dans l’étape ultérieure, il est nécessaire de repérer le nom exact des caméras tel qu’il apparaît dans VLC.

Ouvrez VLC, cliquer sur Média puis Ouvrir un périphérique de capture… Dans l’onglet Périphérique de capture de la nouvelle fenêtre, face à « Nom du périphérique vidéo », vous pourrez consulter le nom des caméras connectées reconnues par VLC. Testez éventuellement avec Lire pour repérer la correspondance des caméras et notez précisément pour plus tard le nom des caméras souhaitées.

Dans mon cas les noms seront :

Full HD webcam

et

Full HD webcam #1

Sortez par Annuler.

B/ Régler les paramètres VLC par défaut

B/1. Sortie vidéo

Pour que le programme de lancement automatique des écrans puisse fonctionner, il vous faudra modifier d’abord le paramétrage des sorties vidéo par défaut de VLC.

Pour cela, après avoir lancé VLC, cliquez sur Outils puis Préférences.

Dans l’onglet Vidéo, en regard de « Sortie », sélectionnez Sortie vidéo « Direct3D 11 » et en regard de « Périphérique vidéo en plein écran », choisissez Automatique.

B/2. Autorisation de plusieurs instances

Toujours dans les Préférences de VLC, cliquez sur l’onglet Interface et décochez toutes les cellules. Ceci permettra l’ouverture de plusieurs instances de VLC pour la suite de la procédure.

Cliquez ensuite sur Enregistrer puis quittez VLC pour que les modifications soient prises en compte.

C/ Créer un programme .bat et tester les écrans

Pour créer un exécutable .bat, ouvrez l’application Bloc-notes saisissez le programme et enregistrez-le en sélectionnant Tous les fichiers en regard du champ « Type: » et en nommant votrenomfichier.bat

Voici mes lignes de commande à copier :

start « first vlc » vlc dshow:// :dshow-vdev=« Full HD webcam #1 » :dshow-adev=« none » --qt-fullscreen-screennumber=1 --fullscreen
start « second vlc » vlc dshow:// :dshow-vdev=« Full HD webcam » :dshow-adev=« none » --qt-fullscreen-screennumber=2 --fullscreen

  • Remplacez le nom des cameras par ceux relevés dans l’étape A/
  • Déterminez la numérotation des écrans en testant différents indices de la fonction -screennumber (1, 2, …) (en particulier si plus de 2 écrans son reliés à l’ordinateur)

Dans le menu Fichier, cliquez enfin sur Enregistrer et quittez. Lancez le programme par un double-clic et répétez l’opération jusqu’à trouver le bon appairage écran/caméra.

→ Ensuite j’ai utilisé le planificateur de tâches pour lancer le fichier.bat à l’ouverture de session

Merci encore et à bientôt