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")

示例如下:

​​​​​

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

数据可以如此美好!

相关推荐
Filotimo_1 分钟前
在java开发中,什么是JSON格式
开发语言·json
咕噜签名-铁蛋21 分钟前
云服务器远程连接失败?
开发语言·php
~无忧花开~1 小时前
Vue二级弹窗关闭错误解决指南
开发语言·前端·javascript·vue.js
老华带你飞1 小时前
在线教育|基于springboot + vue在线教育系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端
REDcker1 小时前
JS 与 C++ 语言绑定技术详解
开发语言·javascript·c++
June`1 小时前
C++11新特性全面解析(三):智能指针与死锁
开发语言·c++
认真敲代码的小火龙1 小时前
【JAVA项目】基于JAVA的医院管理系统
java·开发语言·课程设计
_一路向北_2 小时前
爬虫框架:Feapder使用心得
爬虫·python
皇族崛起2 小时前
【3D标注】- Unreal Engine 5.7 与 Python 交互基础
python·3d·ue5
Yutengii2 小时前
b站视频下载到电脑本地的方法有哪些
音视频