centos 定时器 执行 python (使用了ffmpeg)报错,手动运行正常

发布于 2022-09-11 22:30:09 字数 796 浏览 18 评论 0

问题描述

用python写了一段脚本,功能比较简单就是将要mp3文件转换为wav,代码如下:

相关代码

from pydub import AudioSegment

...
song = AudioSegment.from_mp3(path + '/'+file)
song.export(path + 'wav/' + name + ".wav", format="wav")
...

已经安装好 pydub 和 ffmpeg 了。手动在终端输入python3 /opt/task.py 运行一切正常,但是业务需求是需要每隔5分钟自动检索一下新的mp3文件然后把它转为wav。于是用系统自带的crontab,结果报如下错误(ffmpeg确实已经安装好了,因为手动执行的时候是正常的):

var/spool/mail/root 中的错误说明是这样的

/usr/local/python3/lib/python3.6/site-packages/pydub/utils.py:165: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)

补充

操作系统是 centos6.1,python版本是3.6,系统当前只有一个root账户,所有操作就是在root下进行的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫烠⑼条掵仅有一顆心 2022-09-18 22:30:09

你直接在python代码把ffmpeg的绝对地址写上

pip安装的都是源文件,不可执行,所以从这里下载了ffmpeg的经过build之后的文件

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文