当我尝试生成编辑一个图像和指定音频剪辑的简单视频时,图像变得比原始图像轻得多。使用音频文件audio.wav
和图像文件image.png
,如下所示:
使用以下代码:
import os
if '/' in __file__:
slash = '/'
else:
slash = '\\'
import sys
os.chdir(slash.join(__file__.split(slash)[:-1]))
from moviepy.editor import *
FPS = 25
def create_video(audio, image):
square = ImageClip(image)
audio = AudioFileClip(audio)
dur = audio.duration
square.duration = dur
## When I originally posted the question I had the following two lines
#square.set_audio(audio)
#square.audio = audio
## A more elegant way to do the same thing (the problem still remains):
square = square.set_audio(audio)
## The line "square.set_audio(audio)" does nothing, as tburrows13 commented
return square
audio = 'audio.wav'
image = 'image.png'
result = create_video(audio, image)
result.write_videofile('video.mp4', fps=FPS)#, codec='mpeg4') # Many options...
生成的视频文件中的图像如下所示:
正如我们所看到的,灰色更轻,蓝色更轻。任何人都可以说出错误以及如何解决这个问题吗?
答案 0 :(得分:0)
看起来我自己设法解决了这个问题。图像需要采用jpg格式,png图像将变得更亮。
我将图片转换为jpg,这是新视频的屏幕截图:
顺便说一下,图像的宽度和高度(以像素为单位)是偶数也很重要。否则媒体播放器可能无法显示图像,即使YouTube似乎接受了它们。