視屏製作過程簡單實用,分兩步實現:
- 用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好友: