ChangePlaySpeed

説明

再生速度を変更する。

「お前らのショボイAvisynthスクリプト貼ってくださいpart2」より転載。

作者

  • お前らのショボイAvisynthスクリプト貼ってくださいpart2 の 103 さん

コード

function ChangePlaySpeed(clip clip, float speed, float "fps", bool "pitch") {
    fps = default(fps, -1.0)
    pitch = default(pitch, false)

    clip =
    \    ((pitch)
    \        ? clip.TimeStretch(rate=100.0*speed)
    \        : clip.TimeStretch(tempo=100.0*speed)
    \    )

    rate = clip.Framerate()
    clip =
    \    ((0.0 == fps)
    \        ? clip.AssumeFPS(rate*speed)
    \    :(fps < 0.0)
    \        ? clip.AssumeFPS(rate*speed).ChangeFPS(rate)
    \        : clip.AssumeFPS(rate*speed).ChangeFPS(fps)
    \    )

    return clip
}

シンタックス

ChangePlaySpeed(clip clip, float speed, float "fps", bool "pitch")

パラメータ

  • clip
    • ビデオクリップ。
  • speed
    • 再生する速度(倍速指定、“1.0”なら変化無し)
  • fps
    • 速度変更後のFPS設定(省略・負数なら変化無し)。“0”ならspeedで変化した分だけFPSも変化する。正数ならその値になる
  • pitch
    • 音程を変化させるか(省略・偽なら変化なし、trueなら変化する)

使用例

# お前らのショボイAvisynthスクリプト貼ってくださいpart2 の 104 より
# ※コメントは、にーやんが追加。

# ソース
clip_29970fps_60m00s = ColorBars()

# 再生速度を 2 倍に変更。フレームレートは変更前のまま。
clip_29970fps_30m00s = clip_29970fps_60m00s.ChangePlaySpeed(2.0)

# 再生速度を 2 倍に変更。フレームレートは変更された分だけ変化する。
clip_59940fps_30m00s = clip_29970fps_60m00s.ChangePlaySpeed(2.0, fps=0)

# 再生速度を 2 倍に変更。フレームレートは fps パラメータで指定した値になる。
clip_23976fps_30m00s = clip_29970fps_60m00s.ChangePlaySpeed(2.0, fps=24000.0/1001.0)

関連ページ

その他

最終更新日時: 2014-03-11 (火) 03:47:24 (3927d)