回到目录

炫动的字母特效

这个例子,一定能很好的地说明为什么大家有兴趣基于MoviePy脚本来实现一些特效,我们也可以想像一下如果是手工做的话,绝壁手抽筋了。

下面就是代码实现

import numpy as np
from moviepy.editor import *
from moviepy.video.tools.segmenting import findObjects# 目标是创建炫动的文字,先创建TextClip,然后设置它居中screensize = (720,460)
txtClip = TextClip('Cool effect',color='white', font="Amiri-Bold",kerning = 5, fontsize=100)
cvc = CompositeVideoClip( [txtClip.set_pos('center')],size=screensize)# 下面的四个函数,定义了四种移动字母的方式# helper function
rotMatrix = lambda a: np.array( [[np.cos(a),np.sin(a)], [-np.sin(a),np.cos(a)]] )def vortex(screenpos,i,nletters):d = lambda t : 1.0/(0.3+t**8) #dampinga = i*np.pi/ nletters # angle of the movementv = rotMatrix(a).dot([-1,0])if i%2 : v[1] = -v[1]return lambda t: screenpos+400*d(t)*rotMatrix(0.5*d(t)*a).dot(v)def cascade(screenpos,i,nletters):v = np.array([0,-1])d = lambda t : 1 if t<0 else abs(np.sinc(t)/(1+t**4))return lambda t: screenpos+v*400*d(t-0.15*i)def arrive(screenpos,i,nletters):v = np.array([-1,0])d = lambda t : max(0, 3-3*t)return lambda t: screenpos-400*v*d(t-0.2*i)def vortexout(screenpos,i,nletters):d = lambda t : max(0,t) #dampinga = i*np.pi/ nletters # angle of the movementv = rotMatrix(a).dot([-1,0])if i%2 : v[1] = -v[1]return lambda t: screenpos+400*d(t-0.1*i)*rotMatrix(-0.2*d(t)*a).dot(v)# WE USE THE PLUGIN findObjects TO LOCATE AND SEPARATE EACH LETTERletters = findObjects(cvc) # a list of ImageClips# 让字母动起来
def moveLetters(letters, funcpos):return [ letter.set_pos(funcpos(letter.screenpos,i,len(letters)))for i,letter in enumerate(letters)]clips = [ CompositeVideoClip( moveLetters(letters,funcpos),size = screensize).subclip(0,5)for funcpos in [vortex, cascade, arrive, vortexout] ]# 连接,写入文件
final_clip = concatenate_videoclips(clips)
final_clip.write_videofile('../../coolTextEffects.avi',fps=25,codec='mpeg4')

一起交流,一起进步,群内提问答疑

QQ群:MoviePy中文 :819718037

回到目录

MoviePy - 中文文档4-MoviePy实战案例-炫动的字母特效相关推荐

  1. MoviePy - 中文文档(一个专业的python视频编辑库)教程

    MoviePy是一个用于视频编辑的python模块,你可以用它实现一些基本的操作(比如视频剪辑,视频拼接,插入标题),还可以实现视频合成,还有视频处理,抑或用它加入一些自定义的高级的特效.总之,它的功 ...

  2. MoviePy - 中文文档2-快速上手-创建和导出video clips

    回到目录 创建和导出video clips video 和 audio clips是moviepy中的核心的对象.这篇博文,我们会介绍不同的短clip,展示如何创建他们,以及如何将它们导出到文件中.关 ...

  3. MoviePy - 中文文档4-MoviePy实战案例-重新构建15世纪舞蹈视频

    回到目录 重新构建15世纪舞蹈视频 # -*- coding: utf-8 -*-""" Result: https://www.youtube.com/watch?v= ...

  4. MoviePy - 中文文档2-快速上手-MoviePy-预览

    下面的内容介绍以下MoviePy适用于何种场景以及MoviePy如何工作. 我需要使用MoviePy吗? 出于以下的情景或原因,我们可能会有使用Python做视频编辑的需求. *我们有大量的视频需要处 ...

  5. MoviePy - 中文文档4-MoviePy实战案例-把多个clip放置在一个画面中(超美)

    把多个clip放置在一个画面中 这么复杂的合成,是怎么做出来的啊?! 在这个脚本中,我们会使用下面这个图: 我们将找到这些区域,然后把不同的clip填充到这些区域 from moviepy.edito ...

  6. MoviePy - 中文文档4-MoviePy实战案例-追踪人脸,打马赛克

    回到目录 追踪人脸,打马赛克 首先,我们需要先追踪到人脸,即,获得两个函数fx和fy就像(fx(t), fy(t))获得某时刻t脸的中心的坐标,通过manual_tracking,这个功能很快就实现了 ...

  7. MoviePy - 中文文档4-MoviePy实战案例-给MoviePy Logo做一个闪动的阴影效果

    回到目录 给MoviePy Logo做一个闪动的阴影效果 一起交流,一起进步,群内提问答疑 QQ群:MoviePy中文 :819718037 回到目录

  8. keras中文文档_【DL项目实战02】图像识别分类——Keras框架+卷积神经网络CNN(使用VGGNet)

    版权声明:小博主水平有限,希望大家多多指导. 目录: [使用传统DNN] BG大龍:[DL项目实战02]图像分类--Keras框架+使用传统神经网络DNN​zhuanlan.zhihu.com [使用 ...

  9. Python官方中文文档来了

    你不一定要点蓝字关注我的 机器之心报道 参与:思源 Python 作为世界上最好用的语言,官方支持的文档一直没有中文.小伙伴们已经习惯了原汁原味的英文文档,但如果有官方中文文档,那么查阅或理解速度都会 ...

最新文章

  1. android 设置单边框,详解Android用Shape制作单边框图的两种思路和坑
  2. java编程思想学习(3):Java中的private、protected、public和default的区别
  3. JS面向对象编程之封装
  4. (37)Verilog HDL拼接运算:拼接操作与重复操作
  5. IT技术 VS IT管理!为什么国内大公司都看不起搞技术的?
  6. python中int函数是什么作用_python中int函数怎么用
  7. xshell 输入w 命令后报错 66 column window is too narrow
  8. apple 关闭双重认证_如何在Apple Mail中关闭联系人和事件建议
  9. 2017 linux wine 迅雷,wine 迅雷下载安装(wine 迅雷极速版)【Linux上用迅雷7】
  10. 今天不学习,明天变垃圾
  11. 夜雨数竞笔记-极限(11)-欧拉常数
  12. console接口跟Telnet命令初步调试交换机
  13. coldfusion_ColdFusion破坏神话
  14. Andriod中如何新建lunch项
  15. 如何彻底解决Variable used in lambda expression should be final or effectively final
  16. Spark的位置优先: TaskSetManager 的有效 Locality Levels
  17. 加州房价篇 (三) : 模型的训练,评估和房价的预测
  18. 翻译: 2.7. 如何利用帮助文档 深入神经网络 pytorch
  19. 政务服务一网通办建设方案(ppt)
  20. JavaScript:一个非常有趣的猜数小游戏

热门文章

  1. stm8s001 - SWIM复用为ADC输入 ADC电压值不准确?
  2. 微信内置浏览器 非全屏播放视频解析
  3. 微信端权限控制java,微信支付:特约子商户商户号未授权服务商的产品权限 的解决方案...
  4. PaddlePaddle飞桨《高层API助你快速上手深度学习》『深度学习7日打卡营』第四节课后作业题(代码实践)---快来选一顿好吃的年夜饭
  5. js 数组转json,json转数组
  6. Qt 自定义控件 标尺控件 QLsRuler
  7. 微信小程序版本更新后提示用户更新
  8. sqlserver语法
  9. 第一阶段:Linux基础
  10. GitHub 热点速览 Vol.14:周获 2k+ Vim³ 掀起三维编程风