其实超简单超简单!python好现成的库,一下子省略了好多步骤!

本文在Windows环境下!linux只是不需要手动输入imagicmagick的位置!

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答后台私信小编01即可

需要用到的环境

python(基本上只要不是很老的就行)

pip(这个其实python版本>2.8.9或者>3.4的都自带了),可以通过cmd命令pip -V查询是否安装了,没有的话就输入命令

需要用到的工具:

我用的是pycharm,用来写python代码的。

Flie->setting->Project:Test->project Interpreter:

点击右边的+号:在搜索栏输入需要用到的三方库,然后点击install:

需要用要的三方库

moviepy(在上面的pycharm工具中可以直接下载或者用pip指令pip install moviepy)

ImageMagick(1.去官网直接下http://www.imagemagick.org/script/download.php,根据你操作系统的版本,一路next,我记得有个add to path的选项!一定要勾选,因为他自动把安装路径添加到环境变量path中了,不然就要手动去加path了。2.我的版本是64位的,不想去官网的可以用我的百度云下载:链接:https://pan.baidu.com/s/1jmwGVsDyXf2rotkDj_qJmA密码:uc98)

和上一篇下载视频一样用两个py文件吧

一个是AddSubtitles.py(启动类):

# 使用RealizeAddSubtitles类的方法

from core.RealizeAddSubtitles import RealizeAddSubtitles

if __name__ == '__main__':

'''调用方法示例'''

addSubtitles = RealizeAddSubtitles('d:/python/DownLoadVideo/Fong.mp4', 'd:/python/DownLoadVideo/Love.txt')

123456

一个是RealizeAddSubtitles.py(实现类)

from os.path import splitext, isfile

from moviepy.editor import (VideoFileClip,

TextClip,

CompositeVideoClip)

class RealizeAddSubtitles():

'''

合成字幕与视频

'''

def __init__(self, videoFile, txtFile):

self.src_video = videoFile

self.sentences = txtFile

# src_video = input('请输入视频文件路径')

# sentences = input('请输入字幕文件路径')

if not (isfile(self.src_video) and self.src_video.endswith(('.avi', '.mp4')) and isfile(

self.sentences) and self.sentences.endswith(

'.txt')):

print('视频仅支持avi以及mp4,字幕仅支持txt格式')

else:

video = VideoFileClip(self.src_video)

# 获取视频的宽度和高度

w, h = video.w, video.h

# 所有字幕剪辑

txts = []

with open(self.sentences, encoding='utf-8') as fp:

for line in fp:

sentences, start, span = line.split(': ')

start, span = map(float, (start, span))

txt = (TextClip(sentences, fontsize=40,

font='SimHei', size=(w - 20, 40),

align='center', color='white')

.set_position((10, h - 150))

.set_duration(span).set_start(start))

txts.append(txt)

# 合成视频,写入文件

video = CompositeVideoClip([video, *txts])

fn, ext = splitext(self.src_video)

video.write_videofile(f'{fn}_带字幕{ext}')

12345678910111213141516171819202122232425262728293031323334353637383940

下面的图片是字幕文件的格式:字幕: 开始时间: 持续时间

如果报一个imagemagick uninstall什么的错误,原因是因为windows下的imagemagick需要手动导入。

一般在pycharm中,是在你创建的项目中有个venv->Lib->site-packages->moviepy->config_defaults.py。

将IMAGEMAGICK_BINARY后面的=号中的值手动改成你imagemagick安装的路径下的一个magick.exe。

客服微信:(id1234562011)本文链接:https://www.changchenghao.cn/n/412617.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 394062665@qq.com 举报,一经查实,本站将立刻删除。

python 视频字幕合并_怎么把字幕和视频合并(教你两者合并方法)相关推荐

  1. 腾讯视频下载的视频怎么剪辑_怎样卸载腾讯视频

    腾讯视频影音是一款界面轻松友好,功能全面完善,方便好用,绿色安全,完全免费的.专注视频播放的客户端软件,您可运行腾讯视频影音,在线享受腾讯视频网站内全部免费高清正版视频.腾讯视频可以在线享受丰富多彩的 ...

  2. 腾讯视频下载格式_怎么下载腾讯视频

    不管这个腾讯视频好用与否,都有一大批用户,本文播放器家园网小编分享腾讯视频下载格式_怎么下载腾讯视频.腾讯视频时刻为您推荐最新最火的视频,精彩不断随时观看.支持各种画质的下载,没网也能享受高视觉的享受 ...

  3. unity两个项目合并 同名_表格合并,你还在复制粘贴?教你一键合并,超简单!...

    当我们有多个表格的内容需要合并到一个表格中,很多人会采取复制粘贴的方式. 表格数量少时可能影响不大,数量多了,[表格合并]功能就会大显神威. 下面教大家如何快速完成多表格合并. 温馨提示:如果图片用手 ...

  4. python视频延迟严重_利用多进程降低opencv视频延迟处理rtsp视频流

    Python多进程opencv 前几天遇到了一个问题,利用opencv程序调取rtsp视频流,因为处理程序要消耗的CPU时间过于长,VideoCapture的read是按帧读取,所以经常导致内存溢出, ...

  5. 5 video关掉字幕选项_让PPT字幕滚动起来,一秒高端大气,赶紧码住!

    大家好,这里是 和秋叶一起学PPT~ 今天小叶偷个懒(希望老板不要看到) 教大家快速制作PPT字幕滚动动画~ 这周接手了一个大项目:制作重要商业合作 PPT.为了让甲方爸爸们满意我处处小心,却在最后一 ...

  6. python 实现显著性检测_强!汽车车道视频检测:python+OpenCV为主实现

    1 说明: ===== 1.1 完整版:汽车车道动态视频检测讲解和注释版代码,小白秒懂. 1.2 python+OpenCV+moviepy+numpy为主的技术要点. 1.3 代码来源: https ...

  7. python数据爬虫课程_数据分析之Python3爬虫视频课程

    第1章 python网络爬虫牛刀小试 1小时38分钟11节 1-1 编写第一个只网络爬虫1.使用requests模拟浏览器访问网址 2.使用美丽汤BeautifulSoup解析网页 3.提取出新闻的标 ...

  8. 调用python接口并画图_【PySpark源码解析】教你用Python调用高效Scala接口

    点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 机器之心专栏 作者:汇量科技-陈绪 众所周知,Spark 框架主要是由 Scala 语言实现,同时也包含少量 Java 代码.Spa ...

  9. tableau三轴合并_《Tableau数据可视化实战》——1.12节合并不同数据源-阿里云开发者社区...

    本节书摘来自华章社区<Tableau数据可视化实战>一书中的第1章,第1.12节合并不同数据源,作者(美)Ashutosh Nandeshwar,更多章节内容可以访问云栖社区"华 ...

最新文章

  1. 1063 Set Similarity
  2. 特殊字符的正则表达式
  3. 10版微机监测怎么显示服务器,铁路信号网络版微机监测系统的研究
  4. div固定在浏览器顶部_手写几种常见的css布局,1垂直两栏左边固定右边自适应,垂直3栏左右固定中间自适应...
  5. rhel 4/oracle linux 4/centos linux 4 配置本地yum资源库
  6. Java Formatter locale()方法与示例
  7. 20172307 2017-2018-2 《程序设计与数据结构》实验5报告
  8. @Target({ElementType.METHOD, ElementType.TYPE})
  9. Oracle与MySQL使用区别
  10. python进程池和线程池_python自带的进程池及线程池
  11. Codeforces D546:Soldier and Number Game
  12. Oracle工作中常用函数的总结
  13. Window.localStorage
  14. NFT头像屡拍天价,如何从理性角度分析其市场价值?
  15. 论文阅读_无监督知识图对齐PRASE
  16. Android Studio 安装AVD (处理器为AMD)图文详解
  17. linux一键分区脚本,【Shell】Linux中分区脚本
  18. 如何在Lyx中添加参考文献,以及生成参考文献目录
  19. nodeMCU_esp8266管脚示意图/特殊管脚的使用避坑(D3/D4/D8/..)
  20. 负数在计算机中的存储和表示

热门文章

  1. 导致香港服务器运行不稳定的因素有哪些?
  2. 内卷时代,文章排版当然要快人一步(附公文排版插件)
  3. 生活记录:压抑暂时解脱
  4. 跨站脚本(XSS)漏洞
  5. “下一代智能硬件Web应用防火墙”——创宇盾X完成统信互认
  6. C++ OpenCV 抠商标图片文字背景透明
  7. 枯燥的生活需要每日情话
  8. linux的gromacs模拟分子运动,动力学模拟gromacs(绝对详细).ppt
  9. survival | 生存分析(5):加速失效时间模型(Accelerated Failure Time Model)
  10. 没有Console线,又不知道自己通过哪个IP连接到路由器,怎么办?