【发布时间】:2021-05-10 09:31:25
【问题描述】:
我想在音频剪辑的末尾添加一段短暂的静音持续时间。我在 Moviepy 文档中没有找到任何特定的功能,所以我求助于创建一个 500 毫秒的静音音频文件并将其与原始音频文件连接。
在某些情况下,这种串联会在交叉路口引入明显的故障,我还没有弄清楚原因。通过将连接的音频文件导入 Audacity,我还意识到,Moviepy 在连接时实际上会创建两个音轨。
您是否知道在剪辑末尾添加静音的更好方法,或者有时会出现此故障的原因(根据我的经验,大约每 4 次出现 1 次)?
这是我的代码:
from moviepy.editor import *
temp_audio = "original audio dir"
silence = "silence audio dir"
audio1 = AudioFileClip(temp_audio) #original audio file
audio2 = AudioFileClip(silence) #silence audio file
final_audio = concatenate_audioclips([audio1,audio2])
final_audio.write_audiofile(output)
我目前正在使用 Python 3.9.5 和 Moviepy 1.0.3
【问题讨论】:
-
你可以创建一个
AudioClip,传入一个只返回0的函数 -
谢谢,我不知道我能做到这一点!我试过了,但不幸的是我仍然遇到同样的音频故障。这是我使用的代码:silence = AudioClip(make_frame = lambda t: 0, duration = 0.5, fps = 24)。然后我像以前的代码一样连接起来。也许问题在于连接函数
-
看来使用ffmpeg直接修复了音频故障,所以我暂时使用它: os.system('ffmpeg -i "concat:'+temp_audio+'|'+silence+'" '+输出)
-
是的,ffmpeg 更适合简单的连接:)