コンテンツにスキップ
quickthumb
すべてのドキュメント

アニメーションのタイミング

アニメーションやスライドの長さは秒で指定します。無音ループにはGIF、音付きの動きには動画、対話的なプレゼンテーションにはHTMLを選んでください。

シーンを動かして静止させる

この例は図形を1秒かけてフェードインし、最後の画像を2秒維持します。作業ディレクトリへtimed.gifを保存し、同名ファイルがあれば上書きします。

from quickthumb import AnimationSpec, Canvas, GifOptions

canvas = Canvas(320, 180).background(color="#102030").shape(
    "rectangle", (80, 40), 160, 100, "#42CEB7",
    animation=AnimationSpec.fade(duration=1),
)
canvas.export("timed.gif", animation=GifOptions(hold=2))

MP4、WebM、MOVではVideoOptions(hold=2)を使います。動画出力にはFFmpegが必要です。GifOptionsとVideoOptionsはfpsも受け付け、既定値はそれぞれ20と30です。GIFに音声はありません。準備は出力形式を参照してください。

スライドの長さと切り替え

Deckは各スライドのモーションと入場トランジションを再生した後、静止した状態をhold秒(既定は3秒)維持します。2枚目以降は別のトランジションを選ばない限り0.5秒のクロスフェードです。Cut()なら即座に切り替わります。

Deck動画のslide(duration=...)は、入場トランジションとアニメーションを含むスライド全体の時間枠を設定します。長さを明示しない場合はナレーションが時間枠を決められます。映像のアニメーションがより長ければ最後まで再生し、ナレーションは予定された枠に合わせて切り取りまたはパディングします。GIFはスライドのナレーションとslide(duration=...)を無視します。

トランジションのadvance_afterは通常の保持時間を置き換えます。ただしアニメーション、動画のナレーション、明示した長さが終わるまではスライドを維持します。正確な境界規則はタイミングリファレンスを参照してください。

音声、字幕、動きを抑える設定

MP4、WebM、MOVには、対応するクリップ音声、スライドのナレーション、サウンドトラックを含められます。GIFは無音です。動画クリップの字幕は配置されたクリップを基準に時刻を指定し、対応する動画フレームへ焼き込みます。

ExportPolicy(reduced_motion=True)では、作成したレイヤーモーションとトランジションを抑えますが、保持時間、ナレーション、字幕のタイミングは維持します。Deckの既定のクロスフェードは残ることがあります。HTMLは対話的なクリックキューを維持しますが、Deckナレーションは再生せず、動画レイヤーは静止フレームになります。出力先のアプリで確認してください。

時間方向の露光

GIF、動画、画像シーケンスにモーションブラーを加えるには、対応する出力オプションへMotionBlurを渡します。

from quickthumb import MotionBlur, VideoOptions

canvas.export(
    "exposure.mp4",
    animation=VideoOptions(fps=30, motion_blur=MotionBlur(samples=8, shutter_angle=180)),
)

モーションブラーは出力時の設定で、HTMLやPowerPointでは再現しません。MotionBlurは2–64サンプルと、0度より大きく360度以下のシャッター角を受け付けます。タイミング、対応範囲、出力レポートはモーションブラーの詳細を参照してください。

対応範囲とレポート

出力後のresult.capability_reportで適用されたモーションブラーを、result.timing_metricsで実際にエンコードされた再生を確認できます。対応表も参照してください。

時間の基準を選ぶ

sample()は作成したタイムラインを観察します。GIFや動画では形式の性質により、長さやフレーム数が少し異なる場合があります。HTMLは固定長の動画ではなく対話的です。正確なフレーム時刻や出力指標が必要ならサンプリングとタイミングを参照してください。

再生を確認する

共有先のアプリでファイルを再生し、スライド切り替え、字幕、音、最後の保持区間を確認します。正確なタイミングはresult.timing_metricsで調べてください。タイミングリファレンスではプロジェクトの再生テストも説明しています。