PythonでGIFの秒数とFPSをカウントする「GIF秒数カウンター」作ってみた
以前、MP4をGIFに変換するコードを公開しました。
これには、GIFの秒数とFPSを計測する機能がなかったので、Pythonで作っちゃいました。
この計測のためには、Pillowが必要なので、インストールしてない場合はインストールします。以下のコマンドを実行してください。
pip install pillowGIFの秒数とFPSをカウントするPythonコード
from PIL import Image
from tkinter import Tk, filedialog
def get_gif_info(filepath):
with Image.open(filepath) as im:
total_duration = 0
frame_count = 0
try:
while True:
duration = im.info.get('duration', 0)
total_duration += duration
frame_count += 1
im.seek(im.tell() + 1)
except EOFError:
pass
return total_duration / 1000, frame_count # (秒, フレーム数)
if __name__ == "__main__":
root = Tk()
root.withdraw() # メインウィンドウを表示しない
gif_path = filedialog.askopenfilename(
title="GIFファイルを選択してください",
filetypes=[("GIF files", "*.gif")]
)
if gif_path:
duration, frames = get_gif_info(gif_path)
if duration > 0:
fps = frames / duration
else:
fps = 0
print(f"総再生時間: {duration} 秒")
print(f"フレーム数: {frames} 枚")
print(f"1秒間あたりのフレーム数: {fps:.2f} fps")
else:
print("ファイルが選択されませんでした。")使い方
①アプリを起動
②ボタンを押すとエクスプローラーが起動するのでGIFファイルを選択
③秒数とフレーム数、FPSが表示

こういうのは作っちゃった方が早いですね!
AIと一緒なら、挫折せず、AIのせいにしながら楽しくつくれます。
PythonはVSCodeだけで完結するのでいいよなあ。軽いし早いし。
興味があれあ、レッツチャレンジ!
誰かの参考になれば幸いです。
