首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用pydub访问ff探头

用pydub访问ff探头
EN

Stack Overflow用户
提问于 2020-08-12 11:49:05
回答 1查看 944关注 0票数 0

我试图让https://github.com/jiaaro/pydub在Docker的AlpinLinux3.7.3上使用ffprobeffmpeg解码器。

错误是:

代码语言:javascript
复制
/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'

我用诗歌加上了ff探针和相关的ffmpeg软件包,这一切似乎都很好:

代码语言:javascript
复制
 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]

关于如何使这些内容在https://github.com/jiaaro/pydub/issues/62中可用,有很多讨论

我一直按照建议手动设置AudioSegment.converterAudioSegment.ffmpegAudioSegment.ffprobe,包括使用ipdb来确保设置它:

代码语言:javascript
复制
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, but may not work
  warn("Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work", 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, format="mp3")
/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)
*** FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe': 'ffprobe'

关于如何使这个包可供pydub使用,有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-26 10:33:50

对我来说,当我将FFMPEG二进制文件复制到拥有Mp3文件的同一个目录中时,它起了作用。我尝试调整路径变量等,但最后复制二进制文件对我有用。您可以从这里下载ffmpeg二进制文件:https://ffmpeg.org/download.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63375909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档