Universal GUI Input > Output

Visiteur
Visiteur
Il existe un encodeur audio tel que Nero AAC Encoder (l'archive contient également une version pour Linux i386). Ou n'importe quel autre, par exemple ffmpeg (bien qu'il existe plusieurs interfaces graphiques prêtes à l'emploi pour cela, mais ffmpeg fera l'affaire par exemple).
Les paramètres d'encodage sont :
Code BASH :
nero -q 0.98 -lc -if input.wav -of output.m4a
ou
Code BASH :
ffmpeg -drc_scale 0 -i input.ac3 -c:a aac -b:a 128k output.m4a
C'est bien beau, mais c'est une console.
Et je voudrais une interface graphique.
Que je pourrais ensuite utiliser avec d'autres codeurs (de console), avec d'autres paramètres.
Je demande votre aide pour écrire une telle application (GUI) dans le langage de programmation et le toolkit de votre choix. Je préférerais GTK2. Mais cela peut être Qt5 (QtCreator), FreePascal, même Java.
Le programme est très simple. Il prend l'entrée et l'envoie à un encodeur de console avec des options câblées. Il ne fait même pas de suivi de la progression (ce qui n'est pas trivial). Bien que le suivi de l'achèvement de l'encodeur serait souhaitable.
Mais je ne suis pas un programmeur et je ne peux pas écrire même un utilitaire aussi simple. Aidez-moi, s'il vous plaît.
Ou peut-être connaissez-vous des projets existants que je pourrais modifier pour les adapter à mes besoins ? Je voudrais GTK2.

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
En Pascal avec GTK2, c'est possible, mais j'ai moins l'habitude.
En C avec GTK2, je ne saurais pas le faire. Je ne sais pas s'il y a un équivalent en C à l'excellente unité Process de Free Pascal, qui rend vraiment facile l'interaction avec les programme de type console.

Visiteur
Visiteur
Je serais heureux de recevoir des exemples car, comme je l'ai déjà dit, je ne suis malheureusement pas un programmeur mais seulement un assembleur amateur.
Roland57 :
Je ne sais pas s'il y a un équivalent en C à l'excellente unité Process de Free Pascal, qui rend vraiment facile l'interaction avec les programme de type console
Tu veux dire suivre les progrès ? Ce n'est pas nécessaire. L'essentiel est que l'application soit universelle.

Visiteur
Visiteur
Roland57 :
En C avec GTK2, je ne saurais pas le faire
C'est une question que je me pose également. Sur quoi le logiciel GTK2 a-t-il été développé avant GNOME Builder (GTK3).
WinFF (GUI pour ffmpeg) en FreePascal.
Quelqu'un peut-il suggérer une variante de PyGTK ?

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
Mais à ce moment-là quelle différence avec lancer la ligne de commande dans un terminal ? Quelles facilités ou commodités attends-tu de ce programme ?

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron
artenaki :
C'est une question que je me pose également. Sur quoi le logiciel GTK2 a-t-il été développé avant GNOME Builder (GTK3)
Roland57 :
En C avec GTK2, je ne saurais pas le faire
C'est une question que je me pose également. Sur quoi le logiciel GTK2 a-t-il été développé avant GNOME Builder (GTK3)
Je ne comprends pas ce que tu veux dire. GTK2 est une bibliothèque pas un logiciel. Et GNOME Builder est un IDE. Il n'est d'ailleurs pas génial.
GTK est développé en C.

Visiteur
Visiteur
Au lieu d'ouvrir la console et de taper, je veux utiliser la souris pour sélectionner un fichier d'entrée dans l'interface graphique, spécifier le fichier de sortie et obtenir le résultat sans toucher le clavier.
Yuusha Je parle du logiciel utilisant GTK2 toolkit. Dans quel IDE est-il habituellement développé ? vim/text editor/FreePascal IDE ?

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Qu'est-ce qu'on apporterait de plus que les applications existantes ?
Je peux proposer une suite de script bash couplé avec quelques applications comme inotify.
On démarre l'application,
Une arborescence apparait "là où elle est lancée" proposant diverses extentions.
On clic-glisse le fichier à convertir dans le dossier (par exemple "to_mp3_256kbps")
Une fois fini, il ré-apparait dans le dossier courant (à la racine de l'arborescence crée au démarrage).
À l'arret de l'application, l'arborescence est détruite.
Quelques informations :
- pas d'interface graphique, peu de dépendances, facile à maintenir
- utilisant le système de fichier, l'outil est utilisable avec les différents exploreurs de fichiers, même en ligne de commande (mv mon-fichier.wav ./to_mp3/), et déployable sur un serveur.
- un dossier pour une préconfiguration, facile à dupliquer. D'ailleurs, on peut faire un fichier de configuration global et un "utilisation" (dans ~/.config/outil.conf) pour chacune des préconfigurations.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
D'accord, je vois un peu mieux ce que tu veux. Demain je te proposerai un exemple.

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
Voici un prototype réalisé avec Lazarus.
ui-230212.zip

En cours de route je crois que j'ai mieux compris ton idée, et elle me plaît bien.

Mode d'emploi :
Choisir 1° l'opération à effectuer, 2° le fichier d'entrée et 3° le fichier de sortie. Choisir si l'outil doit être lancé directement ou par l'intermédiaire du shell. (Comment diriez-vous en français ? L'interpréteur de commandes ?) Choisir si l'erreur standard doit être redirigée. (Obligatoire pour FFmpeg, qui écrit tout dans l'erreur standard.)
L'application construit la ligne de commande en fonction de ces paramètres. On peut cependant la modifier manuellement avant de l'exécuter.
Guide du développeur :
Pour ajouter des opérations, il faut 1° ajouter la description de l'opération ici :
Code PASCAL :
resourcestring rsWavToMp3Ffmpeg = 'Convert WAV to MP3 using FFmpeg'; rsWmaToMp3Ffmpeg = 'Convert WMA to MP3 using FFmpeg';
Puis ajouter le squelette de la ligne de commande ici :
Code PASCAL :
procedure TForm1.FormCreate(Sender: TObject); begin { ... } LBOperations.Items.AddObject(rsWavToMp3Ffmpeg, TToolCommand.CreateToolCommand('ffmpeg -i %s -vn -ar 44100 -ac 2 -b:a 192k %s')); LBOperations.Items.AddObject(rsWmaToMp3Ffmpeg, TToolCommand.CreateToolCommand('ffmpeg -i %s -acodec libmp3lame -ab 192k %s')); end;
3° Éventuellement, si on veut que la description de l'opération soit traduite en français, il faut éditer (avec poedit) le fichier qui (pour l'instant) s'appelle demo.fr.po (dans le dossier languages).
P.-S. La version de Lazarus fournie par Mageia est un peu ancienne. Je te conseillerais plutôt, si tu souhaites installer Lazarus, d'utiliser fpcupdeluxe.
@Jybz
La solution que tu décris paraît très intéressante. Je suis preneur.

Édité par Roland57 Le 13/02/2023 à 14h44

Visiteur
Visiteur
Ma vue se dégrade, il semble que je doive subir une opération des yeux...

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
artenaki :
Cela semble intéressant. Comment puis-je compiler ceci ?
Il te faut Lazarus (voir message précédent). Dans Lazarus, ouvrir le projet demo.lpi, puis construire.
artenaki :
Ma vue se dégrade, il semble que je doive subir une opération des yeux...
Ah moi c'est pareil. Trop de temps passé devant l'écran... Bon courage !

steven Membre non connecté
-
- Voir le profil du membre steven
- Inscrit le : 18/05/2018
Mais n'est ce pas ce que fait un peu, (dans le genre), ff multiconverter ???
No Comment ...
Merci de ne pas 'rebondir' sur mes post's
Censor => 2025





Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
Ah mais oui, on dirait que c'est exactement ça. Merci, je ne connaissais pas ce logiciel. Je vais y jeter un œil.
https://github.com/ilstam/FF-Multi-Converter

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
Pour le logiciel lui-même (FF-Multi-Converter), j'ai pu l'exécuter du premier coup sans erreur et sans rien avoir à installer.
Code TEXT :
[roland@localhost ff-multi-converter (master)]$ ./launcher
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie