Moviepy模块之视频添加字幕(二)

文章目录

  • 前言
  • 一、素材
    • 1.1 原视频
    • 1.2 字幕文件
  • 二、视频添加字幕
    • 2.1 引入库
    • 2.2 加载视频文件
    • 2.3 设置字幕的字体、大小、颜色
    • 2.4 加载字幕文件
    • 2.5 设置字幕位置
    • 2.6 将字幕添加到视频中
    • 2.7 保存带有字幕的视频文件
  • 三、新视频效果
  • 总结

前言

大家好,我是空空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文件读取时间码和文本,并自动适应字幕长度。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年5月24日
下一篇 2023年5月24日

相关推荐