Lote convertir auto ffmpeg

  • central10
  • Born
  • Born
  • No Avatar
  • Registrado: May 11, 2010
  • Mensajes: 3
  • Status: Offline

Nota Mayo 11th, 2010, 10:51 pm

Hola a todos,

En los últimos días he estado tratando de automatizar el proceso de conversión ffmpeg para salvar mi propia algún tiempo.

Tengo un programa de monitoreo que se ejecuta automáticamente / se ejecuta un programa cada vez que un archivo de vídeo se agrega a una carpeta. Lo que he hecho es crear un bat llamado "auto.bat", que se ejecuta automáticamente por el programa cada vez que se agrega un archivo a la carpeta.

El bat se parece a esto:

Código: [ 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


Este bat funciona si me arrastrar y soltar el archivo avi en ella sin embargo esto no es como quiero que funcione. Me gustaría que el archivo por lotes para tomar automáticamente el nuevo archivo en la carpeta y empezar a ffmpeg. He hurgó en Internet y parece que no puede encontrar una solución. Soy nuevo en la escritura de archivos por lotes por lo que no tienen la experiencia para terminar esto. Me pregunto si alguien me puede orientar en la dirección correcta.

Cualquier ayuda sería muy apreciada.
Un cordial saludo,
Dave
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Mayo 11th, 2010, 10:51 pm

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13458
  • Loc: Florida
  • Status: Offline

Nota Mayo 11th, 2010, 11:33 pm

Yo no pensaba en ello cuando he respondido a su PM antes, pero ¿dónde entra el nombre del archivo *. bat que su programa se ejecuta?

¿Este programa tiene algún tipo de fichas argumento para el nombre del archivo?

Im preguntándose si podría reemplazar al % 1 en este fragmento de código que tiene allí, con lo que las fichas que su solicitud ha de pasar al archivo *. bat, y luego solo punto de su aplicación de monitoreo en ese comando en lugar del *. bat.
Strong with this one, the sudo is.
  • central10
  • Born
  • Born
  • No Avatar
  • Registrado: May 11, 2010
  • Mensajes: 3
  • Status: Offline

Nota Mayo 12th, 2010, 9:23 am

Hola,

Estoy escribiendo el nombre de la "auto.bat" archivo en el campo necesarias en el programa. Este programa no tiene ningún argumento para el archivo y simplemente ejecuta cualquier programa, previa adición de un nuevo archivo. Así que no estoy en condiciones de sustituir el 1% con los argumentos que podrían permitir que me de "utilizar" el archivo recién agregado.

¿Alguna otra idea?
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Registrado: Feb 10, 2004
  • Mensajes: 13458
  • Loc: Florida
  • Status: Offline

Nota Mayo 12th, 2010, 11:27 am

Si el monitor no pasa el nombre del archivo con el programa previsto en alguna forma manera o forma, usted va a necesitar un programa de monitoreo. :)
Strong with this one, the sudo is.
  • central10
  • Born
  • Born
  • No Avatar
  • Registrado: May 11, 2010
  • Mensajes: 3
  • Status: Offline

Nota Mayo 14th, 2010, 10:59 am

Hola,

Así Ive estuvo a punto de este archivo por lotes de trabajo ahora. El problema que estoy teniendo es que el lote es agarrarse archivos de la carpeta sobre la base de la fecha de modificación. Lo necesito para agarrar los archivos basados en su fecha de creación. Por ejemplo, "fileone.avi" fue modificado el 05/12/2010 13:33, mientras que "filetwo.avi" fue modificado el 05/11/2010 11:33. Independientemente de si "filetwo.avi" fue creado después de fileone.avi, fileone.avi será tomada por ffmpeg porque es la fecha de modificación es más reciente. < Br>
¿Alguien puede terminar esto por favor?

Código: [ 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

Publicar Información

  • Total de mensajes en este tema: 5 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 151 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC