Je vous présente mon logiciel : TAO-MKV
dernière version 1.0.2.38 du 03/05/20
Conçu pour multiplexer, modifier et/ou convertir des videos avec plusieurs paramètres
En date du 02/06/20
La prochaine version sera certainement la dernière via ce forum.
5 à 10 h par jour (samedi et dimanche aussi) durant 6 mois en étant seul, cela m'a mis sur les rotules.
La prochaine MAJ sur ce forum, je mettrais une alerte visible pour les MAJ via le logiciel (par Github en gros) + plusieurs les correctifs sur les synchros et étirements, barre de progression et divers bugs qui causes des soucis sur plusieurs stades.
Si vous voulez participer au développement du logiciel,
comprendre l'utilisation
ou encore d'autres questions comme le fonctionnement du code,
des ajouts etc... n’hésitez pas, je reste disponible pour vous.
Via ce forum,
Ou le menu du logiciel " ? " puis " Me contacter "
Ou encore la même adresse : taomkv@gmail.com
seul ! le logiciel ne pourra être abouti, éclatez-vous à proposer des idées ou modifs.
je vous remercie de m'avoir suivi et lu.
Modification(s) en cours pour la prochaine MAJ:
- NOUVEAU 25.07.20: ajout de la conversion des sous-titres (PGS ou SUP) en SRT via le Tesseract-OCR de google.
- NOUVEAU 25.07.20: système de téléchargement des composants via les sites d'origines quand vous le souhaitez et de la mise à jour du micrologiciel en automatique en cours de route.
- NOUVEAU 25.07.20: ajout multilangue ( 108 langues environ )
- NOUVEAU 25.07.20: autres résolutions de bugs et d'améliorations
- le caractère " ō " cause un echec, pas de solution
- vérifier si il y a assez d'espace sur le workdir et le dossier de destination avant le lancement
caractéristique :
► Afficher le texte
VIDEO
-Extension du/des fichier(s) : MKV, MP4, AVI, FLV, MP2, MP3, AC3, AAC, PCM
-Codec: H264(avec ou sans GPU) ou H265(avec ou sans GPU)
-Résolution : 640x360 720x480 852x480 960x540 1280x720 1920x1080 3840x2160 4096x2160
-Pixel: yuv410p|yuv411p|yuv420p|yuv420p9le|yuv420p10le|yuv420p16le|yuv422p|yuv422p9le|yuv422p10le|yuv422p16le|yuv440p|yuv444p|yuv444p9le|yuv444p10le|yuv444p16le|yuva420p|yuva420p9le|yuva420p10le|yuva420p16le|yuva422p|yuva422p9le|yuva422p10le|yuva422p16le|yuva444p|yuva444p9le|yuva444p10le|yuva444p16le
-Preset: veryslow | slower | slow (2 pass) | medium (1 pass) | fast (1 pass) | faster | veryfast | superfast | ultrafast
-Bitrate video
-Framerate: 23.976 | 24 | 25 | 29.97 | 30 | 59.94 | 60
AUDIO
-Echantillonnage: 24KHz | 32KHz | 44.1KHz | 48KHz
-Codec audio: AAC, AC3, PCM, MP3, MP2
-Autres fonctionnalités :
Choisir les pistes audio, sous-titre, chapitres, pièce-joints et vidéo à garder.
LOG en real time avec possibilité d'enregistrer le LOG en format TXT et de l'activer/désactiver pendant le processus.
Drag & Drop
Vérification de la correspondance des noms entre les 2 listes
entrelacement
scission
conversion video et audio
option décalage et étirement des pistes
choix entre bitrate video ou CRF (de 0 à 50)
nettoyage mkv
vérification de l'intégrité mkv
étirement et décalage des pistes pour chaque liste
conversion audio 5.1 vers stéréo
détéction des blocks endommagés (video qui se coupe)
-Extension du/des fichier(s) : MKV, MP4, AVI, FLV, MP2, MP3, AC3, AAC, PCM
-Codec: H264(avec ou sans GPU) ou H265(avec ou sans GPU)
-Résolution : 640x360 720x480 852x480 960x540 1280x720 1920x1080 3840x2160 4096x2160
-Pixel: yuv410p|yuv411p|yuv420p|yuv420p9le|yuv420p10le|yuv420p16le|yuv422p|yuv422p9le|yuv422p10le|yuv422p16le|yuv440p|yuv444p|yuv444p9le|yuv444p10le|yuv444p16le|yuva420p|yuva420p9le|yuva420p10le|yuva420p16le|yuva422p|yuva422p9le|yuva422p10le|yuva422p16le|yuva444p|yuva444p9le|yuva444p10le|yuva444p16le
-Preset: veryslow | slower | slow (2 pass) | medium (1 pass) | fast (1 pass) | faster | veryfast | superfast | ultrafast
-Bitrate video
-Framerate: 23.976 | 24 | 25 | 29.97 | 30 | 59.94 | 60
AUDIO
-Echantillonnage: 24KHz | 32KHz | 44.1KHz | 48KHz
-Codec audio: AAC, AC3, PCM, MP3, MP2
-Autres fonctionnalités :
Choisir les pistes audio, sous-titre, chapitres, pièce-joints et vidéo à garder.
LOG en real time avec possibilité d'enregistrer le LOG en format TXT et de l'activer/désactiver pendant le processus.
Drag & Drop
Vérification de la correspondance des noms entre les 2 listes
entrelacement
scission
conversion video et audio
option décalage et étirement des pistes
choix entre bitrate video ou CRF (de 0 à 50)
nettoyage mkv
vérification de l'intégrité mkv
étirement et décalage des pistes pour chaque liste
conversion audio 5.1 vers stéréo
détéction des blocks endommagés (video qui se coupe)
► Afficher le texte
Via Github:
-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"
Pour ceux qui utilisent seulement le AU3, vous avez besoin de :
FFmpeg.exe , MediaInfo.exe , MKVmerge.exe , MKVextract.exe , MKclean.exe et MKvalidator.exe .
Puis renseigner les chemins dans l'onglet "paramètres".
Vous pouvez sauvegarder les chemins dans le menu Préférences/sauvegarder config.
-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"
Pour ceux qui utilisent seulement le AU3, vous avez besoin de :
FFmpeg.exe , MediaInfo.exe , MKVmerge.exe , MKVextract.exe , MKclean.exe et MKvalidator.exe .
Puis renseigner les chemins dans l'onglet "paramètres".
Vous pouvez sauvegarder les chemins dans le menu Préférences/sauvegarder config.
► Afficher le texte
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
MKVMERGE et MKVEXTRACT : https://mkvtoolnix.download/
MKVALIDATOR et MKCLEAN : https://www.matroska.org/downloads/windows.html
compararaison des noms sans l'extension
► Afficher le texte
;~ compare liste 1 avec liste 2
If Not _GUICtrlListView_GetItemCount($listView2) = 0 Then
For $i = 0 To UBound($list1color) - 1
Local $Item_index, $Item_index = '', $ctrlID = '', $ctrlID_2 = ''
For $e = 0 To UBound($AExtension_entree_video) - 1
If StringInStr ( $list1color[$i], $AExtension_entree_video[$e]) > 0 Then
Local $1 = StringReplace ( $list1color[$i], $AExtension_entree_video[$e] , "")
ExitLoop
EndIf
Next
For $e = 0 To UBound($AExtension_entree_video) - 1
If StringInStr ( $list2color[$i], $AExtension_entree_video[$e]) > 0 Then
Local $2 = StringReplace ( $list2color[$i], $AExtension_entree_video[$e] , "")
ExitLoop
EndIf
Next
If Not stringCompare ( $1, $2) = 0 Then
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView1, _GUICtrlListView_FindText($listView1, $1)), $COLOR_GRAY)
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView2, _GUICtrlListView_FindText($listView1, $1)), $COLOR_GRAY)
_ArrayDelete($list1, _GUICtrlListView_FindText($listView1, $1))
_ArrayInsert($list1, _GUICtrlListView_FindText($listView1, $1), '')
_ArrayDelete($list2, _GUICtrlListView_FindText($listView1, $1))
_ArrayInsert($list2, _GUICtrlListView_FindText($listView1, $1), '')
ContinueLoop
Else
ContinueLoop
EndIf
Next
EndIf
GeSHi © Extension Codebox Plus
► Afficher le texte
Func process_audio_vf()
$corps = ' --no-chapters -D -S -a'
$extension1 = ".mka"
Dim $audio_vf[0]
for $i = 0 to 7
$sync = ''
If $stop = True Then Return
If $Alangue[$i][1] = 0 Then ContinueLoop
$sortie = $workdir1 & '\extract\audio\' & $source & '\' & $Alangue[$i][0] & '\1\'
$langue = ' ' & $Alangue[$i][0] & ' '
$level = 1
$COMMANDE = "extraction audio " & $Alangue[$i][0]
process3()
If FileGetSize ($sortie & $nom) < 100000 Then
FileDelete ($sortie & $nom)
Else
audio_vf()
_ArrayAdd ( $audio_vf,' --language 0:' & $Alangue[$i][0] & ' --default-track 0:no ' & $sync & '"' & $workdir1 & '\extract\audio\' & 'vf\' & $Alangue[$i][0] & '\1\' & $sFilename & '.mka' & '" ',3)
EndIf
Next
If $stop = True Then Return
If GUICtrlRead($box_und_vf) = $GUI_CHECKED Then
$corps = ' --no-chapters -D -S -M --no-chapters --no-global-tags '
$sortie = $workdir1 & '\extract\audio\' & $source & '\und\1\'
$langue = ' '
$COMMANDE = "extraction audio UND sans tag"
;extrait les pistes audios sans ID ISO
Local $size1 = FileGetSize($workdir1 & '\extract\audio\' & $source & '\und\1\' & $nom)
Local $size2 = FileGetSize($workdir1 & '\extract\audio\' & $source & '\fre\1\' & $nom)
Local $size3 = FileGetSize($workdir1 & '\extract\audio\' & $source & '\eng\1\' & $nom)
Local $size4 = FileGetSize($workdir1 & '\extract\audio\' & $source & '\ger\1\' & $nom)
Local $size5 = FileGetSize($workdir1 & '\extract\audio\' & $source & '\ita\1\' & $nom)
Local $size6 = FileGetSize($workdir1 & '\extract\audio\' & $source & '\jpn\1\' & $nom)
Local $size7 = FileGetSize($workdir1 & '\extract\audio\' & $source & '\spa\1\' & $nom)
If $size1 < 1000000 _
And $size2 < 1000000 _
And $size3 < 1000000 _
And $size4 < 1000000 _
And $size5 < 1000000 _
And $size6 < 1000000 _
And $size7 < 1000000 Then
$level = 1
process3()
EndIf
EndIf
EndFunc ;==>process_audio_vf
GeSHi © Extension Codebox Plus
► Afficher le texte
Func process_multiplexage()
If $stop = True Then Return
If $muxage = True Then
;~ muxer les 2 videos avec les pistes choisies
;~ CQP_CRF()
;~ entrelace()
option_check()
Scission()
;_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _________________________ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
;__________________________________________________________________________________________________
For $boucle_mux = 1 To 10
Dim $Lg_vf[8]
Dim $Lg_vo[8]
FileDelete(GUICtrlRead($chemindestination) & '\' & $nom)
Local $chemin_langue = '"' & $workdir1 & '\extract\audio\'
Local $chemin_langue_2 = $workdir1 & '\extract\audio\'
;_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _________________________ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
;__________________________________________________________________________________________________
;~ 1er muxage et vérification d'erreur
Local $CMD_mux='"' & $mkvmerge1 & '" '
$CMD_mux &= '"' & $workdir1 & '\extract\video\' & $sFilename & "." & $ext & '" ' & $opt_video
If FileGetSize($workdir1 & '\extract\chapter\vf\' & $sFilename & '.xml') > 0 Then $CMD_mux &= ' --chapters ' & '"' & $workdir1 & '\extract\chapter\vf\' & $sFilename & '.xml' & '"'
If FileGetSize($workdir1 & '\extract\chapter\vo\' & $sFilename & '.xml') > 0 Then $CMD_mux &= ' --chapters ' & '"' & $workdir1 & '\extract\chapter\vo\' & $sFilename & '.xml' & '"'
If FileGetSize($workdir1 & '\extract\attachment\vf\' & $sFilename & '.ttf') > 5000 Then $CMD_mux &= ' --attachment-mime-type video/x-matroska --attach-file ' & '"' & $workdir1 & '\extract\attachment\vf\' & $sFilename & '.ttf' & '"'
If FileGetSize($workdir1 & '\extract\attachment\vo\' & $sFilename & '.ttf') > 5000 Then $CMD_mux &= ' --attachment-mime-type video/x-matroska --attach-file ' & '"' & $workdir1 & '\extract\attachment\vo\' & $sFilename & '.ttf' & '"'
for $i = 0 to UBound($Asubvf) -1
$CMD_mux &= $Asubvf[$i]
Next
for $i = 0 to UBound($Asubvo) -1
$CMD_mux &= $Asubvo[$i]
Next
for $i = 0 to UBound($Lg_vf) -1
$CMD_mux &= $Lg_vf[$i]
Next
for $i = 0 to UBound($Lg_vo) -1
$CMD_mux &= $Lg_vo[$i]
Next
If $stop = True Then Return
$COMMANDE = "multiplexage"
$level = ""
$sortie = ' -o ' & '"' & GUICtrlRead($chemindestination) & '\' & $sFilename & "." & $ext & '"'
$CMD_mux &= $sortie & $split
GUICtrlSetData($Input4, $CMD_mux)
process3()
GeSHi © Extension Codebox Plus
► Afficher le texte
If GUICtrlRead($box_subtitle_vf) = $GUI_CHECKED Then
Dim $Asubvf[0]
$sortie = $workdir1 & '\extract\sub\' & $source & '\'
$extension1 = ".sub"
$level = 1
$COMMANDE = "extraction sous-titre"
for $i = 0 to 7
Global $LAN = "-" & $i & "-"
$corps = ' --no-audio --no-video --subtitle-tracks ' & $i & ' --no-chapters --sub-charset ' & $i & ':UTF-8 ' & ' --default-track ' & $i & ':no '
process3()
If FileGetSize ($sortie & $nom) < 5000 Then
FileDelete ($sortie & $nom)
Else
_ArrayAdd ( $Asubvf,' --default-track 0:no ' & $opt_sub_vf & '"' & $sortie & $nom & ' "')
EndIf
Next
EndIf
GeSHi © Extension Codebox Plus
► Afficher le texte
If _ArraySearch($Avideoerror,$sFilename) > -1 Then
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView1, _GUICtrlListView_FindText($listView1, $sFilename, -1, True)), 0XFF8000)
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView2, _GUICtrlListView_FindText($listView2, $sFilename, -1, True)), 0XFF8000)
ExitLoop
EndIf
If $err_color = True Then
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView1, _GUICtrlListView_FindText($listView1, $sFilename, -1, True)), $COLOR_RED)
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView2, _GUICtrlListView_FindText($listView2, $sFilename, -1, True)), $COLOR_RED)
ContinueLoop
EndIf
If $err_color = False Then
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView1, _GUICtrlListView_FindText($listView1, $sFilename, -1, True)), $COLOR_GREEN)
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView2, _GUICtrlListView_FindText($listView2, $sFilename, -1, True)), $COLOR_GREEN)
ExitLoop
EndIf
Next
EndIf
GeSHi © Extension Codebox Plus
► Afficher le texte
Func mediainfo()
Local $item, $MyData
global $lexique = @ScriptDir & '\data\mediainfo.txt'
global $fichier
global $list1
$mediainfo = GUICreate("mediainfo", 827, 544, 879, 92)
$ListViewmedia = GUICtrlCreateListView("", 0, 0, 826, 542, BitOR($GUI_SS_DEFAULT_LISTVIEW,$LVS_NOCOLUMNHEADER ,$WS_VSCROLL), BitOR($WS_EX_CLIENTEDGE,$LVS_EX_SUBITEMIMAGES,$LVS_EX_FULLROWSELECT))
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE)
_GUICtrlListView_InsertColumn ( $ListViewmedia, 0, "", 180 )
GUICtrlSetFont(-1,10,400, 0, $police)
GUICtrlSetBkColor(-1,$TAB_bk_color)
GUICtrlSetColor(-1, $text_color)
_GUICtrlListView_InsertColumn ( $ListViewmedia, 1, "", 700 )
GUICtrlSetFont(-1,10,400, 0, $police)
GUICtrlSetBkColor(-1,$TAB_bk_color)
GUICtrlSetColor(-1, $text_color)
GUICtrlSetData($Input4, '"' & $mediainfo1 & '"' & ' --Output=JSON ' & '"' & $entree & '"')
$cmd = GUICtrlRead($Input4)
Local $idPID = Run($cmd, '', @SW_HIDE, $STDIN_CHILD + $STDERR_MERGED)
Sleep(500)
While True
$sCmdOutput = StdoutRead($idPID)
If @error Then ExitLoop
$sCmdOutput = StringReplace ( $sCmdOutput, '"', "")
$sCmdOutput = StringReplace ( $sCmdOutput, '{', "")
$sCmdOutput = StringReplace ( $sCmdOutput, '}', "")
$sCmdOutput = StringReplace ( $sCmdOutput, ',', "")
$sCmdOutput = StringReplace ( $sCmdOutput, '[', "")
$sCmdOutput = StringReplace ( $sCmdOutput, ']', "")
$sCmdOutput = StringReplace ( $sCmdOutput, 'é', "é")
$sCmdOutput = StringReplace ( $sCmdOutput, 'ç', "ç")
$sCmdOutput = StringReplace ( $sCmdOutput, 'Ã', "à")
$sCmdOutput = StringReplace ( $sCmdOutput, 'è', "è")
$sCmdOutput = StringReplace ( $sCmdOutput, 'ï', "ï")
$sCmdOutput = StringReplace ( $sCmdOutput, 'ô', "ô")
$sCmdOutput = StringReplace ( $sCmdOutput, 'ê', "ê")
$sCmdOutput = StringReplace ( $sCmdOutput, 'ù', "ù")
$sCmdOutput = StringReplace ( $sCmdOutput, 'æ', "æ")
$sCmdOutput = StringReplace ( $sCmdOutput, 'Å', "œ")
$sCmdOutput = StringReplace ( $sCmdOutput, 'ë', "ë")
$sCmdOutput = StringReplace ( $sCmdOutput, 'ü', "ü")
$sCmdOutput = StringReplace ( $sCmdOutput, 'â', "â")
$sCmdOutput = StringReplace ( $sCmdOutput, 'â¬', "€")
$sCmdOutput = StringReplace ( $sCmdOutput, '©', "©")
$sCmdOutput = StringReplace ( $sCmdOutput, ' ¤', "¤")
FileDelete( @ScriptDir & '\data\mediainfo.txt')
FileWrite ( @ScriptDir & '\data\mediainfo.txt', $sCmdOutput )
WEnd
$fichier = FileOpen($lexique,0)
While 1
Local $item = FileReadLine($fichier)
If @error = -1 Then ExitLoop
If StringInStr ( $item, "@ref:") = 0 Then $item = StringReplace ( $item, ":", "|" )
$item = StringReplace ( $item, "@ref:", "Nom |" )
GUICtrlCreateListViewItem($item, $ListViewmedia)
GUICtrlSetColor(-1, $text_color)
GUICtrlSetBkColor(-1, $TAB_B_color)
WEnd
FileClose($lexique)
FileDelete( @ScriptDir & '\data\mediainfo.txt')
GUIsetState(@SW_SHOW )
While 1
$nMsg = GUIGetMsg(1)
Select
Case $nMsg[0] = $GUI_EVENT_CLOSE And $nMsg[1] = $MediaInfo
GUIDelete($MediaInfo)
ExitLoop
EndSelect
WEnd
EndFunc ;==>mediainfo
GeSHi © Extension Codebox Plus
► Afficher le texte
Func mkvalidator_test()
If $stop = True Then Return
GUICtrlSetData($Input4, '"' & $mkvalidator1 & '"' & " --live " & '"' & $sDrive & $sDir & $sFilename & "." & $ext & '"')
$cmd = GUICtrlRead($Input4)
Local $iPID = Run($cmd, '', @SW_HIDE, $STDIN_CHILD + $STDERR_MERGED)
While True
$sCmdOutput = StdoutRead($iPID)
$warning_error_log = ""
If @error Then ExitLoop
$sCmdOutput = StringTrimLeft ($sCmdOutput, StringInStr ( $sCmdOutput, "....................................................................." ,1))
$sCmdOutput = StringReplace($sCmdOutput,"....................................................................","")
;~ If StringInStr($sCmdOutput, "WRN") > 0 And StringInStr($sCmdOutput, "stream") > 0 And StringInStr($sCmdOutput, "SeekHead") > 0 Then $warning_error_log &="The live stream has a SeekHead..................." & $sDrive & $sDir & $sFilename & "." & $ext & @CRLF
;~ If StringInStr($sCmdOutput, "WRN") > 0 And StringInStr($sCmdOutput, "segment") > 0 And StringInStr($sCmdOutput, "duration") > 0 Then $warning_error_log &="The live Segment has a duration set..........." & $sDrive & $sDir & $sFilename & "." & $ext & @CRLF
;~ If StringInStr($sCmdOutput, "WRN") > 0 And StringInStr($sCmdOutput, "stream") > 0 And StringInStr($sCmdOutput, "Cues") > 0 Then $warning_error_log &="The live stream has Cues................................" & $sDrive & $sDir & $sFilename & "." & $ext & @CRLF
If StringInStr($sCmdOutput, "WRN") > 0 And StringInStr($sCmdOutput, "bytes of void data") > 0 Then $warning_error_log &="WARNING : Il y a " & _ArrayToString( _StringBetween($sCmdOutput,"There are"," bytes of void data")) & " octets de données vides ............. " & $sDrive & $sDir & $sFilename & "." & $ext & @CRLF
If StringInStr($sCmdOutput, "ERR") > 0 And StringInStr($sCmdOutput, "SimpleBlock") > 0 Then
$warning_error_log &= "ERROR : Block endommagé .............................................. " & $sDrive & $sDir & $sFilename & "." & $ext & @CRLF
EndIf
If StringInStr($sCmdOutput, "ERR") > 0 Then
_ArrayAdd($Avideoerror,$sFilename)
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView1, _GUICtrlListView_FindText($listView1, $sFilename, -1, True)), 0XFF8000)
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView2, _GUICtrlListView_FindText($listView2, $sFilename, -1, True)), 0XFF8000)
EndIf
if not $warning_error_log = "" Then GUICtrlSetData($Edit1, $warning_error_log & @CRLF, 1)
WEnd
EndFunc
If $stop = True Then Return
GUICtrlSetData($Input4, '"' & $mkvalidator1 & '"' & " --live " & '"' & $sDrive & $sDir & $sFilename & "." & $ext & '"')
$cmd = GUICtrlRead($Input4)
Local $iPID = Run($cmd, '', @SW_HIDE, $STDIN_CHILD + $STDERR_MERGED)
While True
$sCmdOutput = StdoutRead($iPID)
$warning_error_log = ""
If @error Then ExitLoop
$sCmdOutput = StringTrimLeft ($sCmdOutput, StringInStr ( $sCmdOutput, "....................................................................." ,1))
$sCmdOutput = StringReplace($sCmdOutput,"....................................................................","")
;~ If StringInStr($sCmdOutput, "WRN") > 0 And StringInStr($sCmdOutput, "stream") > 0 And StringInStr($sCmdOutput, "SeekHead") > 0 Then $warning_error_log &="The live stream has a SeekHead..................." & $sDrive & $sDir & $sFilename & "." & $ext & @CRLF
;~ If StringInStr($sCmdOutput, "WRN") > 0 And StringInStr($sCmdOutput, "segment") > 0 And StringInStr($sCmdOutput, "duration") > 0 Then $warning_error_log &="The live Segment has a duration set..........." & $sDrive & $sDir & $sFilename & "." & $ext & @CRLF
;~ If StringInStr($sCmdOutput, "WRN") > 0 And StringInStr($sCmdOutput, "stream") > 0 And StringInStr($sCmdOutput, "Cues") > 0 Then $warning_error_log &="The live stream has Cues................................" & $sDrive & $sDir & $sFilename & "." & $ext & @CRLF
If StringInStr($sCmdOutput, "WRN") > 0 And StringInStr($sCmdOutput, "bytes of void data") > 0 Then $warning_error_log &="WARNING : Il y a " & _ArrayToString( _StringBetween($sCmdOutput,"There are"," bytes of void data")) & " octets de données vides ............. " & $sDrive & $sDir & $sFilename & "." & $ext & @CRLF
If StringInStr($sCmdOutput, "ERR") > 0 And StringInStr($sCmdOutput, "SimpleBlock") > 0 Then
$warning_error_log &= "ERROR : Block endommagé .............................................. " & $sDrive & $sDir & $sFilename & "." & $ext & @CRLF
EndIf
If StringInStr($sCmdOutput, "ERR") > 0 Then
_ArrayAdd($Avideoerror,$sFilename)
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView1, _GUICtrlListView_FindText($listView1, $sFilename, -1, True)), 0XFF8000)
GUICtrlSetColor(_GUICtrlListView_GetItemParam($listView2, _GUICtrlListView_FindText($listView2, $sFilename, -1, True)), 0XFF8000)
EndIf
if not $warning_error_log = "" Then GUICtrlSetData($Edit1, $warning_error_log & @CRLF, 1)
WEnd
EndFunc
GeSHi © Extension Codebox Plus
► Afficher le texte
Func _GUICtrl_SetColor($hWnd, $debut, $fin, $theme)
_couleur($theme)
GUICtrlSetDefBkColor ( $GUI_BKCOLOR_TRANSPARENT)
If $desktopheight = 1080 Then
local $taille = 9
local $taille_logo = 60
Local $weight = 50
Dim $ID_bouton[30] = ["92", "93", "94", "143", "145", "223", "232", "233", "234", "238", "240", "241", "242", "246", "247", "250", "252", "254", "265", "266", "269", "270", "271", "274", "275", "276", "277", "287"]
Dim $ID_listeview[10] = ["254", "268", "259", " 267"]
Dim $ID_progressbar[2] = ["264"]
ElseIf $desktopheight = 720 Then
local $taille = 8
local $taille_logo = 45
Local $weight = 20
Dim $ID_bouton[30] = ["92", "93", "94", "279", "280", "281", "282", "283","270", "271", "265", "264", "269", "268", "142", "144", "222", "261", "231", "232", "233", "239", "240" ,"241", "245","246", "249", "251", "237"]
Dim $ID_listeview[10] = ["266", "258", "267", "253"]
Dim $ID_progressbar[2] = ["263"]
EndIf
For $iID = $debut + 1 To $fin - 1
If $theme = 0 Then
ExitLoop
ElseIf _ArraySearch($ID_bouton, $iID) > -1 Then
GUICtrlSetColor($iID, $text_color)
GUICtrlSetBkColor($iID, $TAB_B_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
ElseIf _ArraySearch($ID_listeview, $iID) > -1 Then
GUICtrlSetColor($iID, $text_color)
GUICtrlSetBkColor($iID, $TAB_B_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
Else
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($iID), "wstr", 0, "wstr", 0)
GUICtrlSetColor($iID, $tab_text_color)
GUICtrlSetBkColor($iID, $TAB_bk_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
EndIf
Next
GUICtrlSetFont($Label1,$taille_logo, 50, 0, "Limelight")
EndFunc ;==>_GUICtrl_SetColor
_couleur($theme)
GUICtrlSetDefBkColor ( $GUI_BKCOLOR_TRANSPARENT)
If $desktopheight = 1080 Then
local $taille = 9
local $taille_logo = 60
Local $weight = 50
Dim $ID_bouton[30] = ["92", "93", "94", "143", "145", "223", "232", "233", "234", "238", "240", "241", "242", "246", "247", "250", "252", "254", "265", "266", "269", "270", "271", "274", "275", "276", "277", "287"]
Dim $ID_listeview[10] = ["254", "268", "259", " 267"]
Dim $ID_progressbar[2] = ["264"]
ElseIf $desktopheight = 720 Then
local $taille = 8
local $taille_logo = 45
Local $weight = 20
Dim $ID_bouton[30] = ["92", "93", "94", "279", "280", "281", "282", "283","270", "271", "265", "264", "269", "268", "142", "144", "222", "261", "231", "232", "233", "239", "240" ,"241", "245","246", "249", "251", "237"]
Dim $ID_listeview[10] = ["266", "258", "267", "253"]
Dim $ID_progressbar[2] = ["263"]
EndIf
For $iID = $debut + 1 To $fin - 1
If $theme = 0 Then
ExitLoop
ElseIf _ArraySearch($ID_bouton, $iID) > -1 Then
GUICtrlSetColor($iID, $text_color)
GUICtrlSetBkColor($iID, $TAB_B_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
ElseIf _ArraySearch($ID_listeview, $iID) > -1 Then
GUICtrlSetColor($iID, $text_color)
GUICtrlSetBkColor($iID, $TAB_B_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
Else
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($iID), "wstr", 0, "wstr", 0)
GUICtrlSetColor($iID, $tab_text_color)
GUICtrlSetBkColor($iID, $TAB_bk_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
EndIf
Next
GUICtrlSetFont($Label1,$taille_logo, 50, 0, "Limelight")
EndFunc ;==>_GUICtrl_SetColor
GeSHi © Extension Codebox Plus
correction des résolutions
► Afficher le texte
Func _GUICtrl_SetColor($hWnd, $debut, $fin, $theme)
_couleur($theme)
GUICtrlSetDefBkColor ( $GUI_BKCOLOR_TRANSPARENT)
If $desktopheight = 1080 Then
local $taille = 9
local $taille_logo = 60
Local $weight = 50
Dim $ID_bouton[30] = ["92", "93", "94", "143", "145", "223", "232", "233", "234", "238", "240", "241", "242", "246", "247", "250", "252", "254", "265", "266", "269", "270", "271", "274", "275", "276", "277", "287"]
Dim $ID_listeview[10] = ["254", "268", "259", " 267"]
Dim $ID_progressbar[2] = ["264"]
ElseIf $desktopheight = 720 Then
local $taille = 8
local $taille_logo = 45
Local $weight = 20
Dim $ID_bouton[30] = ["92", "93", "94", "279", "280", "281", "282", "283","270", "271", "265", "264", "269", "268", "142", "144", "222", "261", "231", "232", "233", "239", "240" ,"241", "245","246", "249", "251", "237"]
Dim $ID_listeview[10] = ["266", "258", "267", "253"]
Dim $ID_progressbar[2] = ["263"]
EndIf
For $iID = $debut + 1 To $fin - 1
If $theme = 0 Then
ExitLoop
ElseIf _ArraySearch($ID_bouton, $iID) > -1 Then
GUICtrlSetColor($iID, $text_color)
GUICtrlSetBkColor($iID, $TAB_B_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
ElseIf _ArraySearch($ID_listeview, $iID) > -1 Then
GUICtrlSetColor($iID, $text_color)
GUICtrlSetBkColor($iID, $TAB_B_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
Else
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($iID), "wstr", 0, "wstr", 0)
GUICtrlSetColor($iID, $tab_text_color)
GUICtrlSetBkColor($iID, $TAB_bk_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
EndIf
Next
GUICtrlSetFont($Label1,$taille_logo, 50, 0, "Limelight")
EndFunc ;==>_GUICtrl_SetColor
_couleur($theme)
GUICtrlSetDefBkColor ( $GUI_BKCOLOR_TRANSPARENT)
If $desktopheight = 1080 Then
local $taille = 9
local $taille_logo = 60
Local $weight = 50
Dim $ID_bouton[30] = ["92", "93", "94", "143", "145", "223", "232", "233", "234", "238", "240", "241", "242", "246", "247", "250", "252", "254", "265", "266", "269", "270", "271", "274", "275", "276", "277", "287"]
Dim $ID_listeview[10] = ["254", "268", "259", " 267"]
Dim $ID_progressbar[2] = ["264"]
ElseIf $desktopheight = 720 Then
local $taille = 8
local $taille_logo = 45
Local $weight = 20
Dim $ID_bouton[30] = ["92", "93", "94", "279", "280", "281", "282", "283","270", "271", "265", "264", "269", "268", "142", "144", "222", "261", "231", "232", "233", "239", "240" ,"241", "245","246", "249", "251", "237"]
Dim $ID_listeview[10] = ["266", "258", "267", "253"]
Dim $ID_progressbar[2] = ["263"]
EndIf
For $iID = $debut + 1 To $fin - 1
If $theme = 0 Then
ExitLoop
ElseIf _ArraySearch($ID_bouton, $iID) > -1 Then
GUICtrlSetColor($iID, $text_color)
GUICtrlSetBkColor($iID, $TAB_B_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
ElseIf _ArraySearch($ID_listeview, $iID) > -1 Then
GUICtrlSetColor($iID, $text_color)
GUICtrlSetBkColor($iID, $TAB_B_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
Else
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($iID), "wstr", 0, "wstr", 0)
GUICtrlSetColor($iID, $tab_text_color)
GUICtrlSetBkColor($iID, $TAB_bk_color)
GUICtrlSetFont($iID,$taille, $weight, 0, $police)
EndIf
Next
GUICtrlSetFont($Label1,$taille_logo, 50, 0, "Limelight")
EndFunc ;==>_GUICtrl_SetColor
GeSHi © Extension Codebox Plus
Mise à jour:
► Afficher le texte
Fichier source en AU3 sur github et aussi ici.
Pour la MAJ:V 1.0.2.38 du 03/05/20
-Par github
-Par le logiciel via " ? > Rechercher une MAJ "
-ou par .AU3 du forum
Pour la MAJ:V 1.0.2.38 du 03/05/20
-Par github
-Par le logiciel via " ? > Rechercher une MAJ "
-ou par .AU3 du forum