logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#1

Message par serpafi »

Bonjour à tous,
Je vous présente mon logiciel : TAO-MKV
Conçu pour multiplexer et/ou convertir des videos avec plusieurs paramètres:
 ! Message de : serpafi
testé uniquement sur Windows 10 en 64 bits, version en 32 en cours.
Si je peux avoir des retours de compatibilité 32, je vous remercie


La V2 proposée servira plus aux codeurs pour des aides à l'amélioration sinon actuellement elle est non fonctionnelle:

Attention! La version actuelle sur ce site comporte plusieurs bugs.
Celle de Github (1.0.1.24) est plus stable.

correction actuelle sur la version proposée ici:
-Bouton "arrêter" optimisé.

modifications terminées pour la prochaine MAJ :
- extraction des ID de chaque piste
- menu contextuel "mediainfo" pour chaque élément

modification en cours:
- ajout de scission
- ajout de l'entrelacement
- décalage/étirement des pistes (audio, vidéo ou encore sous-titre)
- refonte complète de l'interface
- nettoyage du code




caractéristique :
► Afficher le texte
installation et utilisation :
-Aller sur ce lien https://github.com/serpafi/TAO-MKV.git et cliquer sur le bouton "clone or download" puis "download ZIP".
-Dézipper le fichier ou vous le souhaitez
-Et pour finir, lancer "TAO-MKV beta-64.exe" (la version 32 est en cours)
-Dans le dossier dézippé vous pouvez utiliser le tuto pour vous aidez.

URL des outils :
FFMPEG, FFPRODE et FFPLAY : https://ffmpeg.zeranoe.com/builds/
MKVMERGE et MKVEXTRACT : https://mkvtoolnix.download/
MKVALIDATOR et MKCLEAN : https://www.matroska.org/downloads/windows.html

erreur(s) détectée(s) et modification(s) en cours:
-des erreurs par MKVMERGE (X:/XXX.mkv: No such file or directory)
ou via FFMPEG (Error: The file 'X:/XXX.mkv' could not be opened for reading: open file error.)
sont en cours de résolution.
-création d'erreurs quand il y a des "." dans le nom des titres.
-suppression des extensions dans le comparatif des noms.
-Bouton "arrêter" sera optimisé à la prochaine MAJ (arrêt complet du logiciel en gardant les paramètres actuels) .
-Ajout des options de scission, entrelacement, décalage/étirement audio et/ou vidéo.
-suppression de l'onglet "1 source".



Erreurs/modifications résolues:
-la création du LOG bloque le programme (correction en cours)
-refonte complète du dossier sur github pour une installation et utilisation plus simple
-tuto illustré en cours (1ere version sur : tuto en PNG)
-problème pour la mise a jour via le logiciel


Fichier source en AU3 sur github et aussi ici.
Désolé, mon code est en pagaille :lol:

Pour la MAJ:V 1.0.1.24 du 19/12/19

-Par github
-Par le logiciel via " ? > Rechercher une MAJ "
-ou par .AU3 du forum

TAO-MKV reste en version bêta donc il y a des fonctionnalités grisées et peut-être des bugs.
Si vous rencontrez des bugs ou avez des idées d'amélioration, vous pouvez me contacter via
le logiciel " ? > Me contacter " ou directement: taomkv@gmail.com
Cela m'aidera beaucoup.
PS: ne fonctionne pas en droit administrateur et n'écrit pas dans les dossiers protégés ( choix pour la protection )
Merci de votre compréhension


Voila, en espérant que vous allez trouver votre bonheur.
Fichiers joints
TAO-MKV.au3
(159.76 Kio) Pas encore téléchargé
TAO-MKV.au3
(159.76 Kio) Pas encore téléchargé
V2.au3
(159.76 Kio) Pas encore téléchargé
V2.au3
(159.76 Kio) Pas encore téléchargé
Modifié en dernier par serpafi le jeu. 23 janv. 2020 18:35, modifié 35 fois.

Avatar du membre
walkson
Modérateur
Modérateur
Messages : 737
Enregistré le : ven. 12 août 2011 19:49
Localisation : Essonne
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#2

Message par walkson »

Bonjour,
Il manque RecFileListToArray.au3 comme include
GUICtrlSetImage($Pic1, "C:\Users\serpafi\Downloads\alert-icon-1563(1).jpg") il faudrait avoir votre IP pour télécharger l'image :lol:
Et enfin il serait bon de préciser que le programme fonctionne en 64 bits (c'est dommage, je suis en 32)
à la lecture du code, c'est un beau travail !
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)

serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#3

Message par serpafi »

Okay, je rajoute les éléments manquants maintenant.
En tout cas merci de ton compliment :D
Je vais ajouter aussi une MAJ du code aujourd’hui si j'arrive à régler un bug (fichier final aléatoire corrompu) et voir si je peux faire une version 32 Bits.
Bon, que le travail continu :wink:

Avatar du membre
walkson
Modérateur
Modérateur
Messages : 737
Enregistré le : ven. 12 août 2011 19:49
Localisation : Essonne
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#4

Message par walkson »

Quelques remarques qui pourraient vous simplifier votre travail
Concernant RecFileListToArray.au3
UDF Obsolète - 23 déc.2013
Comme depuis la sortie de la v3.3.10.0, la base de cette UDF est maintenant incluse dans les UDF AutoIt standard en tant que _FileListToArrayRec dans File.au3
https://www.autoitscript.com/forum/topi ... nt=1138594
Ça fait un include de moins !
Concernant les programmes en ligne de commande, ils sont en GNU GENERAL PUBLIC LICENSE
Pour FFMpeg par exemple
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
ce qui veut dire qu'il vous est possible de mettre dans un dossier une copie de tous les programmes et de distinguer les 32 ou les 64 bits
La seule obligation est de joindre la licence du programme (qui est jointe avec le programme) et je conseille de mettre un lien vers le téléchargement (la page HTML par exemple), éventuellement l'empreinte SHA-1
Dans ce dossier, vous pourriez mettre alert-icon-1563(1).jpg, c'est plus pratique que de passer par C:\Users\serpafi\Downloads\alert-icon-1563(1).jpg :P
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)

serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#5

Message par serpafi »

Yep, yep, yep!!!! SUPER vos infos.
Ce soir je créer un dossier plus propre (pas encore d'install en Inno setup même si j'en ai déjà un :lol: ).
Je suis encore sur la prochaine MAJ pour aujourd'hui et je pense être encore sur le code jusqu'à 2h du mat y compris sur le forum :? .
Petit boulot pour ce soir:
-RecFileListToArray.au3 va partir (ancienne fonction non supprimée).
-Comparaison des fichiers des 2 listes, passage en couleur et exclusion du processus si ils ne correspondent pas (ça fait 5h que je galère dessus, pas encore de résultat).
-Commenter un peu plus les fonctions et autres.
-Vérification de l'architecture pour pouvoir travail sur 32 et 64 bits.
-M'occuper des licenses.
et pour finir, continuer à nettoyer le script.

Rien que de me relire j'en ai mal à la tête :lol:

serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#6

Message par serpafi »

La MAJ sera pour demain ( 15/12/19) si tout se passe bien, le problème de la vérification de la comparaison des 2 listes sera réglé.

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5902
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#7

Message par mikell »

Hello
Tu t'es attaqué à un gros truc... j'attends la compatibilité 32 bits pour tester
Sinon le code est largement optimisable, par exemple et entre autres

        If $log_frameratevideo = ("") Then
                $log_frameratevideo = ("")
        EndIf

        $log_resolution = " -s " & GUICtrlRead($resolution)
        If $log_resolution = (" -s " & "720x480") Then
                $log_resolution = (" -s " & "720x480")
        EndIf

        If $log_bitrateaudio = (" -b:a " & "96k") Then
                $log_bitrateaudio = (" -b:a " & "96k")
                $idbitrateaudio = True
        EndIf

       etc
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#8

Message par serpafi »

Bien le bonsoir,
Je sais bien que ce n'est pas un petit projet mais j'avais besoin de me défouler et aussi je mux beaucoup, mon log en batch ne suivait plus donc c'est pour cela que j'ai appris le Autoit il y a 2 mois.
Pour la partie optimisation c'est bien juste, le code actuel est brute de décoffrage.
Je vais le simplifier après avoir trouvé le bug sur le muxage dans la fonction "process".
le mux lâche aléatoirement et corrompt la piste video. bref encore plein de taf :lol:
Je me grouille pour la version 32 mais mes ordis sont tous en 64 donc pas pouvoir tester, je vais essayer de sortir la version 32 ce soir.
je reste online jusqua 2h du mat donc si conseils, idées ou soluces je suis preneur.

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5902
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#9

Message par mikell »

Est-ce que tu as prévu la possibilité de faire un vrai traitement par lot (par exemple, traiter automatiquement les 30 épisodes d'une série)? parce que ça c'est vraiment la m.... :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#10

Message par serpafi »

Il est justement prévu pour. La version batch le fait sans erreur de muxage mais j'ai mis 2 ans pour le concevoir Argh!!!
Pour l'instant 0 erreur sur l' extraction (toutes formes de piste) c'est le mux qui pèche aléatoirement.
Je crois que je vais mettre en place "ProcessWaitClose" à chaque étape pour soulager MKVMERGE ou sinon j'ai une fuite de ram ou matos défaillant (au pire mon proc qui chauffe).
Sinon 9 fois sur 10 le travail est fait sans faute. Test fait avec 30 à 50 fichiers par listview.

serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#11

Message par serpafi »

D'ailleur mikell,
Savez-vous si je dois modifier des macros, codes ou autres dans le script pour le passer en 32 bit.
Si je suppose bien, le script est compatible sur les 2 (32/64), il faut renseigner la bonne version ffmpeg, mkvmerge et mkvextract.
Dites moi se dont vous avez besoin pour faire tourner la bebette sinon dites moi se qui se passe en cas d'erreur.

serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#12

Message par serpafi »

mikell a écrit :
lun. 16 déc. 2019 21:10
Est-ce que tu as prévu la possibilité de faire un vrai traitement par lot (par exemple, traiter automatiquement les 30 épisodes d'une série)? parce que ça c'est vraiment la m.... :mrgreen:
je suis allé à 100 videos par listview et le processus est prévu pour traiter 1 par 1 les videos à la chaine en auto, les données sont nettoyés après chaque fin de processus donc gain de place.
C'est comme le faire avec mkvtoolnix mais en lot.

serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#13

Message par serpafi »

Walkson et Mikell,
pour la version 32 je vous ais posté un compilé sur https://github.com/serpafi/TAO-MKV sous le nom "test TAO-MKV bêta-86.exe".
Si cela ne fonctionne pas, dites moi le format ou la manip a faire pour pouvoir être compatible en 32 bits.
A tantôt

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5902
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#14

Message par mikell »

serpafi a écrit :
lun. 16 déc. 2019 21:56
le processus est prévu pour traiter 1 par 1 les videos à la chaine en auto
Hum. Oui, on peut piloter tous ces logiciels pour qu'ils traitent par lot
Le problème c'est qu'ils font TOUS le batch en utilisant les index des streams, et il arrive malheureusement trop souvent que d'un épisode d'une série sur l'autre les index des pistes souhaitées (audio, ou sous-titres "fre" par exemple) ne correspondent pas. C'est pour ça que je parle de m... :mrgreen:
Sinon pour le 32 bits, je vais attendre d'avoir le .au3 pour tester
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#15

Message par serpafi »

Mikell j'ai besoin de vous et pas qu'un peu.
Sur mon ordi en 64 bits j'ai pu traiter plus de 100 EP en 1 fois avec les même paramètres pour les testes de stabilité et aussi quand j'utilise le log pour mes mux perso (c'est long :lol: ).
J'ai fait un test en 32 bits avec les log que je vous ai proposé mais j’attends les retour et surtout une aide sur la compatibilité des 32/64 bits.
Je sais que le muxing pause un réel problème, si possibilité, envoyer moi la video et le log (pour les erreurs).
Le process de TAO-MKV:
mkvextract pour les chapitres
mkvmerge pour les pistes audios, sub, ttf
le muxage c'est via mkvmerge

serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#16

Message par serpafi »

Pour info, mkvmerge gère les tracks avec le code ISO-639-2 donc pas de souci et pour les pistes inconnues j'ai rajouté un bout de code pour extraire les pistes UND (inconnu) et les rajouter au muxage final.
Mikell vous vous inquiétiez des bugs sur les streams, pas de soucis.
mkvmerge est bien plus précis sur les flux que ffmpeg.
mkvmerge se base sur l'ISO ou l'ID et ffmpeg sur l'index(ID).
Sinon j'ai compilé en 32 puis test des mux et ça marche, lancé "Run script (x86)" et fais des mux et ca marche.
Il ne faut pas m'en vouloir.
Hors mis la capacité de la ram pour 32/64 bits, je ne me suis pas penché outre mesure donc j'ai besoin d'un coup de main pour créer une version 32 bits, perso j'en n'ai pas besoin mais j'aimerais pouvoir le proposer à tout le monde.

Avatar du membre
walkson
Modérateur
Modérateur
Messages : 737
Enregistré le : ven. 12 août 2011 19:49
Localisation : Essonne
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#17

Message par walkson »

Bonjour,

Il y a plusieurs choses qui m'interpellent !

Sur GitHub, la logique voudrait qu'il y ait deux dossiers (x64 et x86) contenant les programmes utilisés selon l’architecture (avec code source et licences). Sur le Tab "paramètres" pourrait afficher directement les chemins de ces programmes sans faire de recherche ! (ça fait moins brouillon)
Si ces dossiers sont trop importants, on peut toujours les compresser.

Vous proposez, toujours sur le même site, de télécharger ffmepg32.zip qui ne contient pas ffprode et ffplay alors que vous demandez ces programmes sur votre GUI ?

Dans votre code, vous écrivez
While 1
        GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
        _GUICtrlListView_HideColumn($ListView1, 1)
        _GUICtrlListView_HideColumn($ListView2, 1)
L’intérêt de GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND") est justement de ne pas avoir besoin de boucle ! de même de cacher en continue les colonnes des listviews ????

Dans le Tab "Log", l'appui du bouton "créer un log" bloque le programme sans doute à cause de la variable $log utilisée pour des choses très différentes (ID ou Path) ?...

Personnellement, je n'ai pas compris l’utilité de $ListView1 et de $ListView2 (pas d'explication) mais je suis très médiocre dans la manipulation de vidéos.... Je suppose aussi que le tab "1 source" n'est pas fonctionnel ? (ça serait bien de préciser ce qui reste à faire et ce qui fonctionne)

Voilà quelques observations que j'espère utile
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)

serpafi
Niveau 2
Niveau 2
Messages : 17
Enregistré le : ven. 25 oct. 2019 21:19
Status : Hors ligne

Re: logiciel multiplexage video par lot "TAO-MKV" .exe ET .au3

#18

Message par serpafi »

Merci Walkson pour ton retour,
j'ai commencé les modifications sur github + d'autres choses comme un tuto sur les paramètres et l'histoire des listviews.
Vous avez raison pour la TAB 1 source, je vais le préciser et aussi étoffer les infos sur le logiciel.

Pour la partie codage, je vais regarder pour GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND") et si je cache les colonnes c'est qu'il y en a une pour afficher le nom et l'autre c'est pour le chemin et le nom qui va-t-être utilisée pour le process multiplexage.
Cela permet de drop des fichiers de n’importe où sans se prendre la tête et éviter les erreurs à répétition.

En tout cas encore merci pour toutes ces infos, c'est grâce a cela que TAO-MKV avance :wink: :D

Répondre