如何在python函数中使用ffmpeg

Jam*_*ewp 2 python audio ffmpeg

我曾尝试使用 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')
Run Code Online (Sandbox Code Playgroud)

编译后我没有错误。通过这样做,我应该得到一个名为“dm-new.flac”的新文件。但是我编译脚本后没有创建这样的flac文件。我认为语法或变量“命令”中的某些内容有问题,我不知道要解决此问题。我的问题是如何在基于此代码的 python 函数中使用 ffmpeg?

顺便说一句,我知道我可以只使用 ffmpeg 而无需编写函数。但我真的需要写在一个函数中。谢谢

tda*_*tda 7

尝试这个:

import io
import os
import subprocess

def extract_audio(video,output):
    command = "ffmpeg -i {video} -ac 1  -f flac -vn {output}".format(video=video, output=output)
    subprocess.call(command,shell=True)

extract_audio('dm.MOV','dm-new.flac')
Run Code Online (Sandbox Code Playgroud)

我认为您试图在字符串中引用两个变量,但没有告诉 Python 您应该用相应的变量替换 'video' 和 'output'。.format()允许您引用您在字符串中引用的变量。

请参阅此处了解更多信息。