如何在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] 如何在音频末尾添加短暂的静音?