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

示例如下:

​​​​​

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

数据可以如此美好!

相关推荐
阿俊仔(摸鱼版)3 分钟前
Python 常用运维模块之Shutil 模块
linux·服务器·python·自动化·云服务器
MarsBighead5 分钟前
(二)PosrgreSQL: Python3 连接Pgvector出错排查
python·postgresql·向量数据库·pgvector
可涵不会debug10 分钟前
C语言文件操作:标准库与系统调用实践
linux·服务器·c语言·开发语言·c++
芥末的无奈24 分钟前
GStreamer 简明教程(九):插件开发,以一个音频特效插件为例
音视频·gstreamer
深蓝海拓26 分钟前
Pyside6(PyQT5)中的QTableView与QSqlQueryModel、QSqlTableModel的联合使用
数据库·python·qt·pyqt
无须logic ᭄33 分钟前
CrypTen项目实践
python·机器学习·密码学·同态加密
百流1 小时前
scala文件编译相关理解
开发语言·学习·scala
Channing Lewis1 小时前
flask常见问答题
后端·python·flask
Channing Lewis1 小时前
如何保护 Flask API 的安全性?
后端·python·flask