moviepy音视频开发:使用credits1给视频加片头片尾字幕

☞ ░ 前往老猿Python博文目录 ░

一、概述

在《moviepy音视频剪辑:视频基类VideoClip子类DataVideoClip、UpdatedVideoClip、ImageClip、ColorClip、TextClip类详解》介绍了TextClip生成文本剪辑的方法,文本剪辑可以用于制作字幕,作为片头片尾字幕介绍以及视频剪辑间的过渡内容。并在收费专栏文章《moviepy音视频剪辑:视频基类VideoClip子类DataVideoClip、UpdatedVideoClip、ImageClip、ColorClip、TextClip及使用案例》中介绍了TextClip的案例。

而为了更方便的进行字幕能力支持,moviepy提供了一个工具函数credits1,用于支持将文本文件内容作为字幕剪辑,除了TextClip支持的能力外,还提供了一定的格式控制功能。

二、credits1介绍

2.1、credits1调用语法

credits1(creditfile, width, stretch=30, color='white', stroke_color='black', stroke_width=2, font='Impact-Normal', fontsize=60, gap=0)

2.2、参数说明:

  • creditfile:字幕文字存储的文本文件名
  • width:字幕文字的宽度,以像素为单位,老猿建议与准备加字幕的视频剪辑的宽度一样
  • stretch:官网没有该字段的说明,经阅读源码,这个参数在代码中暂时没有使用,估计是为了与以前版本兼容留下的参数
  • color:字幕文字的颜色,可以参考TextClip中对list和search方法对’color’的说明,具体参考在概述部分引用的博文
  • stroke_color:字幕文字轮廓线的颜色
  • stroke_width:字幕文字轮廓线的大小,像素为单位
  • font:字幕文字的字体,关于可用的字体可以使用TextClip的list(‘font’)查看,也可以直接指定字体文件
  • fontsize:字幕文字字体大小
  • gap:视频参与者角色和名字之间的水平间距,以像素为单位

2.3、返回值及其他补充说明:

  • credits1的返回值为一个ImageClip,没有设置fps和duration,如果与其他剪辑合成或单独输出,需要设置这2个属性
  • 字幕字体的中文支持需要关注TextClip中文支持的一个Bug,具体请参考《moviepy音视频剪辑:TextClip不支持中文字符以及OSError: magick.exe: unable to read font 仿宋_GB2312.ttf的解决办法》
  • fontsize:经老猿验证,该值只是一个字幕文字的最大值,如在字幕足够宽时最大值为该参数指定值,当某一行文字过多按fontsize大小无法显示时,整个字幕的字体会自动调整大小以适应字幕的宽度
  • 使用credits1需要先下载并安装ImageMagick应用(不是Python模块)。安装ImageMagick后,还需要修改moviepy的config_defaults.py模块的配置,将下行代码:
IMAGEMAGICK_BINARY = os.getenv('IMAGEMAGICK_BINARY', 'auto-detect')

替换为:

IMAGEMAGICK_BINARY = r"C:\Program Files\ImageMagick-7.0.8-Q16\magick.exe"

具体的替换值需要确认ImageMagick安装目录进行更改。请参考前面概述部分引用博文的介绍。

  • 关于文本文件的格式控制说明:
  1. 空行控制:文本文件本身的空行会被忽略,credits1可以通过“.blank 行数n”控制显示n个空行,其中点和blank必须在行顶格写
  2. 参与者角色和名字(the jobs and the names)显示控制:“…”(两个连续的点)表示本行后面的文字为制片相关角色如制片人、导演等 (其实随便使用啦),在这种方式下,角色所在行文字靠左,并上移一行。所有靠左的行最长的行靠左顶格,其他靠左的行与该行右对齐
  3. 所有非靠左行都以所有靠左行结束位置左对齐,二者中间的间距由gap参数指定。(具体参考后面案例)

三、案例

3.1、案例说明

本案例读入一个文本文件将其转成一个字幕剪辑,与另一个视频剪辑拼接。文本文件中使用了格式控制符“.blank”和“..”。

3.2、案例的字幕文本文件

下面为老猿使用的文本文件内容,注意控制符的使用以及文字行前面的行号,以便于和字幕截屏对照看看格式符的作用:

.blank 4
1 查理·卓别林(Charlie Chaplin,1889416日—19771225日),生于英国伦敦,英国影视演员、导演、编剧。
2 查理·卓别林的第一部电影是《谋生》。从1915年开始卓别林开始自编自导自演,甚至还担任制片和剪辑。
3 稍后他加入了埃斯安尼公司,并于1917年出品了《移民》和《安乐街》
4 1918年他和他的兄弟在洛杉矶开了自己的公司。甚至还担任制片和剪辑
5 并在1919年召集到了道格拉斯·费尔班克斯等人。但直到1923年,卓别林才为这个公司拍了第一部影片《巴黎一妇人》。
6 之后1925年的《淘金记》和1928年的《马戏团》为卓别林赢得了学院奖。
7 1931年因为《城市之光》的首映卓别林来到伦敦,转年才返回,他的下一部影片是1936年的《摩登时代》。
8 四年之后他拍摄了《大独裁者》。1952年,他的有声电影《舞台生涯》上映,同年他移居瑞士。
9 1967年他拍摄了他的最后一部影片《香港女伯爵》,19771225日圣诞节早上于瑞士家中逝世,享年88岁。
.blank 4
..Executive Story Editor
12 MARCEL DURAND
..Associate Producers
14 MARTIN MARCEL
15 DIDIER MARTIN
..Music Supervisor
17 JEAN DIDIER
18 credits1测试
..老猿Python,跟老猿学Python!网址:
20 https://blog.csdn.net/LaoYuanPython
.blank 2
21 
22
23
24
25
26
27
28
29
..30
31
32
33
34
35
36
37
38

3.3、案例代码

from  moviepy.editor import *
from  moviepy.video.tools.credits import credits1 #导入工具credits1if __name__ == '__main__':video = VideoFileClip(r"F:\video\zbl1.mp4") #加载视频文件imgClip = credits1(r"F:\video\test.txt", video.size[0], stretch=30, color='blue', stroke_color='red',stroke_width=2, font='fs_GB2312.ttf', fontsize=60, gap=10)#生成字幕剪辑imgClip = imgClip.set_duration(30).set_fps(video.fps) #给字幕剪辑设置播放时长和fpsw, h = video.sizex_speed = x_start = y_start = 0y_speed = 30print(imgClip.size, video.size)imgClip = imgClip.fx(vfx.scroll, h,w, x_speed, y_speed, x_start, y_start) #将字幕剪辑变成滚屏播放,注意h和w的顺序,具体可以参考专栏有关scroll的文章print(imgClip.size,video.size) imgClipList = [imgClip, video]mixVideo = concatenate_videoclips(imgClipList,method='compose')imgClip.write_videofile(r"f:\video\img.mp4",fps=30)mixVideo.write_videofile(r"f:\video\mixVideo.mp4")

3.4、案例生成视频剪辑字幕截图在这里插入图片描述

四、小结

本文介绍了使用credits1给视频加字幕的功能,对credits1函数的语法、参数、返回值及使用注意事项进行了详细介绍,并介绍了credits1使用的字幕文本文件的格式控制方式,并提供了完整案例。大家可以通过本文的介绍熟练地使用credits1给视频加片头片尾字幕。上面案例对于文字轮廓线没有按预期处理,原因老猿暂时未进行深入分析,但总体上相关案例能对credits1的功能起到比较好的例证,大家可以结合前面介绍的内容对照代码和截屏理解一下。

更多moviepy的介绍请参考《PyQt+moviepy音视频剪辑实战文章目录》或《moviepy音视频开发专栏》。

关于收费专栏

老猿的付费专栏《使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,付费专栏《moviepy音视频开发专栏》详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,两个专栏加起来只需要19.9元,都适合有一定Python基础但无相关专利知识的小白读者学习。这2个收费专栏都有对应免费专栏,只是收费专栏的文章介绍更具体、内容更深入、案例更多。

收费专栏文章目录:《moviepy音视频开发专栏文章目录》、《使用PyQt开发图形界面Python应用专栏目录》,因总体内容不复杂,本文未单独设置收费专栏文章。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《专栏:Python基础教程目录》从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

跟老猿学Python、学5G!

☞ ░ 前往老猿Python博文目录 ░

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/51665.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何做短视频剪辑?分享三个小技巧,帮你迅速剪辑短视频

如何做短视频剪辑?分享三个小技巧,帮你迅速剪辑短视频 我们在做短视频的时候,经常需要进行剪辑,有的人就是单纯的剪辑出来几秒钟或者几分钟的素材,但是这种短视频是很难获得流量的。真正的短视频剪辑,还需…

剪映,最简单的PC端视频处理工具,大厂出品必属精品~

相信在座的小伙伴都用过抖音app,看的多了难免也有想要发视频的冲动。 这时我们就会想到诸如Ae、Pr之类的视频制作工具,但他们都有一定的上手难度…… 好在抖音霸霸很早就推出了免费的官方全能剪辑工具,也就是剪映。说实话,剪映使…

短视频剪辑怎么做?分享几款好用的软件工具给大家

近几年来短视频应用发展迅速,抖音、快手等平台已快速获取数亿用户,大量新人不断涌入短视频赛道发展。人人都想做自媒体,可是又不知道如何去做。今天张三火了,明天李四又火了,我什么时候也可以靠自媒体赚钱呀&#xff1…

视频拼接剪辑怎么弄?分享三个小妙招给你们

近期有很多朋友都在问我,自己录了几段视频,想把它们拼接起来,但又怕随意拼接会让视频看起来不连贯、混乱。其实将视频自然拼接起来非常简单,只需要借助软件就可以轻松完成这样的操作。下面我就来分享好用的视频拼接免费软件给你们…

新手如何写新闻稿?一文带你了解记者稿的写作步骤与技巧

作为一名新手记者,写稿件是必须掌握的基本技能。记者稿的写作方式有很多种,但基本的步骤和技巧是相同的。在这篇文章中,我将向大家介绍记者稿的写作步骤和技巧,希望能对想要成为一名优秀记者的你有所帮助。 一、确定新闻价值 在写…

进行海外媒体发稿的稿件撰写技巧和方法

第 1 步:目标受众 在您开始撰写实际的外媒通稿之前,最重要的事情是选择对目标受众重要的角度。 请记住,专业杂志的读者感兴趣的角度(换句话说,故事将采取的视角)与当地报纸会有很大的不同。事实上&#x…

英伟达CEO黄仁勋对话OpenAI首席科学家,谈GPT-4及未来大模型

来源:机器之心 在今年的 GTC 上,NVIDIA 创始人兼首席执行官黄仁勋与 OpenAI 联合创始人、首席科学家 Ilya Sutskever 进行了一场深度对话,讨论了 GPT-4、ChatGPT 背后的故事,也聊了下深度学习的未来。 如今,OpenAI 可以…

震惊!英伟达 4 月的发布会全部是合成的

本文转载自IT之家 8 月 12 日消息 英伟达今年 4 月份那场发布会,你曾看出什么不对劲的地方吗? 你品,你细品: 刚刚,在计算机图形学顶会 SIGGRAPH 2021 上,英伟达通过一部纪录片自曝:那场发布会…

最「难搞」的英伟达也开源了,下一个会是谁?

5 月 11 日,英伟达 NVIDIA 发文宣布,正式将其 Linux GPU 内核驱动模块开源,以 MIT 和 GPLv2 双许可的形式发布在 GitHub 上。短短 2 天,该项目已收获 8.6k Star(临发布前又涨了 200)。 开源的消息一出&…

微软提出AIGC新“玩法”,图灵奖得主Yoshua Bengio也来了!

在AIGC取得举世瞩目成就的背后,基于大模型、多模态的研究范式也在不断地推陈出新。微软研究院作为这一研究领域的佼佼者,与图灵奖得主、深度学习三巨头之一的Yoshua Bengio一起提出了AIGC新范式——Regeneration Learning。这一新范式究竟会带来哪些创新…

【AI 简报20201018期】英伟达开源「Imaginaire」、智能手表争夺战是如何打响的?

导读:本期为 AI 简报 20201018期,将为您带来过去一周关于 AI 新闻 9 条,其他互联网圈内新闻 8 条,希望对您有所帮助~ 有更好的建议或者意见请在下方留言~ AI 1. 图神经网络新课上架:宾大2020秋季在线课程开课&#xff…

英伟达 CEO 黄仁勋分享人工智能的五大应用场景

3 月 21 日,英伟达 CEO 黄仁勋在 GTC 2023 上分享了人工智能的五大应用场景,生成式AI 、科学计算赫然在列。 ☞英特尔首席架构师,GPU 大牛 Raja Koduri 突然离职,开启 AI 创业 ☞GPT-4 挑战当老板,目标:用 …

继推出首个元宇宙平台后,英伟达CEO黄仁勋又获半导体行业最高荣誉

8 月 12 日,美国半导体行业协会(SIA)宣布, 将授予英伟达(NVIDIA)创始人兼 CEO 黄仁勋罗伯特诺伊斯奖(Robert N. Noyce Award)。 诺伊斯奖由 SIA 每年颁发一次,用以表彰在…

吴恩达亲自撰文!黄仁勋入选《时代》100人,马斯克,库克均上榜

新智元报道 来源:Time 【导读】今天,时代周刊公布了2021全球百大最具影响力人物。在科技领域,英伟达CEO黄仁勋、SpaceX和特斯拉CEO马斯克、苹果CEO库克入选。 《时代》100人,黄仁勋入选! 英伟达CEO黄仁勋将英伟达打…

黄仁勋口述:英伟达的发展之道和星辰大海

来源|wandb.ai 翻译|刘畅 线上对话还未进入后半程,黄仁勋表示自己有点犯困。早前,当天凌晨三点钟,这位英伟达CEO就起床看书了,这个时间确实有点早,看起来在白天也没能补充一些休息时间。即便如此…

【历史上的今天】2 月 17 日:谷歌收购 Blogger;英伟达创始人出生;微软发布 Windows 2000

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 2 月 17 日,在 1996 年的今天,IBM 的超级计算机“深蓝”首次挑战卡斯帕罗夫落败。“深蓝”首次挑战虽然最终败北,但却赢得了…

问卷调查+需求分析(部分)

(从word复制过来格式真的会变啊!好难过!不想排版了!大家凑合着看吧!有不合理的地方麻烦大家指出来!) 一、问卷内容的确定 二、问卷测试(2019/03/12) a) 测试者&#xff…

问卷调查设计-SurveyJS的使用(定制)

前言 距离上一次记录SurveyJS的文章已经过去大半个月了,也该完结一下子了,正好项目结束,抽出时间记录一下使用SurveyJS过程中的做的一些自定义配置需要哪些方法及属性(这里根据个人项目需要做的一些方法总结,不包含全…

【源码】问卷调查系统的设计与实现

源码分享! 源码描述: 1.基本信息维护 2.添加题目类别 3.题目类别管理 4.添加测试题 5.测试题管理 6.添加调查 7.调查管理 8.调查结果列表 技术特点: 1、采用典型的三层架构,代码结构比较清晰 2、界面比较精美,功能比较…

(二)市场调查大赛系列——市场调查问卷设计

目录 一、设计问卷步骤 二、调查问卷题目类型 三、调查问卷答案类型 四、调查问卷的结构 五、调查方案的框架 六、设计问卷的原则 一、设计问卷步骤 将选题具体化、拆分选题确定分析框架 描述性分析解释性分析/推断性分析,找到变量,后续深入研究…