视屏制作过程简单实用,分两步实现:
- 用python生成每天的地图可视化图片
- 用Linux命令行一键生成视屏
- 用python 生成图片
下面举例为jupyter notebook环境中:
首先你的数据格式可能是这样的(data frame名字 df):
下面的code可以用来生成世界地图热力图:
import math
import plotly.express as px
import plotly.offline as pyo
import plotly.graph_objs as go
df['size']=df['现有确诊'].apply(lambda x: math.sqrt(x) if x>0 else 0)
fig = px.scatter_geo(df, lat='维度',lon='经度',
title='公众hao:robot-learner',
size='size',
color='现有确诊'
)
fig.write_image("test.png")
效果如下:
用上面的方法,我们把每一天的数据生成一张张的图片。把这些图片存下来,总共100多张图片。
- Linux下生成视屏
一行命令即可搞定:
ffmpeg -r 5 -i pic%3d.png -pix_fmt yuv420p -r 24 movie.mp4
上面ffmpeg是app,如果没有装,apt-get或者yum install 安装一下即可。
-r 5:是每秒钟用5张图片作为素材,这个控制了视屏的时间长度。
-r 24: 是为了达到视屏连贯的要求,每秒钟最好用24张图片。所有中间不够的图片,ffmpeg会重复使用5张图片来填充。
pic%3d.png: 我们的输入图片都用 pic001.png, pic002.png。。。pic108.png格式命名,所以按照顺序使用。
-pix_fmt yuv420p: 需要用来和一些播放器兼容
Done! 这个方法简单吧。
欢迎交流,加我as好友: