tag:linuxfr.org,2005:/users/aldebaran-0LinuxFr.org : les contenus de Aldebaran2023-12-18T22:30:24+01:00/favicon.pngtag:linuxfr.org,2005:Diary/409862023-12-15T23:16:38+01:002023-12-15T23:16:38+01:00Youtube embed in YoutubeLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Et salut les gens,</p>
<p>Depuis un petit moment Youtube m'affichait un message m'expliquant que je devais désactiver mon bloqueur de pub pour pouvoir voir leur vidéos.</p>
<p>Au début, rien d'obligatoire, j'avais pu cliqué sur un bouton, puis l'attente est devenue de plus en plus longue, et au bout d'un moment le message a changé pour ne plus laisser d'alternative à la désactivation du bloqueur.</p>
<p>Donc bon, je m'exécute, mais le message persiste. Je nettoie tout, toujours pareil.<br>
Ça a fini par revenir à un moment, mais comme je suis taquin j'ai du coup réactivé mon bloqueur, et au bout d'un ou deux visionnage j'ai de nouveau eu droit à l'avertissement.</p>
<p>En gros, j'ai l'impression que Youtube au bout de X avertissements marque mon compte, pour une certaine durée. Mais c'est peut être autre chose, un truc de mon côté.</p>
<p>En tout cas j'ai trouvé presque par hasard un contournement, en regardant une vidéo intégrée je ne suis pas bloqué.<br>
J'ai donc codé une minuscule <a href="https://github.com/aldebaranzbradaradjan/youtube_embeded_in_youtube_extension">extension</a> pour remplacer le player youtube d'une page youtube par la version embeded injectée dans une iframe.<br>
Jusqu'à maintenant ça semble bien fonctionner. Par contre ça ne fonctionne pas avec les playlists, faudrait que je m'y penche, je connais mal les subtilités de Youtube. Si quelqu'un a envie de s'y coller c'est avec un immense plaisir que je l'encouragerais. De loin :)</p>
<p>Bref, je suis trop content de moi, je suis un hacker maintenant.<br>
Si vous avez envie de tester, je ne me suis pas encore pris la tête à publier mon extension, donc pour l'utiliser il faut l'installer en debug via about:debugging.<br>
Ça fonctionne sous Firefox, je n'ai testé avec rien d'autre.</p>
<p>Bisou.</p>
<div><a href="https://linuxfr.org/users/aldebaran-0/journaux/youtube-embed-in-youtube.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/134232/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/aldebaran-0/journaux/youtube-embed-in-youtube#comments">ouvrir dans le navigateur</a>
</p>
Aldebaranhttps://linuxfr.org/nodes/134232/comments.atomtag:linuxfr.org,2005:Diary/401942022-03-12T20:39:52+01:002022-03-12T20:39:52+01:00Sunshine, MoonlightLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Bonsoir LinuxFr;</p>
<p>Je cherchais depuis longtemps une solution simple, fonctionnelle, performante, libre et surtout fonctionnant sous linux pour faire du streaming de jeu vidéo.</p>
<p>Je possède en effet un PC suffisamment bien pourvus pour faire tourner des jeux dans mon bureau, mais je n'ai rien de tel dans le salon. Seulement un petit RPI (2, puis 3 et maintenant 4), ceci au prix actuel c'est pas rien non plus. Il me sert de media center avec LibreElec et Kodi et malgré quelques crash il fait bien le café.</p>
<p>Alors j'ai pensé à l'utiliser comme client pour streamer mon PC; Ça avait l'air simple, au début je m'imaginais même utiliser VNC, c'était avant qu Steam ne disrupte le game. En fait je me suis lancé dans une tache qui m'aura pris plusieurs années. Sans rire.</p>
<p>J'ai testé tout un tas de solutions, dont VNC, Steam Link, des expérimentations avec VLC et ffmpeg (avec de très bons résultats niveau stream de flux); mais sans jamais arriver à un résultat convainquant, ni simple à mettre en place. <br>
La meilleure expérience était avec Steam Link, ça n'est pas particulièrement libre (surtout que je joue souvent à des jeux proprio, alors bon) mais là ou ça coince c'est niveau client.</p>
<p>Je voulais en effet garder LibreElec sur mon RPI, pour tout un tas de raisons. Essentiellement certaines fonctionnalité de décodage (HDR10) et autre version logiciels non disponible sur Raspbian et que je n'ai pas réussi à faire fonctionner sous Archlinux ARM (des extentions non officielles pour Netflix et Disney+ par exemple [je sais…]).</p>
<p>Sauf que LibreElec à une philosophie très minimaliste, quand ils disent "Just enough OS for KODI" ils rigolent pas; on aura par exemple pas de gestionnaire de paquet et c'est pas gagné pour résoudre l'enfer de dépendance quand on essaye d'installer un binaire à la mano.</p>
<p>LibreElec ne fait pas usage de X également (peut être utilisent ils directement le framebuffer ?); Mais le binaire de Steam Link pour RPI4 assume la présence de Xorg sur le système (il s'attend à tourner sous Raspbian) le rendant très difficile (voir même impossible) à faire tourner sous LibreElec.</p>
<p>Bref, je travaillais sur ce dossier de temps en temps et je testais souvent de nouvelles idées et comme j'aime bien chercher c'était chouette. Mais j'avais un peu perdu l'espoir de jouer sur mon canapé.</p>
<p>Et j'ai trouvé Sunshine.</p>
<p>Alors Sunshine, pour le présenter il faut d'abord parler de Moonlight.<br>
En 2013 Nvidia lançait la Nvidia Shield, une petite console avec la capacité de de jouer en streaming sur sa plateforme Geforce Now, le service de streaming de Nvidia. Quelques années plus tard ils rendirent possible de streamer depuis son propre PC, via Geforce Now, et uniquement sous Windows. Et uniquement pour les cartes Nvidia bien sur.</p>
<p>J'avais pas forcément envie d'installer ce genre d'usine à gaz ultra fermé mais au moins là c'était tout vu.</p>
<p>Des clients alternatifs on cependant vu le jour, <a href="https://moonlight-stream.org/">Moonlight</a> implémente le protocole NVIDIA GameStream et est disponible sur une poutrochiée de systèmes. Mais il fallait encore faire tourner Geforce Now sur le serveur !</p>
<p>Et arriva Sunshine. Pour faire simple c'est la partie serveur qui nous manquait.<br>
C'est libre, ça tourne sous Linux, ça tournent sur des cartes Nvidia, AMD et en théorie Intel et surtout ça marche !</p>
<p>Bon le repo <a href="https://github.com/loki-47-6F-64/sunshine">initial</a> ne semble plus actif, mais le développement à repris <a href="https://github.com/SunshineStream/sunshine">ici</a> (avec l'approbation du dev initial si j'ai bien suivi). </p>
<p>Je l'ai installé sur ma Archlinux via AUR et si ça à marché immédiatement, j'ai constaté quelques soucis. Premièrement des artefacts et autres bandes noirs sur le client (quelque soit le client), résolus en installant une version patchée de nvidia-utils (aur/nvidia-utils-nvlax, apparemment ça permet d'outrepasser certaines limitations du driver proprio, ça ne m'a pas enchanté de devoir l'installer, mais j'avais tellement envie de jouer dans mon canapé).</p>
<p>Deuxièmement (et dernièrement) j'ai été confronté à des crash au début aléatoire et finalement très spécifiques. Avec l'implémentation actuelle, si une manette est branché, et que le jeu envoie une vibration, le serveur se fige. J'ai essayé de fouillé le code source pour voir comment fonctionnent les inputs mais pour l'instant le plus simple à été de désactiver les vibrations. Ça fonctionne mais tous les jeux ne le permettent pas.</p>
<p>Mais laissons ça de côté, j'ai également été agréablement surpris en découvrant un <a href="https://github.com/veldenb/plugin.program.moonlight-qt">client moonlight-qt</a> pour LibreElec 10 RPI 4 et x86. C'est du voodoo, ça build sous docker, ça extrait les dépendances dans LibreElec, et ça installe les scripts qu'il faut se lancer depuis Kodi. Et sans se plaindre en plus. </p>
<p>Et là encore ça fonctionne. Bref, ce mois ci j'ai enfin pu jouer depuis mon canapé, je suis refais. Et tout est libre (en tout cas si vous n'avez pas comme moi une carte Nvidia).<br>
Les perfs sont bonnes, ma manette à été détecté sans soucis. Que du bon.</p>
<p>J'envisage même de m'en servir en remplacement de teamviewer / VNC !</p>
<p>Bref, je suis content d'en être sortit et j'espère que ça vous sera utile si vous voulez également jouer depuis votre salon ou vos toilettes.</p>
<p>Bon jeu !</p>
<div><a href="https://linuxfr.org/users/aldebaran-0/journaux/sunshine-moonlight.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/127168/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/aldebaran-0/journaux/sunshine-moonlight#comments">ouvrir dans le navigateur</a>
</p>
Aldebaranhttps://linuxfr.org/nodes/127168/comments.atomtag:linuxfr.org,2005:News/354462015-09-14T07:59:18+02:002015-09-14T10:43:49+02:00OpenMW, une implémentation libre du moteur du jeu de rôle, MorrowindLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Le projet OpenMW est non seulement une ré-implémentation libre du moteur du jeu de rôle <em>The Elder Scrolls III: Morrowind</em>, un des meilleurs JDR (Jeu de Rôle, RPG5) au monde, mais aussi un éditeur permettant de créer du contenu pour ce nouveau moteur. Pour jouer à Morrowind, il vous faudra une version originale du jeu de laquelle on extraira les données.</p>
<p>Originellement écrit en langage D, le moteur a été depuis réécrit en C++ sous GPLv3 et se sert d'<a href="http://www.ogre3d.org">Ogre3D</a> pour les graphismes (le passage vers <a href="http://www.openscenegraph.org/">OpenSceneGraph</a> est <a href="https://openmw.org/2015/announcing-switch-openscenegraph/">en cours</a>, sans doute lié à la <a href="https://openmw.org/2015/ogre/">difficulté de portage d'OpenMW vers Ogre 2</a>), de Bullet pour la physique, ainsi que d'OpenAL pour la partie audio. L'éditeur, OpenCS, est codé lui aussi en C++ et utilise Qt. L'éditeur a pour vocation de pouvoir modifier aisément les éléments du jeu ainsi que de rendre compatibles avec OpenMW les <em>mods</em> créés pour Morrowind.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6f70656e6d772e6f72672f77702d636f6e74656e742f7468656d65732f6f70656e6d772f696d616765732f6c6f676f2e706e67/logo.png" alt="OpenMW" title="Source : https://openmw.org/wp-content/themes/openmw/images/logo.png"></p></div><ul><li>lien nᵒ 1 : <a title="https://openmw.org/en/" hreflang="en" href="https://linuxfr.org/redirect/92453">openmw.org</a></li><li>lien nᵒ 2 : <a title="https://github.com/OpenMW/openmw" hreflang="en" href="https://linuxfr.org/redirect/92454">Code source sur GitHub</a></li><li>lien nᵒ 3 : <a title="https://linuxfr.org/news/openmw-un-jeu-de-role-libre" hreflang="fr" href="https://linuxfr.org/redirect/94979">DLFP : OpenMW, un jeu de rôle libre (2012)</a></li><li>lien nᵒ 4 : <a title="https://linuxfr.org/users/freem/journaux/openmw-passe-d-ogre3d-a-openscenegraph" hreflang="fr" href="https://linuxfr.org/redirect/94980">DLFP : OpenMW passe d'Ogre3D à OpenSceneGraph</a></li></ul><div><p>Le projet est actuellement en développement actif, une nouvelle version est réalisée en moyenne tous les mois. De grands progrès ont eu lieu ces dernières années et le but de la version 1.0 est quasiment atteint : ré-implémenter totalement Morrowind. Avec les récents ajouts de la sauvegarde et du chargement, il est possible de terminer le jeu moyennant quelques bugs.</p>
<p>Après la v.1, l'équipe du projet se concentrera sur l'ajout de fonctionnalités, l'amélioration des performances et des graphismes. Actuellement, le moteur est peu optimisé, il faut faire avec, en attendant des améliorations de ce côté ou participer au développement. Les développeurs lancent d'ailleurs un appel d'aide pour l'éditeur qui compte seulement deux membres actifs.</p>
<p>Quelques copies d'écran :</p>
<p><img src="//img.linuxfr.org/img/687474703a2f2f77696b692e6f70656e6d772e6f72672f696d616765732f7468756d622f302f30312f41736873746f726d2e706e672f33323070782d41736873746f726d2e706e67/320px-Ashstorm.png" alt="OpenMW" title="Source : http://wiki.openmw.org/images/thumb/0/01/Ashstorm.png/320px-Ashstorm.png"></p>
<p><img src="//img.linuxfr.org/img/687474703a2f2f77696b692e6f70656e6d772e6f72672f696d616765732f7468756d622f342f34652f536e6f772e706e672f33323070782d536e6f772e706e67/320px-Snow.png" alt="OpenMW" title="Source : http://wiki.openmw.org/images/thumb/4/4e/Snow.png/320px-Snow.png"></p>
<h2 id="annonce-de-la-migration-vers-openscenegraph">Annonce de la migration vers OpenSceneGraph</h2>
<p><abbr title="Note des modérateurs">NdM</abbr>: ce paragraphe est principalement une <a href="https://openmw.org/2015/announcing-switch-openscenegraph/">traduction de l'annonce du projet</a>.</p>
<p>Ogre3D était le moteur de rendu utilisé par OpenMW depuis notre toute première version publiée. L’équipe derrière OpenMW a annoncé qu’elle migrait vers un autre moteur de rendu, et la première version jouable <a href="https://openmw.org/2015/openscenegraph-port-playable/">était annoncée le 7 juin 2015</a>.</p>
<p>Durant le développement de nos versions alpha, Ogre3D a été extrêmement utile, permettant un développement rapide. Grâce à Ogre3D, vous pouvez déjà jouer à une version plus ou moins complète de Morrowind via OpenMW, <em>aujourd’hui</em>, et rien que ça confine à l’exploit.</p>
<p>Malgré tout, pour qu’OpenMW remplisse nos objectifs de qualité et pour ajouter les quelques dernières fonctionnalités manquantes, nous avons face à nous des tâches complexes qui requerraient soit de créer un fork d’Ogre3D qui se comporte de la façon dont nous avons besoin, soit que nous migrions vers un autre moteur de rendu plus adapté. Après de longues discussions, nous avons opté pour la seconde solution.</p>
<h3 id="pourquoi-migrer">Pourquoi migrer ?</h3>
<p>Nous n’avons pas affaire à un problème bloquant particulier, mais plutôt à l’accumulation de nombreux problèmes différents.</p>
<p>L’un de ces problèmes nous empêchant d’atteindre la version 1.0 est le faible taux d’images par seconde comparé à Morrowind vanilla. Celui-ci est dû à des <em>bottlenecks</em> dans la gestion des scènes et l’API de rendu des versions 1.x d’Ogre3D, qui sont bien connus de l’équipe derrière Ogre3D et ont depuis été corrigés dans les versions 2.x. Le plan original était de porter OpenMW vers Ogre3D 2.x, ce qui n’aurait pas été une mince affaire, vu que les changements de l’interface de programmation sont particulièrement importants. Malgré tout, nous avons quelques points qui nous inquiètent au sujet de ce port :</p>
<ul>
<li>
<strong>Tag points :</strong> Nous utilisons une fonctionnalité d’Ogre3D appelée "Tag Points" pour connecter ensemble les différentes parties des corps segmentés de Morrowind. Cette fonctionnalité n’est plus gérée par les versions 2.x, donc nous devrions implémenter des solutions de contournement complexes.</li>
<li>
<strong>OpenGL3 requis :</strong> La branche 2.1 d’Ogre3D ne gère plus le matériel OpenGL2. Même si la prise en charge du matériel faisant tourner Morrowind à sa sortie n’a jamais fait partie des objectifs d’OpenMW, nous pensons qu’il est trop tôt pour abandonner OpenGL2, abandon qui affecterait une bonne partie de nos utilisateurs.</li>
<li>
<strong>Système de matériaux :</strong> Ogre 2.1 arrive avec un nouveau système de matériaux avec des optimisations AZDO (<em>Approaching Zero Driver Overhead</em>), mais au prix d’une complexité accrue pour l’écriture de nouveaux matériaux. Nous le faisons massivement avec OpenMW, en particulier si on prend en compte les <em>mods</em> créés par des utilisateurs, pour lequel nous préférerions un système plus flexible et facile d’utilisation.</li>
</ul><p>En plus de ces récents problèmes causés par les dernières versions d’Ogre3D, nous avons aussi quelques problèmes qui nous suivent depuis un moment :</p>
<ul>
<li>
<strong>Système de ressources :</strong> Ogre3D force l’utilisation d’un gestionnaire de ressources global, mais nous avons besoin d’un gestionnaire de ressources par document avec OpenCS. Un autre problème est que toutes les ressources sont censées avoir un nom unique, ce qui conduit à du travail supplémentaire de notre côté, et peut parfois créer des conflits entre les ressources ajoutées par des mods et celles du jeu original. C’est un problème bien connu par l’équipe Ogre3D, et un projet de réécriture du système de ressources a débuté en 2013, projet qui n’est malheureusement pas encore abouti.</li>
<li>
<strong>Gestion des pochoirs/modèles (<em>stencil</em>)</strong> : le format NIF utilisé par Morrowind peut utiliser <em>stencil settings</em>, mais Ogre3D ne le gère pas.</li>
<li>
<strong>Mise à l’échelle de la largeur des PNJ :</strong> Les personnes non-joueurs (PNJ) de Morrowind ont une propriété "poids", qui devrait modifier l’échelle de ceux-ci selon leur axe X. OpenMW ignore pour l’instant cette propriété, parce que le système de squelette d’Ogre3D 1.x ne supporte pas la mise à l’échelle non uniforme.</li>
</ul></div><div><a href="https://linuxfr.org/news/openmw-une-implementation-libre-du-moteur-du-jeu-de-role-morrowind.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/102436/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/openmw-une-implementation-libre-du-moteur-du-jeu-de-role-morrowind#comments">ouvrir dans le navigateur</a>
</p>
AldebaranNÿcoBAudBenoît Sibaudvv222JoallandXavier TeyssierM5oulzurvanpalm123Nicolas Boulaybubar🦥https://linuxfr.org/nodes/102436/comments.atom