首页 > 解决方案 > 在python中的视频文件(.mp4)后面添加图像

问题描述

我正在尝试使用moviepy在视频后面添加图像,但无法想出任何方法来做到这一点。我的图像尺寸是(1080 x 720),我的视频尺寸是(200 x 200)。我正在尝试将视频文件放在图像文件的顶部,将其放在 midlle 中并导出具有图像尺寸的最终视频。这是我要实现的目标的视觉表示:

看图

我尝试使用以下代码执行此操作,但无法使其正常工作。非常感谢任何帮助:)

import moviepy
import moviepy.editor as mp

video = mp.VideoFileClip("/media/pi/vid.mp4")

logo = (mp.ImageClip("/media/pi/pic.png"))

# Preferably I would want the image to be the same duration as the video file. 
# The following was just for testing.
final = mp.CompositeVideoClip([video, logo.set_duration(3)])
final.write_videofile("test.mp4")

标签: pythonpython-3.xffmpegmoviepy

解决方案


你好!

我现在无法测试它,但这里它说

请注意,默认情况下,合成具有其第一个剪辑的大小(因为它通常是背景)

所以也许你应该试试这个(如果你不知道什么是“中心”,你应该看看文档):

import moviepy
import moviepy.editor as mp

video = mp.VideoFileClip("/media/pi/vid.mp4")
logo = (mp.ImageClip("/media/pi/pic.png"))

final = mp.CompositeVideoClip([logo, video.set_position("center")])
final.write_videofile("test.mp4")

旁注:您应该从moviepy 1.0.1 降级到moviepy 1.0.0,否则您将收到“对象没有属性stdout”错误或类似的错误。降级:

pip install moviepy==1.0.0 

或者

 pip3 install moviepy = 1.0.0

推荐阅读