ChatGPTに、mpeg→gif 変換のPythonスクリプトを書いてもらいました。ブログに動画を張り付ける際、mpegが対応していないのでgifに変更していたのですが、オンラインで変換してくれるサービスを利用していたのですが、面倒なので手元でもできるように。
MoviePyは事前にインストールしておきます。MoviePyをインストールするとFFmpegも一緒にインストールされます。
なお、pythonではなく、下記のようなFFmpegのコマンドラインだけで出来ますが、そこは好みで。
ffmpeg -i input.mpeg -vf "fps=10,scale=320:-1:flags=lanczos,split [s0] [s1]; [s0]palettegen [p]; [s1] [p]paletteuse" -loop 0 output.gif
指示文(プロンプト):
mpegからgifに変換するpythonプログラムを提示してください。MoviePyを利用してください。動画のサイズ(縦、横)、フレームレートも指定できるようにしてください。
回答:
MoviePyでmpegからgifに変換するプログラムは以下のようになります。
from moviepy.editor import VideoFileClip
# 入力ファイルのパス
input_file = "input.mp4"
# 出力ファイルのパス
output_file = "output.gif"
# 動画のサイズ(横幅、縦幅)
size = (320, 240)
# フレームレート
fps = 10
# 動画を読み込む
clip = VideoFileClip(input_file)
# サイズを変更する
clip = clip.resize(size)
# gifに変換して保存する
clip.write_gif(output_file, fps=fps)
結果:
以下のように成功しました。返還前の動画は下記のサイトからフリー素材を使わせてもらいました。
https://www.pexels.com/ja-jp/video/855282/
処理が開始されると下記のように表示されます。少し時間がかかります。
変換後のgifはこちら。