TUTOS.EU

Compresser des images en jpeg avec ffmpeg

Script vbs qui génère un bat avec les commandes pour compresser des images tif ou bmp en jpg

Téléchargez le fichier ffmpeg_2013_08_24.exe fourni pour être certain que les commandes générées seront les bonnes.

Copiez le code du script vbs suivant dans un fichier portant l’extension .vbs.

Placez les images à convertir en .jpg dans le même répertoire que celui du script.

Lancez en script .vbs en double cliquant dessus (par exemple).

Contrôlez les fichier .bat généré et exécutez le.

'Version du 23 juillet 2015
'On va dans le répertoire qui contient les images et on fait un bat qui contient les commandes pour les convertir en jpg

Option Explicit

Dim CheminScriptActuel, ScriptFileName, Position, CheminFichierResultat, CheminRepertoireAExplorer
Dim objFSO, objFolder, objTextFile, MyFile, ExtensionFichier, NomFichierSansExtension
	
'Déclaration des constantes pour la lecture et l'ecriture dans les fichiers
Const ForReading = 1
Const ForWritting = 2
Const ForAppending = 8	

CheminScriptActuel = Left(wscript.scriptfullname,Len(wscript.scriptfullname)-Len(wscript.scriptname)-1)
ScriptFileName = wscript.scriptname
Position = InstrRev(ScriptFileName,".")
if (Position > 0) Then ScriptFileName = Left(ScriptFileName, Position - 1)

CheminFichierResultat = CheminScriptActuel & "\" & ScriptFileName & "_Fichier_Batch_Resultant.bat"
'CheminRepertoireAExplorer = InputBox("Entrez le chemin du répertoire","Chemin du répertoire",CheminScriptActuel)
CheminRepertoireAExplorer = CheminScriptActuel
'CheminFichierResultat = InputBox("Entrez le chemin du fichier contenant le resultat","Chemin du fichier de reponse",CheminFichierResultat)

'Création des objets
Set objFSO = CreateObject("Scripting.FileSystemObject")

'On fait un objet qui représente le répertoire à explorer
Set objFolder = objFSO.GetFolder(CheminRepertoireAExplorer)
Set objTextFile = objFSO.OpenTextFile(CheminFichierResultat, ForWritting, True)

'If Left(CheminScriptActuel, 2) = "\\" Then
	'Wscript.echo "Attention : Les chemmins réseau ne sont pas traité correctement."
'Else
	'objTextFile.WriteLine(Left(CheminScriptActuel, 1) & ":")
'End If

'objTextFile.WriteLine("Cd """ & CheminScriptActuel & """")
objTextFile.WriteLine("Cd /d """ & CheminScriptActuel & """")

For Each MyFile In objFolder.Files

	ExtensionFichier = ""
	Position = InStrRev(MyFile.Name,".")

	If (Position > 0) And (Position < Len(MyFile.Name)) Then
		
		ExtensionFichier = Mid(MyFile.Name,Position+1)
		NomFichierSansExtension = Left(MyFile.Name,Position-1)
		If (Lcase(ExtensionFichier) = "tif") Or (Lcase(ExtensionFichier) = "bmp") Then
			'Wscript.echo MyFile.Name
			'objTextFile.WriteLine("ffmpeg_2013_08_24.exe -i """ & MyFile.Name & """ -pix_fmt yuv420p -color_range 0 """ & NomFichierSansExtension & ".bmp""")
			'objTextFile.WriteLine("ffmpeg_2013_08_24.exe -i """ & MyFile.Name & """ -pix_fmt yuv420p -color_range 0 -qscale:v 20 """ & NomFichierSansExtension & ".jpg""")
			objTextFile.WriteLine("ffmpeg_2013_08_24.exe -i """ & MyFile.Name & """ -pix_fmt rgb24 -color_range 0 -qscale:v 1 """ & NomFichierSansExtension & ".jpg""")
			 
			
			'-color_range 0 -q:v 1 -pix_fmt yuvj
			'objTextFile.WriteLine("REM Del /F """ & MyFile.Path & """")
		End If	

	End If

Next

objTextFile.Close
Set objTextFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
Lien vers le fichier : cliquez ici Copier le code

Téléchargement(s)

NomSite Web d origineDescription
ffmpeg_2013_08_24.exe http://ffmpeg.org ffmpeg.exe dans sa version du ffmpeg 24 août 2013


2