Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1704 connectés 

  FORUM HardWare.fr
  Video & Son
  Traitement Vidéo

  Automatisation de compression en DivX

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Automatisation de compression en DivX

n°983892
guillot
Posté le 27-11-2005 à 16:20:39  profilanswer
 

Hello,
 
Depuis que j'ai acheté mon appareil photo numérique, je fais pas mal de petites vidéos.
 
L'ennui c'est que c'est du MpeG en 640*480@30fps et que ça tient énormément de place sur mon disque-dur.
 
Je les compresse parfois en DivX, mais la procédure est longue (J'ai une centaine de vidéos).
 
Personne n'aurait une idée pour automatiser ces traitements ? genre faire un script qui va automatiquement lire chaque vidéo d'un répertoire et la compresser en DivX 1200Kbps/MP3 ?
Ou un logiciel très simple d'utilisation ? (J'ai testé Virtual Dub, mais même si je n'ai pas besoin de reconfigurer la compression audio/vidéo et j'utilise la Job List, c'est assez long !).
 
Merci pour vos infos et conseils :-)

mood
Publicité
Posté le 27-11-2005 à 16:20:39  profilanswer
 

n°984855
Cyberpat92
Posté le 29-11-2005 à 05:34:04  profilanswer
 

Le plus simple c'est d'utiliser mencoder. Mencoder fait partie du package Mplayer : http://www.mplayerhq.hu/
Il suffit de télécharger la version Win32 de Mplayer et dézipper quelque part.
 
Voici un script VBS qui réencode au bitrate 1200 kb/s. Si tu glisses 10 fichiers il fera les 10, sauf si tu cliques sur 'annuler' lorsqu'il demande la confirmation. Si tu ne cliques pas, l'encodage démarre au bout de 10 secondes.
 
Le script met le bitrate à 1200, crée un XviD+MP3, et ne change pas la taille de l'image.
 
Une fois le script créé et copié dans le répertoire de mencoder il suffit de faire un raccourci sur le bureau et de lâcher tes fichiers à réencoder dessus. A créer en tant que Recode.vbs :
 
Dim FSO
Dim filename
Dim cmd
Dim i
Dim res
 
Set FSO = CreateObject("Scripting.FileSystemObject" )
If WScript.arguments.length = 0 Then
  WScript.Echo "Please drop at least one file"
 WScript.Quit
End If
 
For i=0 to WScript.arguments.length - 1
 filename = WScript.arguments.item(i)
 'cmd = """" & FSO.GetParentFolderName(WScript.ScriptFullName) + "\mencoder.exe"" -ovc xvid -xvidencopts quant_type=mpeg:fixed_quant=4:me_quality=6:vhq=4:trellis -vf harddup -oac mp3lame -lameopts mode=1:cbr:br=128 -af volnorm -af-adv force=0 """ + filename + """ -o """ + FSO.GetParentFolderName(filename) + "\recoded." + FSO.GetBaseName(filename) + ".avi"""
 cmd = """" & FSO.GetParentFolderName(WScript.ScriptFullName) + "\mencoder.exe"" -ovc xvid -xvidencopts quant_type=mpeg:bitrate=1200:me_quality=6:vhq=4:trellis -oac mp3lame -lameopts mode=1:cbr:br=128 -af volnorm -af-adv force=0 """ + filename + """ -o """ + FSO.GetParentFolderName(filename) + "\recoded." + FSO.GetBaseName(filename) + ".avi"""
 
  Dim WshShell
  Set WshShell = CreateObject("Wscript.Shell" )
  Set WshSysEnv = WshShell.Environment("SYSTEM" )
  res = WshShell.Popup("Now encoding: " + FSO.GetFileName(filename), 10, "Recode", 1 + 64) ' OK / Cancel
  If res = 2 Then
   WScript.Quit
  End if
 ' Settings for intWindowStyle.
  '
 ' 0 Hide the window and activate another window.
 ' 1 Activate and display the window. (restore size and position) Specify this flag when displaying a window for the first time.
 ' 2 Activate & minimize.
 ' 3 Activate & maximize.
 ' 4 Restore. The active window remains active.
 ' 5 Activate & Restore.
 ' 6 Minimize & activate the next top-level window in the Z order.
 ' 7 Minimize. The active window remains active.
 ' 8 Display the window in its current state. The active window remains active.
 ' 9 Restore & Activate. Specify this flag when restoring a minimized window.
 ' 10 Sets the show-state based on the state of the program that started the application. Example
  WshShell.Run cmd, 8, True
Next

n°985013
guillot
Posté le 29-11-2005 à 13:23:48  profilanswer
 

Tout bonnement génial !
 
J'ai modifié un peu le script pour mieux l'adapter à mes besoins, mais c'est "exactement" ce que je voulais :-)
 
Merci !!!!!!!!
 

n°985507
Cyberpat92
Posté le 30-11-2005 à 07:47:29  profilanswer
 

Je peux te demander ce que tu as modifié ? Ca pourrait servir à d'autres...

n°985531
guillot
Posté le 30-11-2005 à 08:56:54  profilanswer
 

En fait je n'ai pas modifié grand chose pour tester, j'ai juste évité que ça me renomme mon fichier (vu que je passe de MPG en AVI, je ne change que l'extension et ne rajoute pas le préfixe "recomp.".
J'ai changé le temps d'attente du message à 1s au lieu de 10s.
 
Et je pense que je rajouterais la suppression du fichier source à la fin de la compression.
Autre chose qui serait utile (je ne sais pas si je le ferais, je n'en ai pas forcément l'utilité), c'est de gérer une liste d'arguments + importante (au dessus de 20 fichiers, le nombre d'arguments est trop important pour l'exécutable), donc par exemple je permettrait la compression de toutes les vidéos d'un seul répertoire, mais c'est pas sûr que je le fasse ça :-)
 
En gros voilà ce que donne le fichier actuel :
Dim FSO  
Dim filename  
Dim cmd  
Dim i  
Dim res  
   
Set FSO = CreateObject("Scripting.FileSystemObject" )  
If WScript.arguments.length = 0 Then  
  WScript.Echo "Veuillez faire glisser au moins un fichier sur ce raccourci !"  
 WScript.Quit  
End If  
   
For i=0 to WScript.arguments.length - 1  
 filename = WScript.arguments.item(i)  
 'cmd = """" & FSO.GetParentFolderName(WScript.ScriptFullName) + "\mencoder.exe"" -ovc xvid -xvidencopts quant_type=mpeg:fixed_quant=4:me_quality=6:vhq=4:trellis -vf harddup -oac mp3lame -lameopts mode=1:cbr:br=128 -af volnorm -af-adv force=0 """ + filename + """ -o """ + FSO.GetParentFolderName(filename) + "\" + FSO.GetBaseName(filename) + ".avi"""  
 cmd = """" & FSO.GetParentFolderName(WScript.ScriptFullName) + "\mencoder.exe"" -ovc xvid -xvidencopts quant_type=mpeg:bitrate=1200:me_quality=6:vhq=4:trellis -oac mp3lame -lameopts mode=1:cbr:br=128 -af volnorm -af-adv force=0 """ + filename + """ -o """ + FSO.GetParentFolderName(filename) + "\" + FSO.GetBaseName(filename) + ".avi"""  
   
  Dim WshShell  
  Set WshShell = CreateObject("Wscript.Shell" )  
  Set WshSysEnv = WshShell.Environment("SYSTEM" )  
  res = WshShell.Popup("Now encoding: " + FSO.GetFileName(filename), 1, "Recode", 1 + 64) ' OK / Cancel  
  If res = 2 Then  
   WScript.Quit  
  End if  
 ' Settings for intWindowStyle.  
  '  
 ' 0 Hide the window and activate another window.  
 ' 1 Activate and display the window. (restore size and position) Specify this flag when displaying a window for the first time.  
 ' 2 Activate & minimize.  
 ' 3 Activate & maximize.  
 ' 4 Restore. The active window remains active.  
 ' 5 Activate & Restore.  
 ' 6 Minimize & activate the next top-level window in the Z order.  
 ' 7 Minimize. The active window remains active.  
 ' 8 Display the window in its current state. The active window remains active.  
 ' 9 Restore & Activate. Specify this flag when restoring a minimized window.  
 ' 10 Sets the show-state based on the state of the program that started the application. Example  
  WshShell.Run cmd, 8, True  
Next


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Video & Son
  Traitement Vidéo

  Automatisation de compression en DivX

 

Sujets relatifs
DVD>>>>>>DivXQuel lecteur/enreg. dvd/divx avec HDD et connection PC?
reduire la taille d'un divx aidez moi.Lecture DivX avec un lecteur graveur LG 7800
convertir divx vers dvdAudio : Encodage bas débit / Compression "Maximum"
Quels logiciels pour faire un menu de DVD avec que des Divx ?encodage Divx 6 en deux (2) passes
une platine divx qui lit les mkv ca existe ??divx + tnt : j'ai testé (sigmatec dvbx 120)
Plus de sujets relatifs à : Automatisation de compression en DivX


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)