FFmpeg中没有这样的文件或目录


11

我尝试使用FFmpeg从mp4中提取音频,但我一直遇到此错误:

CFileffmpegvideo.mp4: No such file or directory exist. 

我在命令提示符下(在Windows 7中)并具有路径C:\Files\ffmpeg(在ffmpeg所在的位置)。

我运行此命令行

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

该文件与ffmpeg位于同一文件夹中。我知道我在这里缺少一些简单的东西,但这是什么?

这是一个简短的视频,显示了确切的过程。

屏幕截图显示错误


命令行中实际上是否有“ file-name.mp4”?我不是指引号,而是指具体而准确的文件名?还有...您在目录C:\ Files \ ffmpeg中实际上有一个名为“ file-name.mp4”的mp4文件吗?
Bon Gart 2012年

@BonGart-是的,我愿意
L84

是的,我俩都做?意味着您使用的是确切的措词,并且在该特定目录中有一个通用名称为“ file-name.mp4”的mp4文件?因为那是错误告诉我们的信息……该目录中没有该名称的文件。
Bon Gart 2012年

@BonGart-我发布了几个屏幕截图,显示了目录和错误的命令提示符屏幕。
L84 2012年

好。因此答案是否定的。您未在命令行中使用确切的短语“ file-name.mp4”,并且该目录中没有名为“ file-name.mp4”的文件。您应该做的是从命令行中删除“ c:\ Files \ ffmpeg”,然后重试。由于您要转换的文件与ffmpeg位于同一目录中,因此您不需要绝对路径。
Bon Gart 2012年

Answers:


4

观看您的视频后,我在这台计算机上(尽可能)重新创建了您的情况。我下载了相同版本的ffmpeg(不知道构建,因为我仅限于使用32位版本),将可执行文件从bin文件夹复制到了主文件夹中,在其中放置了一个名为“ video.mp4”的mp4文件。在那里,并使用您确切的命令行参数,减去绝对路径...

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

在此处输入图片说明

..并且对我来说效果很好。现在,我没有使用与您设置的目录结构相同的目录结构(c:\ files \ ffmpeg)执行此操作。您在计算机上的其他任何地方都安装了ffmpeg吗?您是否考虑过尝试以前的构建/版本?那32位和64位又如何呢?这是您第一次使用此版本的ffmpeg吗?还是...到目前为止,它工作得很好吗?您是否尝试过重命名输入文件(很傻,我知道)?


谢谢你的帮助。我拍了一段简短的视频,显示了确切的过程。没运气。这是链接:screencast.com/t/f50qR5eWq2B
L84 2012年

@Lynda我对答案做了一些修改,在底部包括了一些可能性,将ffmpeg升级为与您显示的版本相同的格式
Bon Gart 2012年

我猜我将不得不尝试其他版本。我尝试重命名,重新排序文件系统等,结果仍然相同。这是我唯一安装的地方。我在一台旧计算机上尝试了ffmpeg,但结果相同,但由于该计算机出现问题而停止尝试。这是另一台计算机,没有其他问题和结果。我会尝试另一个构建。
L84 2012年

14

您可能具有文件的双扩展名,而您的“ video.mp4”实际上是“ video.mp4.mp4”(请查看Windows文件夹的屏幕快照,README.txt的扩展名已隐藏)


3

找出了问题。

如果在ff提示窗口中输入dir,请检查它所引用的文件夹。

对我来说,它实际上是引用bin文件夹,而不是ffmpeg批处理文件所在的文件夹。

我将视频文件放在“ bin”文件夹中,发现没有问题。


这是正确的答案!
papajo

0

ffffeg似乎在使用您的绝对文件名时遇到问题。我猜,由于它更集中在类Unix环境中,因此它使用\作为转义符。尝试改用正斜杠。


0

对目录执行DIR搜索,以查看文件名是否未更改为“ File.mp4.mp4”或类似名称。那是我使用Windows Vista和7的问题。


0

我知道这是一个旧帖子,但是以防万一有人偶然发现它并需要帮助;您可以将完整路径添加到所有涉及的文件中,并且可以在任何地方运行它!

使用适当的值编辑此命令,然后将其复制/粘贴到命令提示符:

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


0

确保文件名没有尾随空格。在我的情况下,.mp4扩展名后有一个空格,其语法正确:“ input.mp4”


0

通过Cygwin构建Win64时遇到了这样的问题。我认为自动路径转换是我们的错误,我希望它可以在更多的情况下使用,例如* NIX样式的路径。

当我从剪贴板传递路径数据时手动调用cygpath时,也会发生这种情况。

我本来以为Windows风格的路径是问题所在,但这是因为当我按住shift键并右键单击以在文件资源管理器中复制其路径时,会在它们周围添加引号。

我试图使用此方法:https : ffmpeg -v error -i file.avi -f null - //superuser.com/a/100290/175686

因此,有效的结果是非引用的Windows样式的路径。

另一个漂亮的链接:https : //unix.stackexchange.com/questions/77016/ffmpeg-pattern-type-glob-not-loading-files-in-correct-order


0

我遇到此错误是因为我的文件名中包含空格。为了解决这个问题,1)设置工作目录为Pushd 2)将文件名放在引号中""

请参阅此处的工作示例

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.