当前位置: 首页 > news >正文

用Python打造精彩动画与视频,4.3 创建动态文本和字幕

 第四章:深入MoviePy

4.3 创建动态文本和字幕

在视频编辑中,动态文本和字幕是传达信息、增强观众体验的重要元素。MoviePy 提供了丰富的工具来添加和自定义文本和字幕,包括字体、颜色、动画效果等。本节将介绍如何在视频中添加动态文本和字幕,并提供具体的代码示例。

4.3.1添加静态文本

from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip

# 加载原始视频

clip = VideoFileClip("I:\\《从基础到精通:用Python打造精彩动画与视频》\\python动画视频项目目录\\MyNewProject\\example.mp4")

# 创建文本剪辑

text = TextClip("Hello, MoviePy!", fontsize=70, color='white', font="Arial-Bold", stroke_color='black', stroke_width=2)

# 设置文本出现的位置和持续时间

text = text.set_position(('center', 'bottom')).set_duration(clip.duration)

# 合成视频和文本剪辑

final_clip = CompositeVideoClip([clip, text])

final_clip.write_videofile("I:\\《从基础到精通:用Python打造精彩动画与视频》\\python动画视频项目目录\\MyNewProject\\text_output.mp4")

静态文本是指位置和内容固定不变的文本,适用于标题、标签或其他固定信息。

4.3.2添加动态文本

动态文本可以通过淡入淡出、移动等效果来吸引观众注意力。以下示例展示了如何让文本在视频中淡入淡出:

from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip

# 加载原始视频

clip = VideoFileClip("I:\\《从基础到精通:用Python打造精彩动画与视频》\\python动画视频项目目录\\MyNewProject\\example.mp4")

# 创建文本剪辑

text = TextClip("Dynamic Text", fontsize=70, color='white', font="Arial-Bold", stroke_color='black', stroke_width=2)

# 设置文本位置和出现时间

text = text.set_position('center').set_start(1).set_duration(5).crossfadein(1).crossfadeout(1)

# 合成视频和文本剪辑

final_clip = CompositeVideoClip([clip, text])

final_clip.write_videofile("I:\\《从基础到精通:用Python打造精彩动画与视频》\\python动画视频项目目录\\MyNewProject\\dynamic_text_output.mp4")

4.3.3 添加字幕

from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip

# 加载原始视频

clip = VideoFileClip("I:\\《从基础到精通:用Python打造精彩动画与视频》\\python动画视频项目目录\\MyNewProject\\example.mp4")

# 创建字幕文本

subtitles = [(0, 2, "This is the first subtitle."),    (2, 4, "This is the second subtitle.")]

# 创建字幕剪辑

subtitle_clips = [TextClip(txt, fontsize=50, color='white', font="Arial-Bold", stroke_color='black', stroke_width=2)

                  .set_position('bottom')

                  .set_start(start)

                  .set_duration(end - start)

                  for start, end, txt in subtitles]

# 合成视频和字幕剪辑

final_clip = CompositeVideoClip([clip, *subtitle_clips])

final_clip.write_videofile("I:\\《从基础到精通:用Python打造精彩动画与视频》\\python动画视频项目目录\\MyNewProject\\subtitles_output.mp4")

字幕通常用于对话或音频的文字展示。可以使用字幕文件(如 SRT 格式)或手动添加文本剪辑来创建字幕。

准备的素材

1. 视频素材

您需要一个或多个用于添加文本和字幕的原始视频文件。例如,路径为 `I:\《从基础到精通:用Python打造精彩动画与视频》\python动画视频项目目录\MyNewProject\example.mp4` 的视频文件。

2. 文本和字体

确保安装了所需的字体文件,如 Arial 或 Arial-Bold,以便创建文本剪辑。

3. 字幕文件(可选)

如果要添加大量字幕,使用 SRT 文件等字幕文件格式会更加方便。

4. MoviePy 库

确保已安装 MoviePy 和其依赖项,如 ImageMagick(用于处理文本和图像)。

http://www.lryc.cn/news/412834.html

相关文章:

  • spring boot + vue3 接入钉钉实现扫码登录
  • 二叉树构建(从3种遍历中构建)python刷题记录
  • 计算机网络中协议与报文的关系
  • 机器学习 第8章-集成学习
  • Docker 安装 GitLab教程
  • 如何在生产环境中千万表添加索引并保证数据一致性
  • Uni-APP页面跳转问题(十六)
  • Java新特性(二) Stream与Optional详解
  • springboot系列教程(三十一):springboot整合Nacos组件,环境搭建和入门案例详解
  • Traefik系列
  • 【力扣】3128. 直角三角形 JAVA
  • 如何全面提升企业安全意识
  • 全球支持与无界服务:跨越地域的数据采集与分析
  • Java面试八股之简述spring boot的目录结构
  • python == 与 is区别
  • STM32学习笔记1---LED,蜂鸣器
  • 动手学强化学习 第 15 章 模仿学习 训练代码
  • 第一阶段面试问题(前半部分)
  • 《数学教学通讯》是一本怎样的刊物?投稿难吗?
  • <机器学习> K-means
  • 我们如何优化 Elasticsearch Serverless 中的刷新成本
  • MySQL半同步复制
  • [一本通提高数位动态规划]数字游戏:取模数题解
  • [Day 39] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • OpenStack入门体验
  • 预测未来 | MATLAB实现RF随机森林多变量时间序列预测未来-预测新数据
  • iOS 系统提供的媒体资源选择器(UIImagePickerController)
  • 电脑如何扩展硬盘分区?告别空间不足困扰
  • 论文阅读:Mammoth: Building math generalist models through hybrid instruction tuning
  • 什么样的双筒式防爆器把煤矿吸引?