moviepy将图片序列制作成视频并加载字幕 - python 实现

DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。

需要更多数据资源和技术解决方案,知识星球: "DataBall - X 数据球(free)"

-----------------------------------------------------------------------------------------

具体代码实现如下:

python 复制代码
import os
from moviepy.editor import ImageSequenceClip,VideoFileClip,TextClip,CompositeVideoClip

path_ = "imgs/"

# 设置每秒帧数
fps = 30
# 每张图片的持续时间列表
durations = []
# 图片文件列表
image_files = []
for f_ in os.listdir(path_):
    print(f_)
    image_files.append(path_ + f_)
    durations.append(2) # 一个视频停留 2 秒

# 创建视频剪辑对象,设置每张图片的持续时间
clip = ImageSequenceClip(image_files, durations=durations)

# 输出视频文件
clip.write_videofile("output_video.mp4", codec="libx264",fps=fps)

# 打上字幕
video = VideoFileClip("output_video.mp4")  # 替换为你的视频文件路径
# 获取视频时长(单位:秒)
duration = video.duration
# 获取视频宽度
video_width = video.w
text = "DataBall - X "
print("{}".format(text))
txt_clip = TextClip(text, fontsize=120, color='blue', font="Arial-Bold",size=(video_width, None),method="caption")
txt_clip = txt_clip.set_position('bottom').set_duration(duration)
txt_clip = txt_clip.set_start(0)

final_video = CompositeVideoClip([video, *[txt_clip]])

# 输出字幕合成视频文件
final_video.write_videofile("output_video2.mp4", codec="libx264", audio_codec="aac")

示例如下:

​​​​​

助力快速掌握数据集的信息和使用方式。

数据可以如此美好!

相关推荐
wuyk5551 小时前
第2章:六步换相原理全解+STM32工程实战
c语言·开发语言·stm32·单片机·嵌入式硬件
hey_sml1 小时前
JAVA每日一学---CompletableFuture中thenApply与thenCompose区别详解
java·开发语言
萧瑟余晖3 小时前
Java深入解析篇十七之SpringCloud
java·开发语言
北斗落凡尘3 小时前
LangGraph 入门实战(2)
python·langchain
ttod_qzstudio3 小时前
Java 常用语法极简通关(五):类与对象——字段、方法、构造器、this 与 static
java·开发语言·python
萧瑟余晖4 小时前
Java深入解析篇十七之Spring Security
java·开发语言·spring
jufeng13074 小时前
【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 1 篇】
人工智能·python·架构·agent
月光船幽幽5 小时前
影子模式下保护 logits 不被修改
人工智能·python·算法
二十雨辰7 小时前
[Java]-Spring面试题
java·开发语言
_oP_i8 小时前
python 后缀 mjs文件
开发语言·python