Nessun file o directory in FFmpeg


11

Sto tentando di utilizzare FFmpeg per estrarre l'audio da un mp4 e continuo a imbattermi in questo errore:

CFileffmpegvideo.mp4: No such file or directory exist. 

Sono nel prompt dei comandi (in Windows 7) e ho il percorso come C:\Files\ffmpeg(Dove è ffmpeg).

Corro questa riga di comando

ffmpeg -i C: \ Files \ ffmpeg \ video.mp4 -f mp3 -ab 320000 -vn music.mp3

Il file si trova nella stessa cartella di ffmpeg. So che mi manca qualcosa di semplice qui, ma che cos'è?

Ecco un breve video che mostra il processo esatto.

Schermata che mostra l'errore


In realtà hai "file-name.mp4" nella riga di comando? Non intendo tra virgolette, ma intendo quel nome file specifico ed esatto? E ... hai effettivamente un file mp4 chiamato "file-name.mp4" nella directory C: \ Files \ ffmpeg?
Bon Gart,

@BonGart - Sì, sì
L84,

Sì, lo faccio per entrambi? Vuol dire che stai usando l'esatto fraseggio E hai un file mp4 con il nome generico di "file-name.mp4" in quella directory specifica? Perché questo è ciò che l'errore ci sta dicendo ... che non ci sono file con quel nome in quella directory.
Bon Gart,

@BonGart - Ho pubblicato un paio di schermate che mostrano la directory e la schermata del prompt dei comandi con errori.
L84,

Ok. quindi la risposta era NO .. NON stavi usando l'esatta frase "nome-file.mp4" nella riga di comando e NON hai un file effettivamente chiamato "nome-file.mp4" in quella directory. Quello che dovresti fare è rimuovere "c: \ Files \ ffmpeg" dalla riga di comando e riprovare. Poiché il file che stai convertendo si trova nella stessa directory di ffmpeg, non è necessario il percorso assoluto.
Bon Gart,

Risposte:


3

Ho ricreato la tua situazione (nel miglior modo possibile) su questo computer dopo aver visto il tuo video. Ho scaricato la stessa versione di ffmpeg (non conosco build, dato che mi limito a utilizzare la versione a 32 bit), ho copiato l'eseguibile dalla cartella bin in quella principale, ho inserito un file mp4 chiamato "video.mp4" in lì, e utilizzato i parametri esatti della riga di comando, meno il percorso assoluto ...

ffmpeg -i video.mp4 -f mp3 -ab 320000 -vn music.mp3

inserisci qui la descrizione dell'immagine

..e ha funzionato perfettamente per me. Ora, non l'ho fatto dalla stessa struttura di directory che avevi impostato (c: \ files \ ffmpeg). Hai ffmpeg installato altrove sul computer? Hai mai pensato di provare una versione / build precedente? Che dire di 32 bit contro 64 bit ... o viceversa? È la prima volta che usi questa versione di ffmpeg? Oppure ... ha funzionato perfettamente fino ad ora? Hai provato a rinominare il file di input (sciocco, lo so)?


Grazie per l'aiuto. Ho preso un breve video che mostra il processo esatto. Senza fortuna. Ecco il link: screencast.com/t/f50qR5eWq2B
L84

@Lynda Ho modificato un po 'la mia risposta, incluso alcune possibilità in fondo, aggiornato ffmpeg alla stessa versione che mostri ...
Bon Gart,

Dovrò provare diverse build credo. Ho provato a rinominare, riordinare il file system ecc. E ancora gli stessi risultati. Questo è l'unico posto in cui l'ho installato. E ho provato ffmpeg su un vecchio computer con gli stessi risultati e ho smesso di provarlo perché il computer aveva dei problemi. Questo è un computer diverso senza i problemi dell'altro e ancora e risultati. Proverò un'altra build immagino.
L84,

13

Potresti avere una doppia estensione del file, il tuo "video.mp4" è in realtà "video.mp4.mp4" (guarda lo screenshot della cartella di Windows, README.txt ha l'estensione nascosta)


3

capito il problema.

se si digita dir nella finestra del prompt di ff, controllare a quale CARTELLA fa riferimento.

Per me in realtà faceva riferimento alla cartella bin, non alla cartella in cui si trova il file batch ffmpeg.

Ho messo il file video nella cartella "bin" e l'ho trovato senza problemi.


Questa è la risposta giustamente corretta!
papajo,

0

Sembra che ffmpeg stia riscontrando problemi con il tuo nome file assoluto. Immagino, dal momento che è più concentrato su ambienti simili a Unix, sta usando \ come carattere di escape. Prova invece a usare le barre rovesciate.


0

Esegui una ricerca DIR della directory per vedere se il nome del file non è stato modificato in "File.mp4.mp4" o simile. Quello era il mio problema con Windows Vista e 7.


0

So che questo è un vecchio post, ma nel caso in cui qualcun altro si imbatti in esso e abbia bisogno di aiuto; puoi aggiungere il percorso completo a tutti i file coinvolti e puoi eseguirlo da qualsiasi luogo!

Modifica questo comando con i valori appropriati e copia / incolla un prompt dei comandi:

C:\ReplaceThisWithFFMpegInstallFolder\ffmpeg.exe -i "C:\ReplaceThisWithSourceFolder\ReplaceThisWithVideoFileName.mp4" -f mp3 -ab 320000 -vn "C:\ReplaceThisWithDestinationFolder\ReplaceThisWithAudioFileName.mp3"


0

Assicurarsi che il nome file non abbia uno spazio finale. Nel mio caso c'era uno spazio dopo l'estensione .mp4, rendendo la sintassi corretta: "input.mp4"


0

Stavo avendo un problema del genere con un build Win64 tramite Cygwin. Penso che la conversione automatica del percorso sia l'errore e vorrei che funzionasse in più scenari come con i percorsi in stile * NIX.

Ciò si verificherebbe anche quando ho chiamato manualmente cygpath durante il piping dei dati del percorso dagli appunti.

All'inizio ho pensato che i percorsi in stile Windows fossero il problema, ma ciò è dovuto al fatto che quando sposto + clic con il tasto destro del mouse per copiare i loro percorsi in Esplora file, vengono aggiunti citazioni intorno a loro.

Stavo cercando di utilizzare questo metodo: ffmpeg -v error -i file.avi -f null - https://superuser.com/a/100290/175686

Quindi il risultato che funziona sono percorsi in stile Windows senza virgolette.

Un altro link intelligente: /unix/77016/ffmpeg-pattern-type-glob-not-loading-files-in-correct-order


0

Ho avuto questo errore perché il mio nome file aveva uno spazio bianco. Per risolverlo, 1) imposta la directory di lavoro con Pushd 2) inserisci il tuo nome file tra virgolette""

Vedi qui per un esempio funzionante

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.