ffmpeg:找不到文件,但是显然可以访问


1

我正在犯一些非常愚蠢的错误,或者我偶然发现了一个非常奇怪的错误。我正在bash中,我想使用ffmpeg将.flac转换为.mp3。运行

ffmpeg -i 3\ -\ Thirty\ Seconds\ to\ Mars\ -\ Rescue\ Me.flac 3\ -\ Thirty\ Seconds\ to\ Mars\ -\ Rescue\ Me.mp3

会导致3 - Thirty Seconds to Mars - Rescue Me.flac: No such file or directory,尽管statls都显示该文件具有当前用户的读取权限,我什至可以使用来查看其内容less

我怀疑文件名有问题,所以我将文件重命名为asdf.flac,可以正常工作,但ffmpeg -i asdf.flac asdf.mp3仍然给我asdf.flac: No such file or directory

为了排除权限问题,我已经做到chmod -R 777 .了使目录和所有文件在世界范围内可读写,但仍然没有机会。

有什么想法可能导致ffmpeg找不到文件,尽管它显然在那里?


1
输出是type ffmpeg什么?如果返回路径,则输出是file /the/path/to/ffmpeg什么?关于文件系统是否有些古怪?(例如保险丝)。
卡米尔Maciorowski

我认为会发生这种情况的唯一方法是是否ffmpeg具有设置的用户/组ID权限。什么ls -l $(which ffmpeg)报告?
AFH

也许这在文件名中有些奇怪。您可以将源重命名为简单的名称并尝试对其进行操作吗?
世界经济论坛

@wef请重新阅读问题:“我怀疑文件名有问题,因此我将文件重命名为asdf.flac,该文件可以正常工作,但ffmpeg -i asdf.flac asdf.mp3仍然给我asdf.flac:没有这样的文件文件或目录。”
slhck

糟糕-严重没有注意到这一点。道歉。
世界经济论坛

Answers:


1

@ kamil-maciorowski为我指出了正确的方向。

lukas@Server:~$ type ffmpeg
ffmpeg ist /usr/local/bin/ffmpeg

这让我想起了firejail设置。

lukas@Server:~$ file /usr/local/bin/ffmpeg
/usr/local/bin/ffmpeg: symbolic link to /usr/bin/firejail

确认了这一点。显然ffmpeg是在监狱里奔跑。不知道我已经firejail在那台机器上设置了,但是/usr/bin/ffmpeg直接运行就可以了。因此,存在对监狱的限制,即不会将输入文件列入白名单。

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.