python视频转文本_MoviePy – 用Python玩转视频剪辑!(MoviePy安装及视频文件读取)...

最近有一些视频需要剪辑,但本人比较懒,不想逐一手工处理。第一个想到的,就是万能的 Python。

果不其然 google 一搜,真的有现成的库 moviepy是一个用于视频编辑 Python 库,可以切割、拼接、标题插入,视频合成(即非线性编辑),进行视频处理和自定义效果的设计。总的来说,可以很方便自由地处理视频、图片等文件。

英文版官方文档地址: https://zulko.github.io/moviepy/。中文版文档,本人近期本文打算做一些翻译,估计要两三个月时间,到时再把地址更新上来。

接下来,介绍一下 MoviePy 的安装及基本操作。

MoviePy 的安装

首先,安装moviepy基本包。与其他的库一样,直接采用 pip 的方式安装即可。

pip install moviepy

1

pipinstallmoviepy

第二步,安装依赖包 ImageMagic

ImageMagic 是用于在视频中填入文本信息的工具,我认为还是很有用处的,需要单独下载 exe 程序安装。

第三步,设置 ImageMagic 路径

在上一步中安装了 ImageMagic,但此时仍无法使用,因为 Python 不知道 ImageMagic 安装在哪里,

需要在 Python 的库文件中找到moviepy/config_defaults.py,并在最后一行加入IMAGEMAGICK_BINARY = "C:\\Program Files\\ImageMagick_VERSION\\convert.exe"

第四步,安装ffmpeg(可忽略)

打开 Python Terminal,输入from moviepy.editor import *即可自动安装此模块

至此,moviepy安装完毕!

视频文件的读取

剪辑处理视频,首先需要读取到视频文件,主要有VideoFileClip、clips_array、CompositeVideoClips这三种方法

读取视频文件,合并,再导出文件

Python

clip1 = VideoFileClip("1.flv").subclip(10,20) #读取视频,并截取10-20秒的内容

clip2 = VideoFileClip("2.webm").resize(0.60) # 将视频画面尺寸缩小到60%

final_clip = concatenate_videoclips([clip1,clip2]) #视频合并

final_clip.write_videofile("hebing.mp4")

1

2

3

4

clip1=VideoFileClip("1.flv").subclip(10,20)#读取视频,并截取10-20秒的内容

clip2=VideoFileClip("2.webm").resize(0.60)# 将视频画面尺寸缩小到60%

final_clip=concatenate_videoclips([clip1,clip2])#视频合并

final_clip.write_videofile("hebing.mp4")

将多段视频以列表展现的形式显示

final_clip = clips_array([[clip1, clip2],[clip3, clip4]])

1

final_clip=clips_array([[clip1,clip2],[clip3,clip4]])

stacked.jpeg

CompositeVideoClips(视比 concatenate_videoclips、clips_array 好用,推荐使用此方法)

合并视频文件,可选择起止位置,也可设置渐进切换

video = CompositeVideoClip([clip1, # starts at t=0

clip2.set_start(5), # start at t=5s

clip3.set_start(9)]) # start at t=9s,fade-in 的形式转换

video = CompositeVideoClip([clip1,

clip2.set_pos((45,150)),

clip3.set_pos((90,100))])

1

2

3

4

5

6

video=CompositeVideoClip([clip1,# starts at t=0

clip2.set_start(5),# start at t=5s

clip3.set_start(9)])# start at t=9s,fade-in 的形式转换

video=CompositeVideoClip([clip1,

clip2.set_pos((45,150)),

clip3.set_pos((90,100))])

其他设置视频位置的函数

clip2.set_pos((45,150)) # x=45, y=150 , 设置视频展示的位置

clip2.set_pos("center") # 居中

# 顶部居中

clip2.set_pos(("center","top"))

# 顶部靠左

clip2.set_pos(("left","center"))

# 在屏幕的相对位置

clip2.set_pos((0.4,0.7), relative=True)

# 在中心位置考下50的地方

clip2.set_pos(lambda t: ('center', 50+t) )

1

2

3

4

5

6

7

8

9

10

11

12

13

14

clip2.set_pos((45,150))# x=45, y=150 , 设置视频展示的位置

clip2.set_pos("center")# 居中

# 顶部居中

clip2.set_pos(("center","top"))

# 顶部靠左

clip2.set_pos(("left","center"))

# 在屏幕的相对位置

clip2.set_pos((0.4,0.7),relative=True)

# 在中心位置考下50的地方

clip2.set_pos(lambdat:('center',50+t))

墨痕|畅所欲言的小笔记 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权

转载请注明原文链接:MoviePy – 用Python玩转视频剪辑!(MoviePy安装及视频文件读取)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值