Ah bah flutre alors, j'avais pourtant activé la notification par mail sur ce thread... vous avez eu de la chance que je revienne faire un tour ici par hasard... Donc non du coup c'est raté pour les réponses rapides...
vttman2, oui effectivement je parle bien d'un machin qui me fait l'acquisition, le nommage et la compression avec un minimum d'efforts.
JackParis,
1- pour la compression "video DV -> divx", je passe par virtualdub. A la base tu peux ouvrir ta vidéo avec virtualdub, choisir la compression vidéo (divx par exemple), audio (mp3 par exemple), mettre des filtres ou autre et enregistrer. Si tu connais pas virtualdub il y a plein de documentation à ce sujet (en particulier sur hardware.fr je crois).
Moi dans mon cas je fais tout pareil mais par ligne de commande. C'est à dire qu'une fois les options de compression paramétrées (en lançant le logiciel normalement) tu peux les enregistrer (fichier .vcf) et tu peux ensuite passer ce fichier en ligne de commande à VD, en plus du fichier à compresser, pour qu'il sache avec quelles options compresser. Ce n'est pas absolument nécessaire car d'un lancement à l'autre VD retient les options de compresion, mais bon, c'est plus sûr comme ça.
2- concernant l'exécution de php: à la base j'ai bien un serveur web sur mon PC (apache + php). Pour cela j'ai installé "phpdev". Pour exécuter un .php sans passer par le serveur il suffit de passer le script à php.exe, mais attention, pas le php.exe qui est lié à Apache, mais un autre php.exe qui lui se trouve dans un répertoire nommé "sapi".
Bon, pour bien faire je vais essayer de poster ici les scripts php et autre.
Allons y pour un petit tuto.
1- faire un fichier "deint.avs" qui contient ceci (2 lignes):
AVISource("toto.avi" )
separatefields
... où toto.avi est l'une de vos vidéos que vous avez acquises et que vous voulez compresser.
2- lancer virtualdub, faire ouvrir et choisir "deint.avs". Paramétrer les options de compression, les filtres et autres (voir la page dont je parlais dans mon post - installez des codecs au besoin).
Enregistrer la vidéo ("fichier", "enregistrer sous" ), regardez-là et vérifier que vos options de compression vous conviennent (qualité de la vidéo, taille finale du fichier, etc)
Une fois que vos options vous conviennent, faire fichier -> "save processing settings" (ou équivalent en francais) et enregistrez le fichier sous "cam_base.vcf" (je donne les noms de fichier parce qu'ensuite je vais poster mon code en php dans lequel je mets les noms de fichier en dur dans le code)
3- créez au même endroit que le fichier "cam_base.vcf" un fichier "compress.php" qui contient le code suivant:
<?php
set_time_limit(100000); // parce que ça va être long, et sinon ça coupe au bout de 30 secondes
$dir = opendir("." );
while (($file = readdir($dir)) !== false) // pour chaque fichier
{
//echo ('lect ' . $file . "\n" );
if (strpos($file,'.avi') !== false) { // on ne traite que les .avi
echo ('lect ' . $file . "\n" );
// creation du deint.avs: même format que dans la page web dont je parlais
$deint = fopen("deint.avs", 'w');
fwrite($deint, 'AVISource("'.$file.'" )'."\n".'separatefields');
fclose($deint);
// creation du cam.vcf à passer à VD
copy('cam_base.vcf', 'cam.vcf'); // on part du fichier de base, qui contient les options de compression
$cam = fopen("cam.vcf", 'a');
fwrite($cam, 'VirtualDub.Open("E:\\\\Data\\\\Photos - Videos\\\\2006\\\\a trier\\\\compression\\\\deint.avs" );'."\n" ); // on ajoute la commande d'ouvreture du deint.avs
$nouv_fic = substr($file,0,(strlen($file)-4)).'-rec.avi'; // nom du fichier renommé: je rajoute -rec à la fin
fwrite($cam, 'VirtualDub.SaveAVI("E:\\\\Data\\\\Photos - Videos\\\\2006\\\\a trier\\\\compression\\\\comp\\\\'.$nouv_fic.'" );'); // on ajoute la commande d'enregistrement
fclose($cam);
// commande d'appel à VD
$cmde = "D:\\Programs\\Video\\VirtualDub-1.7.0\\VirtualDub.exe "
. "/s\"E:\\Data\\Photos - Videos\\2006\\a trier\\compression\\cam.vcf\" /x";
echo ("\n" . $cmde . "\n" );
echo ("->" . $nouv_fic . "\n\n" );
exec($cmde);
}
}
closedir($dir);
?>
Bon bien sûr changez tous les noms de répertoires. Je laisse les miens comme exemple pour que vous galériez pas avec les "\\\\"
Je viens de commenter le code en le copiant-collant, alors excusez moi si j'ai fait une bourde et que le code s'exécute plus.
4- maintenant il faut pouvoir exécuter le .php sans passer par le serveur (si vous avez la flemme de faire cette étape, vous pouvez allumer votre navigateur et appeler le script directement)
Créez un script "exec_php.bat" quelque part (moi je l'ai mis dans un répertoire "D:\Programs\Utils\exec_php\", et qui contient ceci (les 2 lignes suivantes):
D:\Programs\Program\phpdev\php\sapi\php.exe -q -f %1
set /P theuserinput="press enter"
note 1: je suis nul en batch, je savais pas comment faire en sorte que le script n'éteigne pas la console DOS à la fin de l'exécution. la seconde ligne du batch sert à ça (attendre un "user input" )
note 2: changez le chemin de php.exe par le vôtre (attention à ce que ce soit bien celui qui est dans "sapi\" )
Dans la base de registre (exécutez "regedit.exe" ) allez dans HKEY_CLASSES_ROOT, puis dans ".php" . notez la valeur qui est dans "data" en face de "Default".
Allez (toujours sous HKEY_CLASSES_ROOT) à la clé qui correspond à cette valeur (par exemple "php file" ). Dans "shell", ajoutez une clé "execute" et dans cette clé, une nouvelle clé "command". Dans cette dernière clé, pour la valeur "Default", tapez ceci (ce qui se trouve à la ligne suivante:
D:\Programs\Utils\exec_php\exec_php.bat "%1"
Et voilà, en cliquant avec le bouton droit sur un .php maintenant vous avez une commande "execute".
Pour compresser vos vidéos, collez-les au même endroit que votre script compress.php, puis faites "bouton droit" sur compress.php et "exécute"
Bon, je suis navré pour la qualité déplorable de ce tuto. Manque de temps...
Vous aurez noté qu'il faut pas être archi-débutant en informatique. Il vaut mieux avoir l'habitude du bricolage de base de registre, de l'appel de programmes en ligne de commande, etc.
Mais bon moi il m'a bien fallu 10 heures de travail pour monter ça, alors qu'avec ce tuto j'ai bon espoir qu'un informaticien n'ait besoin que d'un petite heure de mises au point.
Bon bah voilà, je recoche "Activer la notification par email du sujet" (qui est déjà coché d'ailleurs)
Bonne soirée à vous
Snouff ("Snouffelaire", pour être précis. Ceux qui lisaient Spirou dans leur enfance connaissent)