如何解决用pydub访问ffprobe
我正在尝试让https://github.com/jiaaro/pydub与Docker的Alpine Linux 3.7.3上的ffprobe
和ffmpeg
解码器一起工作。
错误是:
/usr/lib/python3.6/site-packages/pydub/utils.py:198: RuntimeWarning: Couldn't find ffprobe or avprobe - defaulting to ffprobe,but may not work
warn("Couldn't find ffprobe or avprobe - defaulting to ffprobe,but may not work",RuntimeWarning)
[Errno 2] No such file or directory: 'ffprobe': 'ffprobe'
我已经用诗歌添加了ffprobe和相关的ffmpeg包,而且一切似乎都很好:
development ➜ app ? poetry show ffprobe
Skipping virtualenv creation,as specified in config file.
name : ffprobe
version : 0.5
description : Wrapper around ffprobe command to extract metadata from media files
development ➜ app ? poetry show ffmpeg
Skipping virtualenv creation,as specified in config file.
name : ffmpeg
version : 1.4
description : ffmpeg python package url [https://github.com/jiashaokun/ffmpeg]
这里有很多关于如何使ffmpeg可用的讨论https://github.com/jiaaro/pydub/issues/62
我一直按照建议手动设置AudioSegment.converter
,AudioSegment.ffmpeg
和AudioSegment.ffprobe
,包括ipdb以确保已设置:
ipdb> AudioSegment.converter
'/usr/lib/python3.6/site-packages/ffprobe/ffprobe.py'
ipdb> mp3_audio = AudioSegment.from_file(output,format="mp3")
/usr/lib/python3.6/site-packages/pydub/utils.py:198: RuntimeWarning: Couldn't find ffprobe or avprobe - defaulting to ffprobe,RuntimeWarning)
*** FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe': 'ffprobe'
ipdb> ffprobe
<module 'ffprobe' from '/usr/lib/python3.6/site-packages/ffprobe/__init__.py'>
ipdb> AudioSegment.ffmpeg
<module 'ffmpeg' from '/usr/lib/python3.6/site-packages/ffmpeg/__init__.py'>
ipdb> AudioSegment.ffprobe
'/usr/lib/python3.6/site-packages/ffprobe/ffprobe'
ipdb> AudioSegment.ffprobe = '/usr/lib/python3.6/site-packages/ffprobe/ffprobe.py'
ipdb> mp3_audio = AudioSegment.from_file(output,RuntimeWarning)
*** FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe': 'ffprobe'
关于如何使该软件包可用于pydub的任何想法?
解决方法
对我来说,当我将FFMPEG二进制文件复制到我拥有Mp3文件的同一目录中时,它就起作用了。我尝试调整路径变量等,但最后复制二进制文件对我有用。 您可以从此处下载ffmpeg二进制文件:https://ffmpeg.org/download.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。