📘

PythonでMP4動画をリサイズ可能なGIFに変換する方法

2024/11/30に公開

TL;DR

動画ファイルをGIFに簡単に変換できるPythonスクリプトを紹介します。moviepyライブラリを使用し、動画のトリミング、サイズ変更、フレームレートのカスタマイズが可能です。

背景

動画をGIFに変換するニーズは多くの人が持っています。プレゼンテーション、ソーシャルメディア、ドキュメンテーションなど、様々な用途で使用されます。このスクリプトは、柔軟で使いやすい変換ソリューションを提供します。

必要な依存関係

  • moviepyライブラリ
  • Python 3.x

インストール方法:

pip install moviepy

スクリプトの主な機能

  1. MP4動画の読み込み
  2. 動画のトリミング(開始・終了時間の指定)
  3. 動画サイズの変更
  4. GIFへの変換
  5. エラーハンドリング

コード解説

関数の引数

  • input_path: 入力する動画ファイルのパス
  • output_path: 出力するGIFファイルのパス
  • flame_rate: GIFのフレームレート(1秒あたりのフレーム数)
  • start_time: GIFの開始時間(秒)
  • end_time: GIFの終了時間(秒)
  • width: GIFの幅
  • height: GIFの高さ

主な処理の流れ

  1. VideoFileClip()で動画を読み込む
  2. subclip()で必要に応じて動画をトリミング
  3. resize()で動画のサイズを変更(オプション)
  4. write_gif()でGIFに変換して保存

使用例

convert_mp4_to_resized_gif(
    input_path="input.mov",
    output_path="output.gif",
    flame_rate=15,
    start_time=0,
    end_time=21,
    width=800,
    height=None
)

注意点

  • flame_rateは動画の滑らかさに影響します。高すぎると容量が大きくなり、低すぎると動きが不自然になります。
  • サイズ変更時は、アスペクト比を保持するために片方のみ指定することをお勧めします。

トラブルシューティング

  • moviepyがインストールされていることを確認
  • 入力ファイルのパスと形式を正確に指定
  • 十分な空きディスク容量があることを確認

まとめ

このスクリプトにより、Pythonで簡単にMP4をGIFに変換できます。用途に合わせて柔軟にカスタマイズ可能です。

何か質問やフィードバックがあれば、コメントで教えてください!

GitHubで編集を提案

Discussion