Re-encodage en masse simple !

Re-encodage en masse simple ! - Traitement Vidéo - Video & Son

Marsh Posté le 28-08-2005 à 19:44:00    

Bonjour,
 
Je souhaiterais savoir comment faire un re-encodage en lot de video !!! Je m'explique :
 
Je souhaite re-encoder un dossier contenant de nombreuses videos afin de reduire la taille du dossier complet ...  
Les videos sont de même extentions mais peut etre de codecs (audio ou video) differents !
Je souhaiterais les re-encoder avec un codec XVID en 800kbps ...
 
Je sais que je peux les ajouter un par un dans virtualdub et apres lui demander de tout traiter ...
 
Auriez vous un systeme plus simple afin de me simplifier grandement la tache (tache que je repete assez souvent !) ??
 
Merci de vos reponses !!!

Reply

Marsh Posté le 28-08-2005 à 19:44:00   

Reply

Marsh Posté le 28-08-2005 à 21:36:22    

Aidez moi plzzzzzzzzzz

Reply

Marsh Posté le 28-08-2005 à 23:50:56    

Le plus simple c'est d'utiliser mencoder. Voici le script VBS que j'utilise et qui réencode tout en qualité constante avec quant=4. Tu peux facilement le modifier pour encoder en bitrate constant, il suffit de changer la ligne de commande de mencoder.
 
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.
 
Recode.vbs :
 
(EDIT : retiré le script buggé, version corrigée plus bas)


Message édité par Cyberpat92 le 30-08-2005 à 10:36:43
Reply

Marsh Posté le 29-08-2005 à 09:06:30    

Ok alors j'ai installé Mencoder que je pense etre MEDIA ENCODER ...
 
Par defaut dans "C:\Program Files\Windows Media Components\Encoder\" et j'ai collé le script "Recode.vbs" dans ce dossier ... Raccourci du VBS fait sur le bureau !!!
 
Quand je glisse un fichier AVI dessus il me demande par une fenetre : "Now encoding : xxxx.avi" et il me propose OK ou ANNULER ...
 
Si je fait OK ou si j'attends j'ai le message d'erreur :
 

Citation :

WINDOWS SCRIPT HOST
 
Script : C:\Program Files\Windows Media Components\Encoder\Recode.vbs
Ligne  : 38
Caract.: 3
Erreur : Le fichier spécifié est introuvable.
Code   : 80070002
Source : (null)


 
Et ca quelque soit le fichier video que je glisse dessus !!! Merci a vous !!!


Message édité par JamesPatageule le 29-08-2005 à 09:51:45
Reply

Marsh Posté le 29-08-2005 à 10:49:40    

Mencoder est bel et bien Mencoder et 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.

Reply

Marsh Posté le 29-08-2005 à 12:28:40    

C'est bon j'ai trouvé MPLAYER et MENCODER ... J'ai dezippé la version win32 j'ai mis le script dedant et j'aienvoyé un fichier AVI sur le script ...
 
Même erreur !!!
 
PS : Es ce normal le QUOTE dans ton script juste avant le premier CMD ??? => 'cmd

Reply

Marsh Posté le 29-08-2005 à 13:55:28    

Il faut que le vbs soit dans le même répertoire que Mencoder. Si c'est le cas et que tu as créé un raccourci, assure-toi que dans le raccourci "Démarrer dans:" pointe bien sur le répertoire où se trouve Mencoder.
 
Le quote est un commentaire. Si tu veux encoder du Real il faut utiliser mettre le quote sur le deuxième cmd mais pour le reste il vaut mieux laisser l'autre ligne de commande.

Reply

Marsh Posté le 29-08-2005 à 13:58:59    

Bizarre car tout ca que tu me dis est ok !!! Mais ca me met l'erreur ...
 
Tu peux me faire parvenir ton archive de Mencoder ? par ftp si tu as ou par mail ...
 
Merci a toi !!! Comme ca on sera sur que ca mercheras !!!

Reply

Marsh Posté le 29-08-2005 à 16:32:30    

C'est pas une question d'archive, le message indique simplement que mencoder.exe n'est pas trouvé. Essaie el lachant ton fichier directement sur le VBS plutot que sur le raccourci ?
 
Au fait, mencoder.exe est bien dans le même répertoire que le vbs ?

Reply

Marsh Posté le 29-08-2005 à 16:56:48    

J'ai essayé et ca fait le MEME message !!!
 
Oui mencoder.exe est a coté de Recode.vbs
 
Ca pourrait etre car j'ai rien rajouté a mplayer et mencoder ? je veux dire aucun codec ou plugin rajouté !!!

Reply

Marsh Posté le 29-08-2005 à 16:56:48   

Reply

Marsh Posté le 29-08-2005 à 17:19:52    

Est-ce que mplayer lit ta vidéo ?

Reply

Marsh Posté le 29-08-2005 à 17:27:18    

oui il la lit super bien !!!

Reply

Marsh Posté le 29-08-2005 à 17:57:01    

Bon alors rien à voir. Essaie de rajouter à la fin du script :
 
MsgBox cmd
 
pour voir quelle est la ligne de commande appelée ?

Reply

Marsh Posté le 29-08-2005 à 18:04:38    

ce logiciel a l'air bien sympa!
Savez-vous si on peut encoder une certaine partie du fichier source plutot que tout le fichier? Merci...
[:dawa]
 
edit: le manuel online est inaccessible on dirait :/


Message édité par goueg le 29-08-2005 à 18:11:44
Reply

Marsh Posté le 29-08-2005 à 18:07:38    

Voila ce que ca donne :
 
http://www.lotc.fr/Perso/Message.JPG
http://www.lotc.fr/Perso/Ligne.JPG
http://www.lotc.fr/Perso/Erreur.JPG
 
Qu'en penses tu ????

Reply

Marsh Posté le 29-08-2005 à 18:13:04    

(c'est ta video qu'il ne trouve pas on dirait)

Reply

Marsh Posté le 29-08-2005 à 18:18:02    

ma ligne 39 c'est :  
 
WshShell.Run cmd, 8, True

Reply

Marsh Posté le 29-08-2005 à 22:10:38    

Oh oh... désolé ! :D
 
L'erreur est due à l'espace dans le chemin d'accès qui n'était pas pris en compte.
 
Voici le script corrigé Recode.vbs. Cette version encode à 800 kb/s :
 
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=800: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


Message édité par Cyberpat92 le 29-08-2005 à 22:11:31
Reply

Marsh Posté le 29-08-2005 à 23:55:16    

La ca marche nickel ...
 
Merci a toi beaucoup !!!
 
Si je glisse 10 fichiers d'un coup sur le script il les fera les 10 ???
 
De plus le script garde il le bitrate ? la resolution ? le format ? de la video d'origine ????
 
Encore merci !!!


Message édité par JamesPatageule le 29-08-2005 à 23:56:50
Reply

Marsh Posté le 30-08-2005 à 01:04:41    

Si tu glisses 10 fichiers il fera les 10, sauf si tu cliques sur cancel lorsqu'il demande la confirmation. Si tu ne cliques pas, l'encodage démarre au bout de 10 secondes.
 
Le script met le bitrate à 800, crée un XviD+MP3, et ne change pas la taille de l'image.

Reply

Marsh Posté le 30-08-2005 à 10:18:30    

Ok ben merci pour tout a toi ...
 
Je vais encoder comme un fou alors !!!
 
Bonne continuation a toi et encore merci !!!

Reply

Marsh Posté le 30-08-2005 à 10:27:40    

Drapal :d

Reply

Marsh Posté le 15-06-2006 à 18:38:32    

Bonjour, j'ai un petit souci, j'ai modifié le code afin d'incruster les sous-titres. Je souhaite encoder en Xvid en 2 passes, or avec le code que j'utilise, l'encodage commence directement par la seconde passe, pourriez-vous me donner un coup de main ?  :)  
 
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"" -subpos 95 -subalign 2 -subfont-text-scale 3.3 -subfont-blur 1 -sub-bg-alpha 0 -sub-bg-color 0 -subfont-outline 1 -ffactor 10 -unicode -subcp latin1 -autosub -ovc xvid -xvidencopts pass=1:turbo:max_bframes=0:chroma_me -nosound """ + filename + """ -o """ + FSO.GetParentFolderName(filename) + "\" + FSO.GetBaseName(filename) + ".VOST.avi"""
 cmd = """" & FSO.GetParentFolderName(WScript.ScriptFullName) + "\mencoder.exe"" -subpos 95 -subalign 2 -subfont-text-scale 3.3 -subfont-blur 1 -sub-bg-alpha 0 -sub-bg-color 0 -subfont-outline 1 -ffactor 10 -unicode -subcp latin1  -font tahomabd.ttf -autosub -oac mp3lame -lameopts mode=0:cbr:br=128 -srate 44100 -ovc xvid -xvidencopts pass=2:bitrate=1000:max_bframes=0:chroma_me """ + filename + """ -o """ + FSO.GetParentFolderName(filename) + "\" + FSO.GetBaseName(filename) + ".VOST.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

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed