広告 ブログ

moviepyで動画のアスペクト比を保ちながらサイズを変更する

3月 14, 2025

例えば1080×1920の動画を作りたいけど、元の動画が1080×1350だった時は、立幅を+570してやればいい。
つまり上下に285pxずつ余白を入れてやれば解決する。

1080×1350の動画のイメージ
上下に余白を入れて1080×1920にした

とりあえずこんな感じでうまいぐあいに余白が入った。
想定外の動画は改修する必要があるかもなのであしからず。

    clip1 = VideoFileClip(mp4_path)
    w = clip1.w
    h = clip1.h
    target_w = 1080
    target_h = 1920

    if w != target_w or h != target_h:
        # 目標に対する今の動画のサイズの割合
        w_rate = target_w/w
        h_rate = target_h/h

        # widthかheightを目標に遠い方に合わせる
        rate = w_rate
        if w_rate > h_rate:
            rate = h_rate

        # 動画のリサイズ
        clip1 = clip1.resize(newsize=(int(clip1.w*rate), int(clip1.h*rate)))
        w = clip1.w
        h = clip1.h

        # 足りないところは黒塗りの余白で埋める
        margin_x = int((target_w-w)/2)
        margin_y = int((target_h-h)/2)
        clip1 = clip1.margin(left=margin_x, right=margin_x, top=margin_y, bottom=margin_y, opacity=0)
        w = clip1.w
        h = clip1.h
  • この記事を書いた人

借金たろう@副業挑戦

ベッドから出るのは1日10時間が限界
サラ金700万・37歳のリアル

借金700万を背負い、フーデリと副業で食いつなぐギリギリの毎日
2026年7月、サラ金から引っ張った400万をそのまま$25,000に変えて、ハイリスクAI(ORCA等)に全ツッパする「人間人柱」実験を開始

目的は一発逆転。でも『絶対マネするな』
案件が明日飛ぶ恐怖と戦いながら、毎朝ウォレットに着金するUSDTだけで原資回収を目指すリアルな立ち回りを公開中

-ブログ