python怎么加字幕_Python如何实现字幕挂载 Python实现字幕挂载代码示例
Python如何实现字幕挂载?本篇文章小编给大家分享一下Python实现字幕挂载代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
本文在Windows环境下!pnux只是不需要手动输入imagicmagick的位置!
需要用到的环境
python(基本上只要不是很老的就行)
pip(这个其实python版本>2.8.9或者>3.4的都自带了),可以通过cmd命令pip
-V查询是否安装了,没有的话就输入命令
需要用到的工具:
我用的是pycharm,用来写python代码的。
Fpe->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')
一个是ReapzeAddSubtitles.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}')
下面的图片是字幕文件的格式:字幕: 开始时间: 持续时间
如果报一个imagemagick
uninstall什么的错误,原因是因为windows下的imagemagick需要手动导入。
一般在pycharm中,是在你创建的项目中有个venv->pb->site-packages->moviepy->config_defaults.py。
将IMAGEMAGICK_BINARY后面的=号中的值手动改成你imagemagick安装的路径下的一个magick.exe。
列如:IMAGEMAGICK_BINARY
= r"D:pythonImageMagick-7.0.10-Q16-HDRImagick.exe"
python怎么加字幕_Python如何实现字幕挂载 Python实现字幕挂载代码示例相关推荐
- python求扇形面积_Python随机生成均匀分布在单位圆内的点代码示例
Python有一随机函数可以产生[0,1)区间内的随机数,但是如果我们想生成随机分布在单位圆上的,那么我们可以首先生成随机分布在单位圆边上的点,然后随机调整每个点距离原点的距离,但是我们发现这个距离不 ...
- python tkinter计算器实例_Python编程使用tkinter模块实现计算器软件完整代码示例
Python 提供了多个图形开发界面的库.Tkinter就是其中之一. Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数 ...
- python抢货程序_Python自动化xpath实现自动抢票抢货代码示例
本篇文章小编给大家分享一下Python自动化xpath实现自动抢票抢货代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 总代码: for i i ...
- python kivy显示图片_python基于Kivy写一个图形桌面时钟程序代码示例
本篇文章小编给大家分享一下python基于Kivy写一个图形桌面时钟程序代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. Kivy 是一个开源的 ...
- python线条加粗_python 加粗
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 背景知识:docx文件的结构分为三层,1.docment对象表示整个文档: 2. ...
- python线条加粗_python标题加粗
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! u宋体) # 中文字体需再添加这个设置 doc.styles.font.size ...
- python until怎么用_python基础之从认识python到python的使用
python的历史: python的创始人是吉多·范罗苏姆(Guido van Rossum),人称"龟叔",1989年圣诞节期间,Guido开始写Python语言的编译器.他希望 ...
- python replace函数用法_Python实现的从右到左字符串替换方法示例
本文实例讲述了Python实现的从右到左字符串替换方法.分享给大家供大家参考,具体如下: 一 . 前言 需要用到,但是发现python没有从右边开始替换的内置方法,默认的replace只是从左边开始, ...
- python内置作用域_python内置金融数据Python 五点搞定作用域
1.块级作用域 想想此时运行下面的程序会有输出吗?执行会成功吗?#块级作用域 if 1 == 1: name = "lzl" print(name) for i in range( ...
- python sort 多级排序_Python使用sort和class实现的多级排序功能示例
本文实例讲述了Python使用sort和class实现的多级排序功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- import random class Temp: ...
最新文章
- cwRsync文件双向同步问题
- 笔记:编程的一些建议 - 时间伙伴 - 博客园
- javaScrip第五天(1)
- 本月风味– Neo4j和Heroku
- leetcode - 101. 对称二叉树
- laravel代码提示:laravel-ide-helper
- 找规律 —— 英文篇
- 简易web服务器系统毕业论文设计,毕业论文 简易的WEB服务器的设计
- 汇编语言基础之二 - 各种寻址和过程进出简介
- 关于非堆内存申请的性能测试
- Linux 下安装 yum
- LSA和 PLSA学习笔记
- SpringCloud的认识和基本入门使用
- ExoPlayer播放器 开发者指南(官方权威指南译文)
- 智慧化工厂安全风险生产预警系统软件
- 谈企业信息化项目经理培训
- C#中Exception类的使用
- 第一范式,第二范式,第三范式,BCFN 详解
- Zbrush 风格化头发的工具
- Docker搭建企业内部私有云盘/开源网盘系统