[自製] 批次檔 影片轉gif(高品質)

作者: x94fujo6   2020-06-03 14:35:23
github https://git.io/JfP8T
使用工具
ffmpeg
ffprobe
gifski
以上有設定成環境參數
cmd 或 powershell 執行以下指令正常
ffmpeg -version
ffprobe -version
gifski -V
使用說明
這個批次檔放在哪都能用
影片檔拖進去就會轉成gif(跟影片同路徑)
pnglib沒設定的話, 會在影片同路徑建立一個資料夾
設定說明
pnglib 放提取的png的資料夾 (路徑要用""包起來)
建議設定
1. 這資料夾會吃掉很多空間,一般10秒的webm大概50~100MB
2. 因為不同fps提取會分開放,如果測試fps的話會吃掉更多空間
3. 上述原因,集中方便清理
4. 提取過的話可以跳過直接轉gif
因為主要速度是卡在生成gif
放硬碟就可以
gifquality gif品質 1~100 (就gifski的參數)
越大畫質越好,但是檔案也越肥
小圖的話50,大圖大概70~75以下開始有色帶
minfps/maxfps fps最小/最大
這個批次檔可以自動抓影片的fps
有設定的話會限制在這兩個數值區間
兩個設一樣就是固定
ow 寬或高的最大解析度,會自動等比例[縮小]到設定的大小
設定720
850x648→720x548
648x850→548x720
480x300→480x300
dec 計算長寬的精確度,小數點後幾位,不重要
log 要不要產生記錄檔 True=要/False=不要
支援的格式
目前支援 webm, mp4, mkv
尚待測試 webp, m4v, mov, avi, wmv, flv, hls, gif(why?看到ffmpeg支援就無聊XD)
沒寫到的[check_ext]那邊自己加
理論上ffmpeg支援的都可以
有問題...自己除錯
本來就自用的
沒有很完善
中途有中斷的話請自己把抽取到一半的png資料夾或gif刪掉
不然之後會被直接跳過
常轉的話建議定期清理png資料夾
因為真的會吃掉很多空間
批次檔的特殊字元處理真的有夠87
大概90%時間在除這個錯
有想過powershell
還是批次檔即用性比較好
powershell有權限問題
win10以下要另外裝
本來就自用的老東西
另一個是無損旋轉gif
就ImageMagick的convert (安裝時注意要勾legacy還是甚麼)
沒有特別改
因為還真的不是很常用
為甚麼會有這個
就...
patreon, fantia, pixiv, twitter...等等
都是影片格式
gif雖然過時又肥但就方便
還不用怕忘記關聲音(蛤)
有想說看看能不能找到預估gif檔案大小的方法
因為某個地方有10MB限制
沒辦法預估就是轉→太大降參數→還能在大點→又頂到→懶了
大概是
長x寬x原影片長度(到毫秒)xfps
但是gif有壓縮
gifski高品質70+轉出來其實平均大3.5~4倍
只要有大量影片
然後用不同品質轉出來(其他參數一樣)
統計分析結果應該可以得到一個隨品質變化的曲線
然後
我就摸了
作者: sa12e3   2020-06-03 22:52:00
這很好,但是有進階功能可能更好,例如:影格切割後合併成長截圖,且可將此長截圖切割後再還原成gif或影片。
作者: Ten6666 (JustWatch)   2020-06-04 10:38:00
作者: evanade (二萌)   2020-06-04 15:00:00
看到10MB不知道是不是TG,有些地方傳無聲MP4會被當gif啦

Links booklink

Contact Us: admin [ a t ] ucptt.com