(2)

Créer une vidéo à partir d'une sauvegarde de partie MAME

Comme je le racontais il y a 6 ans, il est possible d'enregistrer des parties de jeux sur MAME, de rejouer la partie et si besoin d'enregistrer une vidéo de celle-ci.

J'en avais profité pour publier une page dédiée.
Comme je trouvais les manipulations en ligne de commande fastidieuses, j'avais écris un script bash pour faciliter l'opération, mais ça restait de l'austère ligne de commande.

  • Un peu moins austère, j'ambitionnais de créer une interface graphique pour faire cela, et c'est donc aujourd'hui que je publie enfin un script python3 qui permet donc en quelques clicks de rejouer une partie et d'en générer une vidéo au format mp4/h264, le tout de manière automatisée.

Le code de ce logiciel est disponible ici, mais il vous manquera l'exécutable MAME que j'ai compilé.

  • J'ai donc réunis tout le nécessaire dans le fichier zip en annexe de ce billet.[1]

Une fois extrait, il suffit d'exécuter install.sh afin d'installer les paquets pré-requis.
Ensuite exécuter Lanceur_Mame-inp2video4GnuLinux.sh qui a pour tâche de démarrer le logiciel que j'ai nommé pompeusement Mame-inp2video4GnuLinux.

  • Voici une capture d'écran…


C'est un peu moins austère que je disais…

  • À toute fin utiles, et comme il faudra bien ça pour alimenter le logiciel, voici la commande qui permettra d'enregistrer la partie de jeu, valable pour Windows® ou GNU/Linux :
mame nom_de_la_rom -record ma_partie.inp

Attention, il faut juste se contenter de jouer et de quitter l'émulateur en fin de partie, le fichier inp étant dés lors disponible, généralement dans le dossier inp.
En effet il semble qu'utiliser les menu mame ou les raccourcis clavier (par ex pour faire un save_state) soit incompatible avec un enregistrement correct de la partie de jeu dans le fichier inp.

  • Enfin, puisqu'il faut évidemment le préciser, le Logiciel Mame-inp2video4GnuLinux fonctionnera, depuis n'importe quel ordinateur équipé de GNU/Linux de la famille Debian (Ubuntu18.04 testé ok).

Il n'est pas nécessaire d'avoir MAME installé sur cette machine.
Vous aurez besoin cependant du fichier ROM et bien entendu du fichier INP correspondant.
Laissez vous ensuite guider par l'interface graphique…

  • Je suis débutant dans l'exercice, suis ouvert à l'apprentissage, et ne recevrais donc aucune critique non-constructive. Vous pouvez bien entendu me faire part des problèmes d'exécutions qui pourraient advenir.

Note

[1] Ci-dessous…

Seafile, comment vider la corbeille ?

Si comme moi vous vous êtes trouvé désemparé devant la corbeille à fichier de Seafile, qui malgré vidage et suppression, ne libérait toujours pas son espace disque, Et bien c'est… Normal.

  • En effet, j'ai fini par apprendre qu'il fallait exécuter le garbage collector, alias Seafile GC (seaf-gc.sh) pour supprimer réellement les fichiers après avoir vidé la corbeille.

J'avais pourtant recherché après ce genre de fonction, mais sans jamais trouver ni de bouton cliquable dans l'interface web, ni d'info dans la documentation…
Et pourtant l'info existe bien, mais faut croire qu'elle n'est pas suffisamment mise en avant, l'obscure intitulé Seafile GC n’encourageant pas à faire cliquer le visiteur occasionnel…

  • Bref, comme je n'avais aussi rien trouvé de clair via les moteurs de rechercher web, voici un petit script pour Yunohost (les chemins et commandes service étant sinon différentes), à lancer manuellement ou à faire exécuter périodiquement par cron.
#!/bin/bash

echo "Poids total des fichiers contenu dans Seafile"
du -sh /home/yunohost.app/seafile-data/

echo "Arrêt du service"
#/opt/yunohost/seafile/seafile-server-7.0.5/seafile.sh stop
yunohost service stop seafile

#echo "État de la corbeille"
#/opt/yunohost/seafile/seafile-server-7.0.5/seaf-gc.sh –dry-run

echo "Vidage de la corbeille"
/opt/yunohost/seafile/seafile-server-7.0.5/seaf-gc.sh

echo "Poids total des fichiers contenu dans Seafile, après vidage corbeille"
du -sh /home/yunohost.app/seafile-data/

echo "Relance du service"
yunohost service start seafile

Merci @jcvassort pour l'info !

Haut de page