文章目录
前言
大家好,我是空空star,本篇给大家分享一下Moviepy模块之视频添加字幕。上一篇讲了最基本的字幕添加,而且添加的字幕也仅仅是英文,如果字幕是中文,并且我们希望设置字幕的字体、大小、颜色,那该如何设置呢?
本篇使用的moviepy版本如下:
Name: moviepy
Version: 1.0.3
一、素材
1.1 原视频
1.2 字幕文件
demo.srt
1
00:00:00,000 --> 00:00:03,000
这是第一条字幕
2
00:00:03,000 --> 00:00:06,000
这是第二条字幕
3
00:00:06,000 --> 00:00:11,000
这是第三条字幕
二、视频添加字幕
2.1 引入库
from moviepy.editor import *
from moviepy.video.tools.subtitles import SubtitlesClip
2.2 加载视频文件
local = ‘/Users/kkstar/Downloads/video/’
video = VideoFileClip(local+‘demo.mp4’)
2.3 设置字幕的字体、大小、颜色
创建一个 lambda 函数,使用 TextClip 类创建一个文本片段,传入的参数是 txt,字体是 ‘STHeitiMedium.ttc’,字体大小是 20,颜色是黄色。
generator = lambda txt: TextClip(txt, font=‘STHeitiMedium.ttc’, fontsize=20, color=‘yellow’)
2.4 加载字幕文件
subtitles = SubtitlesClip(local+‘demo.srt’, generator)
2.5 设置字幕位置
subtitles = subtitles.set_position((‘center’, ‘bottom’))
2.6 将字幕添加到视频中
video_with_subtitles = CompositeVideoClip([video, subtitles])
2.7 保存带有字幕的视频文件
video_with_subtitles.write_videofile(local+‘result.mp4’)
三、新视频效果
总结
主要思想
:使用lambda函数传递文本,使用TextClip类来设置字体、大小以及颜色。然后利用SubtitlesClip类来生成完整的字幕剪辑,从demo.srt文件读取时间码和文本,并自动适应字幕长度。