python语言可以方便地制作和编辑视频,制作视频的核心是moviepy库,在使用moviepy的基础上综合调用其它的功能库,就可以做出各种有趣的视频。旋转的地球是比较常见的一个视频内容,我们看看怎样用20行代码实现它。

【视频生成的基本概念】

视频的本质就是连续的图片,利用人眼的视觉暂留而形成运动的感觉。视频有一个基本的参数叫做:FPS(frames per second):每秒多少张图片。如果一个视频的FPS=20,也就是每秒会闪过20张图片。

所以,使用moviepy生成视频的一个核心就是如下的两句代码:

animation = VideoClip(make_frame, duration=3.6)
animation.write_videofile("earth.mp4", fps=20)
  • 第一句代码定义一个动画
    核心中的核心:make_frame是一个自定义函数,这个函数接收一个时间参数,返回的是一张图片。
    duration是视频总时长,秒为单位。比如,这里是生成一个3.6秒的动画。

  • 第二句,以某个把这个帧率(FPS)将动画保存为视频文件。其实也完全可以保存为GIF,将第二行改为如下的代码:

animation.write_gif("earth.gif", fps=20)

【怎样画地球】

剩下的工作,就是在make_frame函数中,根据传入的时间参数,画出地球的图片了。我们将使用另外一个库:Basemap。basemap提供了非常方便的画地图的功能。它的安装略有复杂,但按照网上提示肯定可以操作成功,。

我们来看看地球怎样画。

def make_frame(t):# 地图信息,采用正射投影(ortho),就有立体效果# 面向0纬度,经度随时间而变,就出现了旋转效果!map = Basemap(projection='ortho', lat_0=0, lon_0=-t*100)# 地球的底色就是海洋map.drawmapboundary(fill_color='aqua')# 画大洲map.fillcontinents(color='coral',lake_color='aqua')# 海岸线map.drawcoastlines()# 国界线map.drawcountries()
# 将结果转换为图片返回
return mplfig_to_npimage(fig)

是不是非常简单呢?

【加上晨昏线】


在太阳的照射下,地球上才有白天和黑夜。地球是一个球体,恰好半球黑天,半球白天。白天半球和黑夜半球的交界处,就称为晨昏线,由于它正好是一个圆形,也称为晨昏圈。我们注意到晨昏线的角度是倾斜的,因为地轴与太阳平面有一个23.5度的交角。我们还看到,北极部分完全笼罩在阴影中,而南极部分则在阳光下。说明现在是北半球的冬天,北极处于极夜状态,而南极是极昼。
只需增加两行代码,就可以实现这一功能。

    time= datetime.fromtimestamp(t*24*1000)map.nightshade(time, delta=0.2)

我们这里,将传入的参数t做一个转换。因为实际制作3.6秒视频地球旋转360度,而在实际上,地球是24个小时才转动360度。相当于放大了24*1000倍。这样的参数转换,才能让晨昏圈处于稳定的位置。

【总结】

本文讲了制作视频的基本原理,以及基于basemap的地图(地球)画法,你记住了么?

Moviepy结合Basemap,用python制作旋转地球视频相关推荐

  1. 用python实现旋转地球

    用python实现旋转地球 先上效果图 素材 本文只讲最简单也是最常见的正侧面旋转地球. 首先你得有一张360度贴图,效果如下图.在网上搜一下,这种图很多,容易获得. 它的特点是高度恰好是宽度的一半, ...

  2. 利用Python制作旋转花灯,祝大家元宵节快乐

    1.原材料 1.1 花灯纸 如下所示,还可以加上自己喜欢的图案.文字等. 2.2 Python环境和模块 一台安装了Python环境的电脑,Python环境需要安装以下模块. 干货主要有: ① 200 ...

  3. 百万点赞怎么来?用 Python 制作抖音视频原来这么简单

    关于视频的文章之前也讲几篇,那么今天我就和大家来分享一下Python同样也可以用来制作视频,也就是调用moviepy的模块. 喜欢本文记得收藏.点赞.关注. 完整代码.技术交流,文末获取 关于Movi ...

  4. 百万点赞怎么来?用Python制作抖音视频原来这么简单!

    那么在上一篇教程当中,我们讲了Python在图片处理当中的应用,通过调用当中的opencv的模块,那么今天小编就和大家来分享一下Python同样也可以用来制作视频,也就是调用moviepy的模块. 关 ...

  5. python制作鬼畜_视频剪辑什么鬼?Python 带你高效创作短视频

    近两年,抖音.快手将短视频推到风口浪尖上,要生产出高质量的视频,离不开视频剪辑这一环节;在全民剪片浪潮中,大众使用最多的剪辑软件如:Pr.FCPX.剪印.Vue 等. 之前有两篇文章分别是实现了制作卡 ...

  6. 百万点赞怎么来?用Python制作抖音视频原来这么简单

    前言 今天小编就和大家来分享一下Python同样也可以用来制作视频,也就是调用moviepy的模块. 关于Moviepy模块 Moviepy是一个用于视频剪辑的Python模块,可被用来进行一些基本的 ...

  7. Python制作卡点视频

    欢迎关注 Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.ne ...

  8. python制作代码舞视频来啦~

    上一篇文章我们介绍了如何制作字符画视频,今天就来给大家介绍一下代码舞的视频制作 最后效果展示 首先是原版 接着是黑白版的 最后是彩色版的 是不是看着很nice呢,哈哈哈哈 项目实现 第一步 首先我们要 ...

  9. python制作旋转小风车

    import turtle as t t.goto(100,0) for i in range(100): t.left(80) t.fd(100) t.left(135) t.fd(165) t.l ...

最新文章

  1. Permission denied: make_sock: could not bind to address [::]:81 Apache 虚拟主机
  2. 网络营销外包专员浅析从用户角度出发如何完善网络营销外包?
  3. JframeMaxSize
  4. Angular里的style property binding的一个例子
  5. ue默认高亮mysql_UE设置打开文件的默认高亮语言
  6. 刚刚!北京高考时间和开学时间定了
  7. 快速掌握用python写并行程序
  8. zookeeper的会话
  9. Go两个协程生产消费者模型
  10. 微信小程序斩获世界大奖后,中小企业怎样搭上这辆快速列车?
  11. 《数据库系统原理》课程设计:超市订单管理系统
  12. jdk文件夹里点哪个是安装_jdk在哪个文件夹里面
  13. 简单分析暴风影音的最新0DAY菜鸟版
  14. ngrok服务的编译与环境搭建
  15. dropping incoming packet
  16. 帝国CMS系统提示登录超时解决办法
  17. 百度地图Javascript API 使用记录
  18. (环境搭建+复现)CVE-2020-1472 NetLogon 域内提权漏洞
  19. 大学可以这样读——我的心路历程和一点思考
  20. 计算机学院元旦晚会对联,元旦对联集锦

热门文章

  1. glusterfs简单介绍
  2. 关于仿酷狗音乐播放器开源:寻求一套音乐播放器素材,让仿酷狗开源
  3. 删除Flash控件的 Flash9e.ocx和FlashUtil9e.exe
  4. mysql explain possible_keys_MySQL explain详解
  5. 标志寄存器 CF PF AF ZF SF OF TF IF
  6. 4-springcloud负载均衡( ribbon )案例
  7. DM8168烟雾识别项目总结
  8. 访问学者是神马?(转)
  9. 八大基本数据类型(超详细)
  10. NLog简单使用教程