とっちゃん@nyanco! です。
ショート動画で複数の動画を倍速にしたいんだけど1つ1つ面倒ですにゃ~
動画を何本もまとめて倍速化したい場面、意外とありますよね。
- SNS投稿用に倍速動画をまとめて作りたい
- フォルダに放り込んだ動画を一気に処理したい
- 1本ずつFFmpegコマンドを打つのは面倒すぎる
そんな時に便利なのが、Python と FFmpeg を使った 動画一括自動倍速スクリプト。
この記事では、実際に運用している video_speedbatch.py の仕組みと使い方をまとめました。
今回できること
このスクリプトを使うと、
.pyと同じディレクトリにある動画を対象に- 一括で 2倍速化(音声も同期) し
output_videosフォルダに- ファイル名末尾に
_2xを付けて書き出し
という処理が自動で行われます。
必要なもの
① Python(3.x)
macOS / Windows どちらでもOK。
② FFmpeg
速度変更処理を担当。
インストールして PATH が通っていればOK。
macOS なら:
brew install ffmpeg
Windows なら公式サイトから入れて PATH を追加。
ディレクトリ構成
記事で紹介するスクリプトは、動画ファイルと同じ階層に置いて使います。
/任意のフォルダ
├── video_speedbatch.py
├── movie1.mp4
├── movie2.mov
└── …(対象となる動画)
実行すると、以下のように output_videos が自動生成されます。
/任意のフォルダ
├── video_speedbatch.py
├── movie1.mp4
├── movie2.mov
└── output_videos/
├── movie1_2x.mp4
└── movie2_2x.mov
実際のコード(コピペOK)
import os
import subprocess
# 実行中の .py の場所を基準にする
base = os.path.dirname(os.path.abspath(__file__))
input_folder = base # .py と同じ場所の動画を対象
output_folder = os.path.join(base, "output_videos")
speed = 2.0 # 2倍速
suffix = "_2x" # 末尾に付与する文字
os.makedirs(output_folder, exist_ok=True)
for filename in os.listdir(input_folder):
if filename.lower().endswith((".mp4", ".mov", ".mkv", ".avi")):
input_path = os.path.join(input_folder, filename)
# ファイル名加工
name, ext = os.path.splitext(filename)
output_filename = f"{name}{suffix}{ext}"
output_path = os.path.join(output_folder, output_filename)
cmd = [
"ffmpeg",
"-i", input_path,
"-filter_complex", f"[0:v]setpts=PTS/{speed}[v];[0:a]atempo={speed}[a]",
"-map", "[v]",
"-map", "[a]",
"-preset", "veryfast",
output_path
]
print(f"Processing: {filename} → {output_filename}")
subprocess.run(cmd)
print("DONE!")
実行方法
ターミナル(またはコマンドプロンプト)で、スクリプトがあるフォルダへ移動して:
python3 video_speedbatch.py
あとは自動的に動画を検出して2倍速で書き出してくれます。
カスタム例
用途によってカスタムも簡単です。
4倍速にしたい
speed = 4.0
音声は atempo が最大 2.0 なので4倍速にしたい場合は2回チェーンする必要あり。
無音化したい
cmd = [
"ffmpeg",
"-i", input_path,
"-an",
"-filter:v", f"setpts=PTS/{speed}",
output_path
]
GPU(NVIDIA)で高速化したい
h264_nvenc に変更するだけで爆速化できます(Windows向け)。
まとめ
video_speedbatch.py は、
- 動画を同一フォルダにまとめて
- ターミナルで 1 回実行するだけで
- 複数動画を自動 2 倍速化して
_2xの名前で書き出す
というシンプルかつ強力なスクリプトです。
特に SNS クリエイターや YouTube ショート動画作成者にとっては圧倒的な手間削減 になります。
今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧


コメント