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


前言

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

  • 63
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 83
    评论
以下是使用MoviePy视频添加字幕的步骤: 1. 安装MoviePy库。可以通过在命令行中运行以下命令来安装MoviePy: ``` pip install moviepy ``` 2. 导入MoviePy库和其他必要的库。以下是一个示例代码: ``` from moviepy.editor import * from moviepy.video.tools.subtitles import SubtitlesClip from moviepy.video.tools.subtitles import TextClip ``` 3. 创建一个SubtitlesClip对象。SubtitlesClip对象将会用于添加字幕。以下是一个示例代码: ``` subtitles = SubtitlesClip('path/to/subtitles.srt', fontsize=24) ``` 在这个代码中,我们创建了一个SubtitlesClip对象,并将字幕文件的路径传递给它。fontsize参数指定了字幕的字体大小。 4. 创建一个TextClip对象。TextClip对象将用于创建一个包含字幕视频。以下是一个示例代码: ``` text = TextClip('path/to/subtitles.srt', fontsize=24) ``` 在这个代码中,我们创建了一个TextClip对象,并将字幕文件的路径传递给它。fontsize参数指定了字幕的字体大小。 5. 将TextClip对象和SubtitlesClip对象合并成一个视频。以下是一个示例代码: ``` video = CompositeVideoClip([text, subtitles.set_pos(('center', 'bottom'))]) ``` 在这个代码中,我们使用CompositeVideoClip对象将TextClip对象和SubtitlesClip对象合并成一个视频。set_pos方法将SubtitlesClip对象放置在视频的底部中心。 6. 将字幕添加视频中。以下是一个示例代码: ``` video_with_subtitles = video.set_duration(10).subclip(0, 10).resize(0.5) original_video = VideoFileClip('path/to/video.mp4') final_video = CompositeVideoClip([original_video, video_with_subtitles]) final_video.write_videofile('path/to/final_video.mp4') ``` 在这个代码中,我们将原始视频加载到一个VideoFileClip对象中。然后,我们使用CompositeVideoClip对象将原始视频和包含字幕视频合并成一个最终视频。最后,我们使用write_videofile方法将最终视频保存到磁盘中。在这个示例代码中,我们将最终视频的持续时间设置为10秒,并将其剪辑为从0秒到10秒。我们还将最终视频的大小缩小了一半。 完成以上步骤后,您应该能够使用MoviePy视频添加字幕

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 83
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空空star

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值