三行代碼使用Python將視頻轉Gif的方法示例

一、前言

很多網站提供視頻轉GIF的功能,但要麼收費要麼有廣告

實際上我們通過python,幾行代碼就能夠實現視頻轉gif

二、教程

1. 安裝必備庫moviepy

pip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 寫入代碼

from moviepy.editor import *

clip = (VideoFileClip("movie.mp4"))  # 需要轉為GIF的視頻文件路徑
clip.write_gif("movie.gif")

3. 轉換效果

剛剛的GIF圖雖然隻有幾秒,但大小卻有9M之多!(還是已經縮放瞭分辨率的情況下)

如果需要轉換的視頻有幾十秒,那文件大小就得上百兆甚至更多!

那該怎麼解決呢?

4. GIF很大的解決方案

我們除瞭設置縮放分辨率resize外,還可以通過設置fps參數抽幀來減少大小

from moviepy.editor import *

clip = (VideoFileClip("movie.mp4").subclip(t_start=1, t_end=2).resize((488, 225)))
clip.write_gif("movie.gif", fps=15)

設置為每秒15幀後,文件大小隻有2m多,一下縮小瞭4倍之多!

而且視覺效果也沒有多大的區別

5. 截取視頻長度轉換

我們還可以通過設置subclip參數來指定轉換的視頻范圍:

subclip:截取原視頻中的自t_startt_end間的視頻片段

將視頻1-2秒片段轉化為Gif

from moviepy.editor import *

clip = (VideoFileClip("movie.mp4").subclip(t_start=1, t_end=2).resize((488, 225)))
clip.write_gif("movie.gif", fps=15)

5. 指定轉換後的圖片大小(分辨率)

resize參數可指定轉換後的圖片大小

接受的參數為:

  • 以像素或浮點表示的(width,height)
  • 縮放百分比,如 0.5

示例

1.設置轉換後的圖片為600*400

clip = (VideoFileClip("movie.mp4").resize((600, 400)))

2.原視頻縮放50%

clip = (VideoFileClip("movie.mp4").resize(0.5))

到此這篇關於三行代碼使用Python將視頻轉Gif的方法示例的文章就介紹到這瞭,更多相關Python將視頻轉Gif內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: