[[:klaewyss:tutos|← Retour vers la liste des tutoriels]] ====== Overlay Discord personnalisé dans OBS ====== ===== Présentation ===== OBS((OBS : https://obsproject.com/fr)) est un logiciel libre et open source d'enregistrement vidéo et de streaming en direct. C'est notamment grâce à lui que sont enregistrer les parties d'actual play disponible sur [[https://peertube.klaewyss.fr|Peertube]]. Discord((Discord : https://discord.com/)) est un logiciel propriétaire gratuit de discussion VoIP et de messagerie instantanée. C'est une solution pour faire des discussions de groupe en vocal et/ou visio, idéal pour les parties en ligne donc.\\ Une bonne alternative opensource est Jitsi((Jitsi : https://meet.jit.si)) mais ce tutoriel ne fonctionnera pas. L'idée est mettre en évidence qui parle lors d'un stream de façon plus jolie que l'overlay Discord classique. De façon à donner quelque chose comme ça : {{url>https://peertube.klaewyss.fr/videos/embed/107878ce-f9dc-40fc-8ce8-f8c197821cbd 350,200}} {{ klaewyss:tutos:overlay_discord_1.gif|Aperçu de plusieurs avatars qui s'activent en fonction de qui parle}} ===== Procédure ===== ==== Pré-requis ==== [{{ klaewyss:tutos:discord_dev.png?500x100|Vue du paramètre Discord "Mode développeur"}}] Il faut connaître votre identifiant Discord ainsi que celui des personnes que vous souhaitez. Pour cela, vérifiez dans vos paramètres que le mode Développeur est bien activer dans paramètres Discord > Avancés. Maintenant, pour obtenir l'identifiant Discord de quelqu'un, il suffit de faire un clic droit sur son pseudonyme et de cliquer sur "Copier l'identifiant". [{{ klaewyss:tutos:discord_id.png?300x300 |Aperçu montrant où chercher l'option "Copier l'identifiant"}}] ==== Lien streamkit ==== Il faut commencer par générer un lien via le streamkit((Streamkit Discord : https://streamkit.discord.com/overlay)) de Discord.\\ * Rendez-vous sur : https://streamkit.discord.com/overlay * Sélectionnez "Install for OBS" * Sélectionnez le serveur Discord concerné * Sélectionnez le salon vocal concerné * Cocher "Hide Names" Le lien qui nous intéresse est dans la partie droite de l'écran, juste en dessous de l'aperçu. [{{klaewyss:tutos:streamkit.png?600x400 |Aperçu final de la page streamkit}}] ==== Source OBS ==== Ajoutez une source de type **Navigateur** à votre scène OBS et nommez la de façon à pouvoir la retrouver facilement exemple "VoixDiscord - Perso". Remplissez les champs suivants : * URL : copiez-collez l'URL précédemment générée grâce au streamkit de Discord * Largeur : 215 * Hauteur : 300 * CSS personnalisé : le code ci-dessous ++++ Code à modifier et copier-coller | Trois modèles d'animation sont proposés au choix, si vous maitrisez le CSS, vous pouvez les adapter à l'envie.\\ Dans le code choisi, il faut remplacer : * ##ID## par l'identifiant Discord de la personne concernée * ##URL_IMAGE_1## par l'url d'une image qui fera office d'avatar "au repos" * ##URL_IMAGE_2## par l'url d'une image qui fera office d'avatar "qui parle", les deux url peuvent être identique si souhaité Ce premier code permet d'ajouter une animation vers le **bas** quand quelqu'un prend la parole. img.Voice_avatar__htiqH:not([src*="##ID##"]) { display:none; } img.Voice_avatar__htiqH { content: url(##URL_IMAGE_1##); padding-top: 0px; height: 175px !important; width: auto !important; border-radius: 0% !important; filter: brightness(30%); } img.Voice_avatarSpeaking__lE\+4m { padding-top: 0px; border-color: rgba(0, 0, 0, 0) !important; position: relative; animation-name: speak-now; animation-duration: 1.5s; animation-fill-mode: forwards; filter: brightness(100%); content: url(##URL_IMAGE_2##); } @keyframes speak-now { 0% { bottom: 0px; } 15% { bottom: -80px; } 50% { bottom: 0px; } } li.voice-state { position: static; } div.user { position: absolute; left: 40%; bottom: 5%; } body { background-color: rgba(0, 0, 0, 0); margin: 0px auto; overflow: hidden; } Ce deuxième code permet d'ajouter une animation vers le **haut** quand quelqu'un prend la parole. img.Voice_avatar__htiqH:not([src*="##ID##"]) { display:none; } img.Voice_avatar__htiqH { content: url(##URL_IMAGE_1##); padding-top: 00px; height: 175px !important; width: auto !important; border-radius: 0% !important; filter: brightness(30%); } img.Voice_avatarSpeaking__lE\+4m { padding-top: 0px; border-color: rgba(0, 0, 0, 0) !important; position: relative; animation-name: speak-now; animation-duration: 1.5s; animation-fill-mode: forwards; filter: brightness(100%); content: url(##URL_IMAGE_2##); } @keyframes speak-now { 0% { bottom: 0px; } 15% { bottom: 80px; } 50% { bottom: 0px; } } li.voice-state { position: static; } div.user { position: absolute; left: 40%; bottom: 5%; } body { background-color: rgba(0, 0, 0, 0); margin: 0px auto; overflow: hidden; } Ce troisième code supprime l'animation pour ne laisser qu'un changement d'image et de teinte. img.Voice_avatar__htiqH:not([src*="##ID##"]) { display:none; } img.Voice_avatar__htiqH { content: url(##URL_IMAGE_1##); padding-top: 0px; height: 175px !important; width: auto !important; border-radius: 0% !important; filter: brightness(30%); } img.Voice_avatarSpeaking__lE\+4m { padding-top: 0px; border-color: rgba(0, 0, 0, 0) !important; position: relative; animation-name: speak-now; animation-duration: 1.5s; animation-fill-mode: forwards; filter: brightness(100%); content: url(##URL_IMAGE_2##); } li.voice-state { position: static; } div.user { position: absolute; left: 40%; bottom: 5%; } body { background-color: rgba(0, 0, 0, 0); margin: 0px auto; overflow: hidden; } ++++ [{{klaewyss:tutos:obs.png?400x500|Capture des paramètres de la source Navigateur}}] {{ klaewyss:tutos:overlay_discord_2.gif|Aperçu final d'un avatar qui s'active quand la personne qui lui est liée parle}} Et voilà !\\ Maintenant à chaque fois que la personne parlera, son avatar s'illuminera. Il est nécessaire de créer une source de ce genre par personne dont vous souhaitez diffuser l'avatar.