Code : Tout sélectionner
; Version d'AutoIt: 3.0
; Langage: Français
; Systeme: WinXP
;
; Fonction du script:
; Encoder ou réencoder des fichiers videos ou audios dans un format video/audio standard avec quatre choix de qualité
; Utilisation de la librairie ffmpeg et pthreadGC2.dll
;
;&@CRLF& pour aller à la ligne
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
SplashTextOn("Chargement", "TeenyMediaConverter"&@CRLF&"Ipod Version"&@CRLF&@CRLF&"I Love You...", 180, 100, -1, -1, 4, "", 12)
Sleep(3000)
SplashOff()
_Main()
Func _Main()
GUICreate("Teeny Media Converter", 360, 84, -1, -1, -1, $WS_EX_ACCEPTFILES) ;tentative de draganddrop rem:cree une ereur dans les variables
GuiCtrlCreateLabel("Entrée:", 0, 5, 40, 20)
$entree = GuiCtrlCreateInput("", 41, 2, 278, 20)
Guictrlsetstate($entree, $GUI_DROPACCEPTED)
$setentree = GuiCtrlCreateButton("...", 320, 2, 40, 20)
$gogogo = GuiCtrlCreateButton("GO!", 320, 42, 40, 40)
GuiCtrlCreateLabel("Sortie:", 0, 25, 40, 20)
$sortie = GuiCtrlCreateInput("", 41, 22, 278, 20)
GuiCtrlCreateLabel("Convertir en:", 0, 45, 60, 20)
$type = GuiCtrlCreateCombo("Ipod Video", 61, 42, 60, 20)
GuiCtrlSetData($type, "Audio", "Ipod Video")
GuiCtrlCreateLabel("Qualité:", 0, 67, 36, 20)
$qualite = GuiCtrlCreateCombo("normal", 61, 64, 60, 20)
GuiCtrlSetData($qualite, "faible|élevé|optimal", "normal")
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $setentree
$fichierdentree = fileopendialog("Choix du fichier à réencoder", "", "Tous (*.*)")
GuiCtrlSetData($entree, $fichierdentree)
$entreesetted = GuiCtrlRead($entree)
$cc = StringLen($entreesetted)
$aa = 1
while $aa<$cc
$bb = StringMid($entreesetted, $aa, 1)
If $bb == "\" Then
$filedrawn = StringMid($entreesetted, $aa+1, ($cc-$aa)+1)
EndIf
$aa = $aa + 1
WEnd
$sortiesetted = $filedrawn
GuiCtrlsetData( $sortie, $filedrawn)
Case $msg = $gogogo
$entreesetted = GuiCtrlRead($entree)
$sortiesetted = GuiCtrlRead($sortie)
$typesetted = GuiCtrlRead($type)
$qualitesetted = GuiCtrlRead($qualite)
;MsgBox(1, "essai vars", $entreesetted&@CRLF&$sortiesetted&@CRLF&$typesetted&@CRLF&$qualitesetted)
DirCreate(@scriptdir&"\temp")
$temp = @scriptdir&"\temp"
FileCopy($entreesetted, $temp, 9)
If $sortiesetted = "" Then
$cc = StringLen($entreesetted)
$aa = 1
while $aa<$cc
$bb = StringMid($entreesetted, $aa, 1)
If $bb == "\" Then
$filedrawn = StringMid($entreesetted, $aa+1, ($cc-$aa)+1)
EndIf
$aa = $aa + 1
WEnd
$sortiesetted = $filedrawn
EndIf
$lenfiledrawn = stringlen($filedrawn)
$ext2 = stringmid($filedrawn, $lenfiledrawn - 2, 3)
If $typesetted = "Ipod Video" Then
$fichiertemp = "temp."&$ext2
$ext = "mp4"
EndIf
If $typesetted = "audio" Then
$fichiertemp = "temp."&$ext2
$ext = "mp3"
EndIf
If $qualitesetted = "faible" Then
$ar = 22050
$ab = 64000
$s = " -s 320x240 "
EndIf
If $qualitesetted = "normal" Then
$ar = 44100
$ab = 128000
$s = " -s 320x240 "
EndIf
If $qualitesetted = "élevé" Then
$ar = 44100
$ab = 320000
$s = " -s 320x240 "
EndIf
If $qualitesetted = "optimal" Then
$ar = 88200
$ab = 512000
$s = " -s 320x240 "
EndIf
If $ext == "mp3" Then
$s = ""
EndIf
FileMove(@scriptdir&"\temp\"&$filedrawn, @scriptdir&"\temp\"&$fichiertemp, 9)
;MsgBox(1, "essai", "ffmpeg.exe -i "&"\temp\"&$fichiertemp&" -ar "&$ar&" -ab "&$ab&" -f "&$ext&" "&$s&$fichiertemp&"."&$ext)
$watt = Run(@scriptdir&"\ffmpeg.exe -i "&"temp\"&$fichiertemp&" -ar "&$ar&" -ab "&$ab&" -f "&$ext&" "&$s&$fichiertemp&"."&$ext, @scriptdir)
Sleep(100)
$ended = Processexists("ffmpeg.exe")
while $ended <>0
$ended = Processexists("ffmpeg.exe")
WEnd
dircreate(@scriptdir&"\done")
filemove(@scriptdir&"\"&$fichiertemp&"."&$ext, @scriptDir&"\done\"&$sortiesetted&"."&$ext, 9)
filedelete(@scriptdir&"\"&$fichiertemp&"."&$ext)
dirremove(@scriptdir&"\temp", 1)
;MsgBox(1, "essai", $watt) <-- teste si la commande c'est bien lancee
;developpement arrêté là, à la reprise, savoir que le filemove est à revoir pour donner un nom générique pour ffmpeg qui gère pas les espaces
;toutes les vars sont bonnes, voir pour la gestion du processus, l'ecriture de la ligne et une option si un nom de fichier est
;déjà attribué dans le rep de sortie final
;réarret du dev, problème avec le renommage lors du déplacement, l'extention du fichier peut changer et ffmpeg n'apprecie pas, il faut
;corriger la var --> résolu
EndSelect
WEnd