【发布时间】:2019-02-11 08:26:51
【问题描述】:
我尝试使用 ffmpeg 从视频文件中提取音频,这是我的代码
import io
import os
import subprocess
def extract_audio(video,output):
command = "ffmpeg -i '{video}' -ac 1 -f flac -vn '{output}'"
subprocess.call(command,shell=True)
extract_audio('dm.MOV','dm-new.flac')
编译后没有错误。通过这样做,我应该得到一个新文件,即“dm-new.flac”。但是我编译脚本后没有创建这样的flac文件。我认为语法或变量“命令”中的某些东西有问题,我不知道要解决这个问题。我的问题是如何在基于此代码的 python 函数中使用 ffmpeg?
顺便说一句,我知道我可以直接使用 ffmpeg 而无需编写函数。但我真的需要写一个函数。谢谢
【问题讨论】:
-
如果你把它放在 python 之外的脚本中对你有用吗?
-
是的,如果我不使用函数,它就可以工作
-
c3 = "ffmpeg -i dm.mov -ac 1 -f flac -vn testdm.flac" subprocess.call(c3, shell=True)像这样 -
即便如此,我仍然认为您在脚本字符串中根本不需要引号,而且我怀疑您仍然会得到一个引号,但这只是一个猜测
-
@kevinkayaks
command = 'ffmpeg -i {video} -ac 1 -f flac -vn {output}'这就是我的意思,但它没有用