ffmpeg expansión local y ejecutar un comando dentro de


0

Pregunta de n00b a lo grande. Simplemente no puedo entender qué estoy haciendo mal. Aquí está mi archivo .bat:

@ECHO OFF

SETLOCAL

set /p Input= Drop file here, and click enter.

set file=%Input%
FOR %%i IN (%file%) DO (
ECHO filedrive=%%~di
ECHO filepath=%%~pi
ECHO filename=%%~ni
ECHO fileextension=%%~xi
ECHO %filename%

)

ffmpeg -i %Input% -an -c:v libx264 -preset medium -crf 22 "%%~di%%~pi%%~ni.mp4"

pause

Cuando ejecuto esto, no reconoce ffmpeg como un comando. Esto debe ser simple ... ¿Qué diablos estoy haciendo mal?


Compruebe si ffmpeg está en su ruta o en la PWD del archivo por lotes.
— Gyan

AH ok. Ese fue esencialmente el problema. ¿Por qué no ve que FFMPEG está en mi directorio de usuarios? De todos modos, una vez que especifiqué dónde estaba FFMPEG a través de una variable o lo moví al lado del archivo por lotes, funcionó.
— M Leonard

Como encontró una solución, puede responder a su propia pregunta.
— llogan

Respuestas:


0

Era tan simple como esto:

@ECHO OFF

SETLOCAL

set /p Input= Drop file here, and click enter.
set ffmpeg=C:\Windows\User\ffmpeg.exe

set file=%Input%
FOR %%i IN (%file%) DO (
ECHO filedrive=%%~di
ECHO filepath=%%~pi
ECHO filename=%%~ni
ECHO fileextension=%%~xi
ECHO %filename%

)

%ffmpeg% -i %Input% -an -c:v libx264 -preset medium -crf 22 "%%~di%%~pi%%~ni.mp4"

pause
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.