最近在尝试别人代码时遇到了一些问题,经过查找资料算是解决了,在此记录一下。
有这么一段代码是将视频转换成图片,代码具体如下:
call(['ffmpeg','-nostats','-i', videopath,'-qscale:v', '3',fileformat])
不过在运行的时候总是报 FileNotFoundError: [WinError 2] 系统找不到指定的文件 的错误。
看到网上有的在报这种错误的时候加上参数'cmd'或者将shell设置为True都可以解决。不过按照这种方式后,程序能够运行但是文件夹内没有输出的文件。所以这些方式对该问题无效,但在其他类似情况或许可以借鉴(比如用call调用其他的程序)。
解决方法:
参考博客:https://www.5axxw.com/questions/content/geq34l
在该网页中,有人提到这里找不到文件是指找不到ffmpeg可执行文件,所以解决方案就是下载ffmpeg的可执行文件,然后将路径放入就可以了。
具体的下载链接是:https://github.com/BtbN/FFmpeg-Builds/releases
从这里面找到适合自己电脑的文件,然后下载后解压。并将代码修改成下面的样子,程序就可以执行了。
call(['D:/ffmpeg-n4.4-78-g031c0cb0b4-win64-lgpl-4.4/bin/ffmpeg.exe','-nostats','-i', videopath,'-qscale:v', '3',fileformat])
其他的参考博客:
https://blog.csdn.net/qq_38161040/article/details/91654183