在 python 中将 mp4 转换为具有相同文件名的 wav

conversing mp4 to wav with the same file name in python

下面是我的代码,我正在尝试通过一些参数更改将 mp4 文件转换为 wav,比如我正在更改其频率等。现在我的问题是我在 "inputdir" 文件夹中有 100 个 mp4 文件,我一个一个地读取文件并转换它,然后我想保存与 mp4 同名的文件文件名但具有不同的扩展名(在我的例子中 .wav)。在我上面的代码中,每次我转换时,它都会被保存为 out.wav。有人可以给我一些选择吗?

我也查了How do I use FFMPEG to create a WAV file with the same name as the input (m4a) file?

但我找不到任何答案。

谢谢:)

import os
import ffmpy

inputdir = '/home/------my folder path------------'


for filename in os.listdir(inputdir):
    actual_filename = filename[:-4]
    if(filename.endswith(".mp4")):
        os.system("ffmpeg -i {0} -acodec pcm_s16le -ar 16000 out.wav".format(filename))
    else:
        continue

我想把它变成,

os.system("ffmpeg -i {0} -acodec pcm_s16le -ar 16000 actual_filename.wav".format(filename))

我也试过如下。

os.system("ffmpeg -i "$filename" -acodec pcm_s16le -ar 16000 "${actual_filename}".wav".format(filename))

但是没有用。我得到

os.system("ffmpeg -i "$filename" -acodec pcm_s16le -ar 16000 "${actual_filename}".wav".format(filename))
                          ^
SyntaxError: invalid syntax

您将在 os.system 通话中关闭您的报价。

os.system('ffmpeg -i {} -acodec pcm_s16le -ar 16000 {}.wav'.format(filename, actual_filename))