Estoy intentando usar FFmpeg para extraer audio de un mp4 y sigo encontrando este error:
CFileffmpegvideo.mp4: No such file or directory exist.
Estoy en el símbolo del sistema (en Windows 7) y tengo la ruta como C:\Files\ffmpeg
(Donde está ffmpeg).
Ejecuto esta línea de comando
ffmpeg -i C: \ Archivos \ ffmpeg \ video.mp4 -f mp3 -ab 320000 -vn music.mp3
El archivo está en la misma carpeta que ffmpeg. Sé que me estoy perdiendo algo simple aquí, pero ¿qué es?
Aquí hay un breve video que muestra el proceso exacto.
Respuestas:
Recreé su situación (lo mejor que pude) en esta computadora después de ver su video. Descargué la misma versión de ffmpeg (no sé acerca de la compilación, ya que estoy limitado a usar la versión de 32 bits), copié el ejecutable de la carpeta bin en el principal, puse un archivo mp4 llamado "video.mp4" en allí, y usó los parámetros exactos de la línea de comando, menos la ruta absoluta ...
..y funcionó perfectamente para mí. Ahora, no lo hice desde la misma estructura de directorio que había configurado (c: \ files \ ffmpeg). ¿Tiene instalado ffmpeg en algún otro lugar de la computadora? ¿Has considerado probar una versión / compilación anterior? ¿Qué pasa con 32 bits frente a 64 bits ... o viceversa? ¿Es la primera vez que usa esta versión de ffmpeg? O ... ¿ha funcionado perfectamente hasta ahora? ¿Has intentado cambiar el nombre del archivo de entrada (tonto, lo sé)?
fuente
Puede tener doble extensión de archivo, su "video.mp4" es de hecho "video.mp4.mp4" (mire la captura de pantalla de su carpeta de Windows, README.txt tiene la extensión oculta)
fuente
resuelto el problema.
si escribe dir en la ventana de solicitud de ff, compruebe a qué CARPETA hace referencia.
Para mí, en realidad estaba haciendo referencia a la carpeta bin, no a la carpeta en la que se encuentra el archivo por lotes ffmpeg.
Puse el archivo de video en la carpeta "bin" y lo encontré sin problemas.
fuente
Parece que ffmpeg está teniendo problemas con su nombre de archivo absoluto. Supongo que, dado que está más concentrado en entornos similares a Unix, está usando \ como carácter de escape. Intente usar barras diagonales en su lugar.
fuente
Haga una búsqueda DIR del directorio para ver si el nombre del archivo no se ha cambiado a "File.mp4.mp4" o similar. Ese fue mi problema con Windows Vista y 7.
fuente
Sé que esta es una publicación antigua, pero por si alguien más se topa con ella y necesita ayuda; ¡puede agregar la ruta completa a todos los archivos involucrados y puede ejecutar esto desde cualquier lugar!
Edite este comando con los valores apropiados y cópielo / péguelo en un símbolo del sistema:
C:\ReplaceThisWithFFMpegInstallFolder\ffmpeg.exe -i "C:\ReplaceThisWithSourceFolder\ReplaceThisWithVideoFileName.mp4" -f mp3 -ab 320000 -vn "C:\ReplaceThisWithDestinationFolder\ReplaceThisWithAudioFileName.mp3"
fuente
Asegúrese de que el nombre del archivo no tenga un espacio final. En mi caso, había un espacio después de la extensión .mp4, haciendo la sintaxis correcta: "input.mp4"
fuente
Estaba teniendo un problema como este con una compilación Win64 a través de Cygwin. Creo que la conversión de ruta automática es el error, y me gustaría que funcionara en más escenarios, como con las rutas de estilo * NIX.
Esto también ocurriría cuando llamé manualmente a cygpath al canalizar datos de ruta desde mi portapapeles.
Al principio pensé que las rutas al estilo de Windows eran el problema, pero eso se debe a que cuando cambio + hago clic derecho para copiar sus rutas en el explorador de archivos, agrega comillas a su alrededor.
Estaba tratando de usar este método:
ffmpeg -v error -i file.avi -f null -
https://superuser.com/a/100290/175686Por lo tanto, el resultado que funciona son las rutas de estilo Windows sin comillas.
Otro enlace ingenioso: /unix/77016/ffmpeg-pattern-type-glob-not-loading-files-in-correct-order
fuente
Tuve este error porque mi nombre de archivo tenía un espacio en blanco. Para resolverlo, 1) establezca el directorio de trabajo con
Pushd
2) ponga su nombre de archivo entre comillas""
Ver aquí para un ejemplo de trabajo
fuente