Batch ffmpeg Auto Convertir

  • central10
  • Born
  • Born
  • No Avatar
  • Inscription: Mai 11, 2010
  • Messages: 3
  • Status: Offline

Message Mai 11th, 2010, 10:51 pm

Bonjour à tous,

Au cours des derniers jours, j'ai essayé d'automatiser le processus de conversion ffmpeg pour sauver moi-même un certain temps.

J'ai un programme de surveillance qui exécute automatiquement / exécute un programme à chaque fois qu'un fichier vidéo est ajouté à un dossier. Ce que j'ai fait est créé une chauve-souris fichier nommé "auto.bat" qui est exécuté automatiquement par le programme à chaque fois qu'un fichier est ajouté au dossier.

Le fichier BAT ressemble à ceci:

Code: [ Select ]
C:\ffmpeg\ffmpeg.exe -y -i %1 -vcodec flv -b 250k -r 14.985 -acodec libmp3lame -ab 40k -ar 22050 -ac 1 -vol 276 -qscale 5 %1.flv


Ce fichier bat ne fonctionne que si je fais glisser et déposez le fichier avi en elle mais cela n'est pas comment je veux le faire fonctionner. Je voudrais que le fichier de commandes pour récupérer automatiquement le nouveau fichier dans le dossier et ffmpeg départ. J'ai poussé autour sur l'Internet et n'arrive pas à trouver une solution. Je suis nouveau à l'écriture de fichiers de commandes, donc je ne possède pas l'expertise pour terminer cette option. Je me demande si quelqu'un peut me guider dans la bonne direction.

Toute aide serait grandement appréciée.
Cordialement,
Dave
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Mai 11th, 2010, 10:51 pm

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13458
  • Loc: Florida
  • Status: Offline

Message Mai 11th, 2010, 11:33 pm

Je ne pense pas que de cela lorsque j'ai répondu à votre MP avant, mais où êtes-vous d'entrer le nom du fichier *. bat que votre programme s'exécute?

Est-ce de ce programme ont une sorte de jetons argument le nom du fichier?

Im demandais si vous pouviez remplacer le % 1 dans ce morceau de code que vous avez là, avec ce que les jetons de votre demande vous aurait passant dans le fichier *. bat, et puis tout point de votre application de suivi à cette commande au lieu de *. bat.
Strong with this one, the sudo is.
  • central10
  • Born
  • Born
  • No Avatar
  • Inscription: Mai 11, 2010
  • Messages: 3
  • Status: Offline

Message Mai 12th, 2010, 9:23 am

Bonjour,

Je suis d'entrer le nom de la "auto.bat" fichier dans le champ obligatoire dans le programme. Ce programme n'a pas d'arguments pour le fichier et se contente de lancer un programme lors de l'ajout d'un nouveau fichier. Je suis donc incapable de remplacer le 1% avec des arguments qui pourraient me permettre d '"utiliser" le fichier nouvellement ajouté.

D'autres idées?
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13458
  • Loc: Florida
  • Status: Offline

Message Mai 12th, 2010, 11:27 am

Si votre moniteur ne passe pas le nom du fichier du programme prévu sous une forme forme que ce soit, vous allez avoir besoin d'un programme de surveillance différents. :)
Strong with this one, the sudo is.
  • central10
  • Born
  • Born
  • No Avatar
  • Inscription: Mai 11, 2010
  • Messages: 3
  • Status: Offline

Message Mai 14th, 2010, 10:59 am

Bonjour,

Ainsi Ive presque obtenu ce fichier batch fonctionne maintenant. Le problème que je vais avoir est que le script batch est saisissant fichiers dans le dossier en fonction de la date de modification. J'en ai besoin pour récupérer des fichiers en fonction de sa date de création. Par exemple "fileone.avi" a été modifiée le 12/05/2010 13:33 alors que "filetwo.avi" a été modifiée le 11/05/2010 11:33. Peu importe si "filetwo.avi" a été créé après fileone.avi, fileone.avi seront prises par ffmpeg, car la date de modification il est plus récente. < Br>
Quelqu'un peut-il terminer ce large pour moi s'il vous plaît?

Code: [ Select ]
@echo off

SETLOCAL EnableDelayedExpansion
set "latestFile="
call :findlatestfile latestFile
echo the latest file is "%latestFile%"
::###############################
:monitor

if "%currentlatestFile%" NEQ "%latestFile%" (
 echo new file "%currentlatestFile%"
 set "latestFile=%currentlatestFile%"
 call :openFile %latestFile%

)
rem to preseve the cpu usage
call :sleep
goto :monitor

::###############################
:openFile <file>
echo Start ffmpeg with -y -i %~n1.avi -vcodec flv -b 250k -r 14.985 -acodec libmp3lame -ab 40k -ar 22050 -ac 1 -vol 276 -qscale 5 %~n1.flv
start C:\ffmpeg\ffmpeg.exe -y -i %~n1.avi -vcodec flv -b 250k -r 14.985 -acodec libmp3lame -ab 40k -ar 22050 -ac 1 -vol 276 -qscale 5 %~n1.flv

exit

::###############################
:findlatestfile
set "%~1=NO FILE"
for /F "delims=" %%a in ('dir /b /od *.avi 2^> nul') DO (
  set %~1=%%a
)

goto :eof

::###############################
:sleep
ping -n 2 localhost > nul

exit
  1. @echo off
  2. SETLOCAL EnableDelayedExpansion
  3. set "latestFile="
  4. call :findlatestfile latestFile
  5. echo the latest file is "%latestFile%"
  6. ::###############################
  7. :monitor
  8. if "%currentlatestFile%" NEQ "%latestFile%" (
  9.  echo new file "%currentlatestFile%"
  10.  set "latestFile=%currentlatestFile%"
  11.  call :openFile %latestFile%
  12. )
  13. rem to preseve the cpu usage
  14. call :sleep
  15. goto :monitor
  16. ::###############################
  17. :openFile <file>
  18. echo Start ffmpeg with -y -i %~n1.avi -vcodec flv -b 250k -r 14.985 -acodec libmp3lame -ab 40k -ar 22050 -ac 1 -vol 276 -qscale 5 %~n1.flv
  19. start C:\ffmpeg\ffmpeg.exe -y -i %~n1.avi -vcodec flv -b 250k -r 14.985 -acodec libmp3lame -ab 40k -ar 22050 -ac 1 -vol 276 -qscale 5 %~n1.flv
  20. exit
  21. ::###############################
  22. :findlatestfile
  23. set "%~1=NO FILE"
  24. for /F "delims=" %%a in ('dir /b /od *.avi 2^> nul') DO (
  25.   set %~1=%%a
  26. )
  27. goto :eof
  28. ::###############################
  29. :sleep
  30. ping -n 2 localhost > nul
  31. exit

Afficher de l'information

  • Total des messages de ce sujet: 5 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 166 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC