如何在moviepy中的图像剪辑上设置音频剪辑?

Posted

技术标签:

【中文标题】如何在moviepy中的图像剪辑上设置音频剪辑?【英文标题】:How to set audio clip on image clip in moviepy? 【发布时间】:2021-05-13 03:49:52 【问题描述】:

我正在尝试在moviepy 中的图像剪辑上设置音频剪辑。我读了this page,然后我写了这样的代码。

from moviepy.editor import *
clip = ImageClip('img/output_1.png')
audio_clip = AudioFileClip('audio/output_1.mp3')
clip = clip.set_duration(audio_clip.duration)
clip = clip.set_audio(audio_clip)

音频和持续时间是返回值。

>>> clip.audio
<moviepy.audio.io.AudioFileClip.AudioFileClip object at 0x1241dbd30>
>>> clip.duration
4.18

但是当我写为文件时。

clip.write_videofile('mov/sample.mp4',fps=4)

我听不到声音。我的代码有错误吗?我不知道我应该如何更改我的代码...如果您有任何想法,请帮助我!

我的环境是

MacOS 11.3.1
python 3.9.5
moviepy 1.0.3

我在 google colab 上运行过相同的代码,我遇到了同样的问题。视频有 4.18 秒,但没有声音...

我从ondoku3 和youtube 下载了音频文件为mp3

【问题讨论】:

只保存音频有没有这个问题?当您在任何视频播放器中显示时,视频(持续时间)有多长?也许它以持续时间 0(零)显示它,然后它无法播放音频。 当我运行您的代码时,生成的视频甚至无法播放 - 很奇怪。 代码适用于我在 Linux Mint 20、Python 3.8.5、MoviePy 1.0.3 上。我会检查mp3 是否正确以及视频播放器是否静音 @knosmos 你用的是什么系统、python、moviepy 的版本?也许问题只在某些系统上?它适用于我在 Linux 上。 Windows 10,Python 3.7.4,moviepy 1.0.3 - 我过去使用过moviepy,没有发生任何意外,所以它可能与我使用的测试文件有关 【参考方案1】:

我发现 QuickTime 无法播放声音。当我播放 VLC 时,我可以听到声音。

当我将音频和视频与 ffmpeg 合并时。我遇到了同样的问题。所以我认为这个问题来自 ffmpge convert 问题或 QuickTime 问题。

【讨论】:

以上是关于如何在moviepy中的图像剪辑上设置音频剪辑?的主要内容,如果未能解决你的问题,请参考以下文章

对视频剪辑应用灰度图像变换+Moviepy生成灰度视频处理遇到几个有意思的问题

Python中利用moviepy对视频进行剪辑以及拼接

[Python][Moviepy] 如何在音频末尾添加短暂的静音?

PyQt+moviepy音视频剪辑实战1:多视频合成顺序播放或同屏播放的视频文件

体验 Python 剪辑视频以及相关问题解决, 一劳永逸!

Moviepy+OpenCV-python 结合进行音视频剪辑处理的一种建议模式