File size: 1,378 Bytes
03bba3d aee382f 129bf32 946c163 aee382f 03bba3d 25d96aa 03bba3d cd8e7f1 ff134cc 25d96aa 8704d0d cd8e7f1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
from moviepy.editor import *
import cv2
import numpy as np
import subprocess
from moviepy import config_defaults
# 函数用于获取图片的持续时间
def get_duration(image_name) ->str:
return '0:00:02.875000'
def test():
print(config_defaults.IMAGEMAGICK_BINARY,config_defaults.FFMPEG_BINARY)
# 图片素材和字幕
image_files = ['6.jpg', '7.jpg']
subtitles = ['我我我,我帝者战神呀!', '嘻嘻!不要笑,不可以笑啦!']
# 视频分辨率和帧率
width, height = 1280, 720
fps = 30
font_path = '1.ttf'#设置字体以防默认字体无法同时处理中英文
# 创建视频编辑器
video_clips = []
for idx, image_file in enumerate(image_files):
img = cv2.imread(image_file)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
clip = ImageClip(img).set_duration(get_duration(image_file)).resize((width, height))
txt_clip = TextClip(subtitles[idx], fontsize=70, color='white', bg_color='black',font = font_path)
txt_clip = txt_clip.set_pos(('center', 'bottom')).set_duration(get_duration(image_file))
clip = CompositeVideoClip([clip, txt_clip])
video_clips.append(clip)
video = concatenate_videoclips(video_clips)
# 保存视频
video.write_videofile('app/output_video.mp4', fps=fps)
return "保存成功"
|