我试图添加一个mp3音频文件到一个视频剪辑,我创建了与MoviePy的图像。当脚本运行它创建mp4文件,并成功播放,但没有音频。我真的不知道为什么,似乎不能找到一吨的文档围绕这一点一般。MoviePy是相当新的,所以任何帮助将不胜感激-谢谢!
def make_video(images):
image_clips = []
for img in images:
if not os.path.exists(img):
raise FileNotFoundError(img)
ic = ImageClip(img).set_duration(3)
image_clips.append(ic)
video = concatenate(image_clips, method="compose")
video.set_audio(AudioFileClip("audio.mp3"))
video.write_videofile("mp4_with_audio.mp4", fps=60, codec="mpeg4")
6条答案
按热度按时间lb3vh1jj1#
这对我很有效:
在此找到:https://github.com/Zulko/moviepy/issues/51
1cosmwyk2#
诚然,这个问题很老了,但在搜索结果中排名很高。我也有过同样的问题,我认为解决方案可以澄清。
该行:
实际上不更改"video"对象的音轨,但返回附加了新AudioFileClip的对象副本。
这意味着该方法:
不会使用新音轨写入最终文件,因为"video"对象保持不变。
按照下面的脚本更改为我解决了这个问题。
另请参见文档
7qhs6swi3#
使用VLC媒体播放器检查视频mp4_with_audio.mp4,我使用快速播放器时也遇到同样的问题。
bhmjp9jg4#
我也遇到过这个问题。我找到了解决办法,试试看
z9gpfhce5#
我做了类似的事情,发现moviepy 1.0.1没有用正确的参数调用ffmpeg来合并mp4视频的视频和音频。我通过直接使用ffmpeg解决了这个问题。它使用moviepy的临时音频文件和视频文件来创建最终文件。这是一个类似的问题:输出视频没有声音由于您使用的是mp3,您可能需要将ffmpeg转换为aac,因此此代码可以做到这一点。
这个链接帮助我使用ffmpeg:https://superuser.com/questions/277642/how-to-merge-audio-and-video-file-in-ffmpeg
i1icjdpr6#
请使用此选项: