首页 > 编程语言 >Python实现给视频添加字幕

Python实现给视频添加字幕

时间:2024-02-04 15:58:59浏览次数:30  
标签:视频 moviepy ImageMagick Python 字幕 添加 video https

主要思路:

1.用moviepy库处理视频文件;用 pysrt库处理字幕。

2.由于moviepy依赖名为ImageMagick免费开源图片编辑软件,所以要先安装ImageMagick

开始:

1.安装ImageMagick

到官网 https://www.imagemagick.org/script/download.php#windows 下载

我这里选择 ImageMagick-7.1.1-27-Q16-HDRI-x64-dll.exe

下载还是较快,但运行时被Microsoft Defender SmartScreen 阻止了,不管了,选择仍要运行,直到安装完毕。

重新打开cmd命令行窗口,用where  Magick 命令,证明安装成功并可找到了

2.安装moviepy和pysrt库

pip install moviepy pysrt

3.修改moviepy的设置

在python的  Lib\site-packages\moviepy 目录中,修改config_defaults.py,在最后一行添加:

IMAGEMAGICK_BINARY = r"这里是你的安装目录,如 C:\Program Files\ImageMagick-7.1.1-Q16-HDRI\magick.exe"

4.以下为示例代码

from moviepy.editor import *

# 加载视频文件
video = VideoFileClip("input.mp4")

# 定义剪辑的起始和结束时间(以秒为单位)
start_time = 10
end_time = 15

# 对视频进行剪辑
clipped_video = video.subclip(start_time, end_time)

# 添加文字
text = TextClip("Hello, World!", fontsize=30, color='white')
text = text.set_position('center').set_duration(5)

# 添加音乐
#audio = AudioFileClip("music.mp3").subclip(0, 5)

# 将文字和音乐添加到视频中
final_video = CompositeVideoClip([clipped_video, text])
#final_video = final_video.set_audio(audio)

# 导出视频
final_video.write_videofile("output.mp4")

大概是我电脑不行,截取5秒钟的视频添加字幕就耗时超过2分钟。

 

参考:https://blog.51cto.com/u_16213450/7057470

https://www.cnblogs.com/lfri/p/11601211.html

https://blog.csdn.net/meridian002/article/details/131365025

https://jingyan.baidu.com/article/5553fa82025ae624a3393461.html

标签:视频,moviepy,ImageMagick,Python,字幕,添加,video,https
From: https://www.cnblogs.com/pu369/p/18005987

相关文章

  • 11 - 初步了解Python
    初步了解Python参考资料:菜鸟教程:Python3基础语法PEP8:StyleGuideforPythonCodePythonDocs:SourceCodeEncoding菜鸟教程:Python3命令行参数PythonDocs:ExecutablePythonScripts知乎:#!/usr/bin/envpython有什么用?编程规范:PEP8在没有额外编程规范的前提下,建议翻阅并......
  • Yield Keyword, classmethod and static method, and Property Method in Python
    ReferenceWhatisYieldKeywordinPythonPython'syieldkeywordislikeanotheroneweusetoreturnanexpressionorobject,typicallyinfunctions,calledreturn.Thereisasmallamountoffluctuation,though.Theyieldstatementofafunctionre......
  • python3 模型日记
    说明作为一种python框架模型的记录吧,用于个人总结,不定时更新。正文1.主进程退出后,子进程也跟着退出之前遇到过一种情况,用flet写了一个页面,然后又同时开了一个tcpserver的子线程,flet页面点击关闭后,tcpserver却没有退出。在linux中按Ctrl+c可以强制结束,但是如......
  • Python 矩阵运算
    #coding=utf8fromrequests.sessionsimportsessionimportpubimportnumpyasnpimportdatetimeimportosfromapscheduler.schedulers.blockingimportBlockingSchedulerdefget_default_conn():  conn=(host="127.0.0.1",  port="3306&......
  • 【Python】conda常用命令
    ✨conda下载AnacondaFreeDownload|AnacondaMinicondaMiniconda—minicondadocumentation个人推荐安装Miniconda即可反正我从来没有使用过Anaconda的GUI✨conda基本命令新建环境condacreate-n${envName}python=3.8-n新建环境名称python=3.8可选指定Py......
  • 很好用的python游戏环境(续):强化学习算法走迷宫游戏环境(导航问题 navigation):分享一个pyt
    前文分享了一个python下的maze游戏环境,本文再给出一个不错的实现项目,这个项目的实现更加的简单,并且可视化界面做的很好看,是用tkinter框架做的可视化:相关:迷宫游戏python实现Github地址:https://github.com/wonanut/Maze-Game/tree/Maze-game-v1.0.7......
  • 很好用的python游戏环境:强化学习算法走迷宫游戏环境(导航问题 navigation):分享一个pyth
    项目的GitHub地址(作者:莫凡):https://github.com/MorvanZhou/mmaze运行的示例代码:importmmazestart=(0,0)end=(10,10)m=mmaze.generate(width=11,height=11,symmetry="horizontal")solutions=m.solve(start=start,end=end)m.plot(solution=solutions[0],star......
  • python语言下的迷宫游戏的实现猜想
    由于本人是研究AI的,尤其是AI的强化学习方向,有时候就会对一些小游戏环境的实现有几分兴趣,因为刚看了有关reinforcementlearning解决maze游戏的论文,于是就突发奇想的对这个maze迷宫的实现有些想了解了。迷宫其实就是在一个表格上画线,然后构成的从某点到另一个点的一个通路的环境:具体......
  • pyqt报错、python报错:src/pyaudio/device_api.c:9:10: fatal error: portaudio.h: 没
    报错信息:-DNDEBUG-fwrapv-O2-Wall-fPIC-O2-isystem/home/devil/anaconda3/envs/91/include-fPIC-O2-isystem/home/devil/anaconda3/envs/91/include-fPIC-I/usr/local/include-I/usr/include-I/home/devil/anaconda3/envs/91/include/python3.10-csrc/pyaudio/d......
  • 如何绕过Python readline的Tab-补全
    在Python中,readline模块提供了一个交互式的命令行输入接口,其中的Tab补全是指用户在输入时按下Tab键,系统会自动尝试完成当前输入的命令或路径。Tab补全的主要功能是帮助用户更快速、更准确地输入命令或路径,尤其是当有很多可能的选项时。下面我将用详细的步骤来说明Tab补全......