在Django项目中包含ffmpeg

时间:2020-03-24 07:47:04

标签: python django ffmpeg

我正在制作一个非常简单的Django应用(这是对非Django课程的测试),我需要在其中分析mp3文件,因此我尝试通过以下方式将其转换为wav:

 sound = AudioSegment.from_mp3('upload/' + filename)
 sound.export('upload/wavfile', format="wav")
 rate, data = wav.read('upload/wavfile')

我已经通过pip install ffmpeg在venv终端中安装了ffmpeg,因为我希望我的代码不仅在我的机器上运行。 ffmpeg ffprobe 文件夹已经出现在/venv/lib/python3.7/site-packages/中,但是当我运行服务器时,我得到警告:

RuntimeWarning:找不到ffmpeg或avconv-默认为ffmpeg, 但可能不起作用 警告(“找不到ffmpeg或avconv-默认为ffmpeg,但可能不起作用”,RuntimeWarning)

当我在网页中加载文件时,它会抛出

[Errno 2]没有这样的文件或目录:'ffprobe':'ffprobe'

在上面代码的第一行。

对于在我的应用中如何使用ffmpeg或其他方式处理mp3文件的任何帮助,我将非常感谢。

1 个答案:

答案 0 :(得分:0)

您必须添加ffmpeg可执行文件的路径

import sys
sys.path.append('/path/to/ffmpeg')

or 

import ffmpy

ff = ffmpy.FFmpeg(executable='C:\\ffmpeg\\bin\\ffmpeg.exe', inputs={path+'/Stage1Rap.wav': None}, outputs={path+'/FinalRap.mp3': ["-filter:a", "atempo=0.5"]})
ff.run()