溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python編程簡單幾行代碼如何實現(xiàn)視頻轉(zhuǎn)換Gif

發(fā)布時間:2021-10-08 09:44:29 來源:億速云 閱讀:109 作者:柒染 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)python編程簡單幾行代碼如何實現(xiàn)視頻轉(zhuǎn)換Gif,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、前言

很多網(wǎng)站提供視頻轉(zhuǎn)GIF的功能,但要么收費要么有廣告

實際上我們通過python,幾行代碼就能夠?qū)崿F(xiàn)視頻轉(zhuǎn)gif

二、教程

1. 安裝必備庫moviepy

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

2. 寫入代碼

from moviepy.editor import *

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

3. 轉(zhuǎn)換效果

python編程簡單幾行代碼如何實現(xiàn)視頻轉(zhuǎn)換Gif

剛剛的GIF圖雖然只有幾秒,但大小卻有9M之多!

(還是已經(jīng)縮放了分辨率的情況下)

python編程簡單幾行代碼如何實現(xiàn)視頻轉(zhuǎn)換Gif

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

那該怎么解決呢?

4. GIF很大的解決方案

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

from moviepy.editor import *
clip = (VideoFileClip("movie.mp4").resize((488,225)))
clip.write_gif("movie.gif",fps=15)  #設(shè)置為每秒15幀

設(shè)置為每秒15幀后,文件大小只有2m多,一下縮小了4倍之多!

python編程簡單幾行代碼如何實現(xiàn)視頻轉(zhuǎn)換Gif

而且視覺效果也沒有多大的區(qū)別

python編程簡單幾行代碼如何實現(xiàn)視頻轉(zhuǎn)換Gif

5. 截取視頻長度轉(zhuǎn)換

我們還可以通過設(shè)置subclip參數(shù)來指定轉(zhuǎn)換的視頻范圍:

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

將視頻1-2秒片段轉(zhuǎn)化為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)

6. 指定轉(zhuǎn)換后的圖片大小(分辨率)

resize參數(shù)可指定轉(zhuǎn)換后的圖片大小

接受的參數(shù)為:

  • 以像素或浮點表示的(width,height)

  • 縮放百分比,如 0.5

示例

1.設(shè)置轉(zhuǎn)換后的圖片為600*400

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

2.原視頻縮放50%

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

上述就是小編為大家分享的python編程簡單幾行代碼如何實現(xiàn)視頻轉(zhuǎn)換Gif了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI