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

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

需要用到的环境

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')

一个是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}')

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

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

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

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

列如:IMAGEMAGICK_BINARY = r"D:\python\ImageMagick-7.0.10-Q16-HDRI\magick.exe"

总结

到此这篇关于如何利用Python实现字幕挂载把字幕文件与视频合并的文章就介绍到这了,更多相关Python实现字幕挂载内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

本文标题: 利用Python实现字幕挂载(把字幕文件与视频合并)思路详解

本文地址: http://www.cppcns.com/jiaoben/python/356368.html

python怎么去掉视频字幕_利用Python实现字幕挂载(把字幕文件与视频合并)思路详解...相关推荐

  1. 利用python从网页查找数据_利用Python模拟淘宝的搜索过程并对数据进行可视化分析...

    数据挖掘入门与实战 公众号: datadw 本文讲述如何利用Python模拟淘宝的搜索过程并对搜索结果进行初步的数据可视化分析. 搜索过程的模拟:淘宝的搜索页面有两种形式, 一种形式是, 2019/2 ...

  2. python 打卡记录代码_利用Python实现对考勤打卡数据处理的总结

    利用Python实现对考勤打卡数据处理的总结 一.背景交代 二.说明 三. 8种方法 1. 查看文件是否存在 2. 导入excel文件,并把数据保存为dataframe格式 3. 计算程序运行时间 4 ...

  3. python爬取qq好友_利用Python爬取QQ好友空间数据

    程序思路 构造请求链接 先获取所有的好友 获取说说 获取留言 获取个人信息 把数据存到数据库 以上就是整个过程中的大思路,然后在逐步把大思路化解成小的具体的问题去解决.本人对于Python学习创建了一 ...

  4. python制作心形照片墙_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  5. python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  6. python用渐变色画圆_利用python控制Autocad:pyautocad方式

    发现pyautocad模块:可以用python控制autocad的包.今天把文档中的重点内容摘录出来,以后绘图.计算大工程量.或者识别施工图的时候时候也许可以用到. 一.连接cad pyautocad ...

  7. python爬去百度文库_利用Python语言轻松爬取数据[精品文档]

    利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...

  8. python beautifulsoup抓取网页内容_利用Python和Beautiful Soup抓取网页内容

    利用Python和Beautiful Soup抓取网页内容 Posted on 2012-08-09 00:08 SamWei 阅读(381) 评论(1) 编辑 收藏 Python 3中提供了url打 ...

  9. python获取指定端口流量_利用python获取nginx服务的ip以及流量统计信息

    #!/usr/bin/python #coding=utf8 log_file = "/usr/local/nginx/logs/access.log" with open(log ...

最新文章

  1. mysql 8.0配置主从同步_MySQL8.0.19开启GTID主从同步CentOS8
  2. 在vuejs 中使用axios不能获取属性data的解决方法
  3. android的消息处理机制(图文+源码分析)—Looper/Handler/Message[转]
  4. TiDB 分布式数据库(一)
  5. 鲲鹏云实验-Python+Jupyter机器学习基础环境
  6. linux的基本使用方法,Linux/Unix基本使用方法
  7. linux审计日志清除,Linux登录安全及用户操作审计 ,linux下清理日志脚本
  8. 360企业版使用感受
  9. 摩托android one手机图片,Motorola One都说外观像iPhone,但实际却不一样!
  10. cefsharp winform 页面里的单击事件不触发_事件详解C 键盘事件及事件流
  11. 最适合使用外汇跟单软件的人
  12. angularjs+uib-pagination实现同一页面多个分页功能
  13. python词云图片在哪儿打开_如何用python创建词云图片
  14. Video标签的常用属性操作
  15. swf to html5 movie maker,楠妈妈教大家用windowsxp自带的Movie maker软件做视频
  16. linux下添加用户并开通samba访问
  17. Python算法教程第三章知识点:求和式、递归式、侏儒排序法和并归排序法
  18. 有事的一天,小事一大堆......
  19. windows中bat脚本编写
  20. 自媒体必看:这3个领域别做,起步慢、收益低

热门文章

  1. 2020牛客寒假算法基础集训营2——H.施魔法【DP】
  2. 不建议学python-IT业界:为什么我不建议你学python?
  3. 快递物流驿站签收的单号查询筛选的方法
  4. 基因间相互作用、基因与GO之间的关系怎么查?
  5. javascript 调用浏览器的打印方法。并设置打印为横向打印
  6. 3D建模软件这么多,入门应该选哪个?
  7. css网页版的心形音乐盒,小白作品、
  8. 爬虫“入侵”王者六周年,拿来吧你
  9. python读取时间序列csv可视化_Python获取时序数据并进行可视化分析
  10. el-table插入备注效果