【肝帝游戏】手把手教你python处理视频,越学越有趣,全部源码奉上,不信试
文章目录[*]亮点:作品展示
[*]
[*]推荐系列教程,推荐的一定是好的!
[*]一.前言一定要看!!!
[*]二.下载安装
[*]三.视频转gif
[*]四.视频截取
[*]五.视频Gif缩放
[*]六.视频修剪
[*]七.视频堆叠
[*]八.视频剪辑部分语法
[*]九.图片合成视频
[*]十.把制作好的作品部署为动态桌面配景
[*]十一. 所有文件和源码下载地址
亮点:作品展示
看够了吗?看够了就开始自己来学着做吧!!!
推荐系列教程,推荐的一定是好的!
十万字python基础教程,学不会主页联系找我!
qq呆板人制作系列解说专栏
qq呆板人b站视频教程
三万字SQL数据库解说系列
一.前言一定要看!!!
每一句话都是干货,每一步你都要亲自操作,你才气感受到它的乐趣并同时学习python。有任何问题,可以主页左侧联系我,在我能力范围内,愿意帮助你。本视频教程虽然演示有些娱乐,实际上可以用于更多实际用途。制作不易,你的三连是我莫大的支持。
二.下载安装
无脑安装:
pip install moviepy
pip install ez_setup 如果你不会下载,可百度网盘下载,再按照我下面的教程安装:
ImageMagick软件链接:https://pan.baidu.com/s/1SsDZF0ThQhaQwHi-mWfxmQ
提取码:931q 当然你也可以按照我如下方式从头开始下载安装:
官网链接如下:
https://www.imagemagick.org/script/index.php 进去之后:
然后往下滑,找到window版本下载:
然后双击安装,勾选accept:
无脑next后选择安装在D盘:
next后勾选配置:
又是无脑next,最后finish
最后测试一下,在cmd执行:
magick --version 可以看到乐成了:
现在还需要找到自己moviepy安装包路径,好比我的为
c:\users\hp\appdata\local\programs\python\python39\lib\site-packages 怎么找路径?再下载一次moviepy模块,就会显示出路径了:
然后再文件夹跳到该目录下找到模块:
进去后修改为如下内容:(记得生存)
生存过后久好了!
三.视频转gif
好比我要把冒泡排序视频转为gif,代码如下:
from moviepy.editor import *
clip = (VideoFileClip("bili.mp4"))
clip.write_gif("转gif.gif") 效果为:
四.视频截取
在这里你需要知道一点的是:subclip()函数对应的参数为需要截取的视频起点和终点,其它的代码部分并不消更改。好比这里我将视频的0到3秒截取下来生存为gif。
from moviepy.editor import *
clip = (VideoFileClip("bili.mp4")
.subclip(0, 3))
clip.write_gif("截取.gif") 效果展示:
五.视频Gif缩放
这里是截取视频4到6秒,缩小为原来的0.5倍,生存为缩小.gif
from moviepy.editor import *
##截取4到6秒,缩小为原来的0.5倍
clip = (VideoFileClip("美女.mp4")
.subclip(4, 6)
.resize(0.5))
clip.write_gif("缩小.gif") 效果展示:
六.视频修剪
在典范的MoviePy脚本是这样的:加载视频或音频、修改、将他们连接在一起并最后生成一个新视频文件。好比我要加载我录制的的视频,降低音量,在前3秒添加标题在视频的中央,然后写入mp4文件.
代码注释如下:
from moviepy.editor import *
# 加载美女视频截取7搭配12秒部分
clip = VideoFileClip(r"美女.mp4").subclip(7,12)
# 降低音量为原来的0.8倍
clip = clip.volumex(0.8)
# 主题文字,文字等效和颜色这里的字体只能为英文
txt_clip = TextClip("chuan",fontsize=70,color='white')
# 在前3秒的视频中央填出现:chuan
txt_clip = txt_clip.set_pos('center').set_duration(3)
# 覆盖文本第一视频剪辑
video = CompositeVideoClip()
# 写入为新的文件,我保存为mp4
video.write_videofile("bili美女.mp4") 效果如下:
为了演示动态,我先把生成的视频转为gif,因此需要执行一遍如下代码:
from moviepy.editor import *
clip = (VideoFileClip("bili美女.mp4"))
clip.write_gif("舞蹈.gif") 效果如下:
七.视频堆叠
使用clip_array函数对剪辑进行堆叠操作,代码如下:
from moviepy.editor import VideoFileClip, clips_array, vfx
clip1 = VideoFileClip("bi.mp4").margin(5) # add 10px contour
clip2 = clip1.fx( vfx.mirror_x)
clip3 = clip1.fx( vfx.mirror_y)
clip4 = clip1.resize(0.99) # downsize 60%
final_clip = clips_array([,
])
final_clip.resize(width=480).write_videofile("堆叠.mp4") 视频如下:
但是为了演示动态视频,于是我又把他转为gif,执行以下代码:
from moviepy.editor import *
clip = (VideoFileClip("堆叠.mp4"))
clip.write_gif("堆叠.gif") 效果如下:
八.视频剪辑部分语法
起始和终止时间
clip1 = clip1.set_start(5) # 五秒后 例如你的剪辑看起来会是这样:
video = CompositeVideoClip([clip1, # 从0秒开始
clip2.set_start(3), # 1秒开始 bi.mp4剪切4秒
clip3.set_start(2)]) # 2秒开始 bili美女.mp4剪切三秒 clip2可能先于clip1的结束时间开始。在这种情况下,你可以给clip2添加一个1秒钟的淡入效果:
video = CompositeVideoClip([clip1, # starts at t=0
clip2.set_start(3).crossfadein(2),
clip3.set_start(2).crossfadein(2)]) 剪辑的定位
如果clip2和clip3都比clip1小,你可以决定他们出现在视频中的位置。在这里,我们指定了剪辑左上角像素的坐标:
video = CompositeVideoClip([clip1,
clip2.set_pos((45,150)),
clip3.set_pos((90,100))]) 有很多方法可以指定位置:
clip2.set_pos((45,150)) # x=45, y=150 , in pixels
clip2.set_pos("center") #自动剧中
# clip2 水平居中,在图片的顶部
clip2.set_pos(("center","top"))
# clip2 垂直居中,在图片的左侧
clip2.set_pos(("left","center"))
# clip2 位于屏幕宽度的 40%,高度的 70%:
clip2.set_pos((0.4,0.7), relative=True)
# clip2's position is horizontally centered, and moving down !
clip2.set_pos(lambda t: ('center', 50+t) ) 指定坐标的时候请记取,y坐标的0位置在图片的最上方:
这个太难调了,不演示了,感兴趣自己去调一下。
九.图片合成视频
为了演示,我九合成gif,因为语法都一样。
from moviepy.editor import *
# fps控制速度,列表图片大小必须完全一致,否则报错
clip = ImageSequenceClip(['1.jpg','3.jpg', '4.jpg','5.jpg','6.jpg'], fps=1)
clip.write_gif('合成.gif') 效果如下:
是不是在想给自己女朋友也做一个?
十.把制作好的作品部署为动态桌面配景
这里并不消形貌太多,可以直接看我录的教程视频:
桌面动态玉人配景设置教程
十一. 所有文件和源码下载地址
如果你没有网盘会员,下载可能会很大,需要我直接发你文件也可以主页左侧联系我。
链接:https://pan.baidu.com/s/1Rg9s08b2-F_ZoflxIhTkUQ
提取码:f29a
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]