🧭 あなたに最適なVPSを30秒で無料診断 診断する →

【2026年版】動画の自動切り抜きAIをVPS上で動かしてYouTube ShortsやTikTokを量産する

読む前に30秒だけ。用途・予算を選ぶだけで、あなたに最適なVPSがわかります(無料・登録不要) 無料診断 →

動画の自動切り抜きAIをVPS上で動かしてYouTube ShortsやTikTokを量産する


最初に結論を書いておきます

VPSで動かす。GPUは要らない。CPUで十分。

「GPU搭載VPSじゃないと動画処理できない」みたいな記事を見かけることがあるんですが、はっきり書いておきます。FFmpeg+Whisperの切り抜き自動化にGPUは不要です。 CPU 8コアあれば普通に動きます。GPU搭載プランを推してくる記事は、単純に単価の高いプランを売りたいだけの可能性が高い。

それと、自分のPCでやろうとするのもやめた方がいい。「夜間バッチで処理させたいのにPCの電源落とせない」「外出先で何かあったらリモートデスクトップで繋がないといけない」——これ、全然手放しにならないので精神的にしんどい。VPS上に環境を作ってcronで回す、これが正解。

VPS選びの結論:

  • 月間コスト重視 → XServer VPS(8GBプラン 2,200円〜)
  • 長期で安定稼働させたい → さくらのVPS(8GBプラン 2,189円〜)

どちらも月3,000円以内で「1日20本処理」の環境が作れます。1日あたり100円以下。手作業で1本30分かかる作業を毎日やることを思えば、コスパの話にすらならない。


切り抜き動画の量産を自動化する時代

YouTube チャンネルの切り抜き、ポッドキャストのハイライト、セミナーのショート化。手作業でやれば 1 本 30 分かかる作業も、VPS 上の自動化パイプラインを構築すれば夜中に何本でも処理できます。

VPS で動画処理を自動化するメリット:

  • ローカル PC を占有しない(夜間バッチ処理)
  • 長尺動画を複数並列処理できる
  • Webhook で外部サービスとトリガー連携できる

体感として、「自動化の仕組みを作る最初の1〜2時間」さえ乗り越えれば、あとは寝てる間に動いてます。最初だけ踏ん張れればいい。


必要なVPSスペック

処理量CPUメモリストレージ
1日5本以下4コア8GB100GB
1日20本程度6コア16GB200GB
フル自動量産8コア32GB500GB

動画ファイルはサイズが大きいため、ストレージは多めに確保しておきます。処理済みファイルを外部ストレージに移す運用でも OK です。

自分の判断を加えておくと、 まずは「1日5本以下」の4コア・8GBプランで始めるのがいい。物足りなくなったらスケールアップすればいい。最初からフル構成を買う必要はないです。月2,200円から始めて、運用しながら判断する。それで十分。


おすすめVPS比較

🥇 XServer VPS

I/O 性能が高く、大容量動画ファイルの読み書きが速い。FFmpeg の並列処理も快適。

項目内容
8GBプラン月額2,200円〜
ストレージNVMe SSD
転送量無制限

正直なところ、 動画処理でI/O速度は地味に重要です。NVMe SSDで転送量無制限、これは動画ファイルを大量に扱う用途にはありがたい。月2,200円固定なので「今月いくら使ったっけ」って計算しなくていいのも精神的にラク。

XServer VPS →

🥈 さくらのVPS

長期利用で割引が効く。安定した帯域でアップロード処理にも安心。

項目内容
8GBプラン月額2,189円〜
安定性国内トップクラス
長期割引あり

自分の場合、 cron で毎日同じ時間に回し続けるような「継続運用」には、安定性の実績があるさくらも選択肢として十分あり。長期契約の割引を使えばさらに安くなるので、「もう完全に運用フェーズに入った」という人はさくらで契約してしまうのもいい判断だと思います。

さくらのVPS →


自動切り抜きパイプラインの構築

ここから実際の構築手順です。「難しそう」と思うかもしれないけど、コマンドをそのまま流せばほぼ動きます。手を動かしながら読んでください。

ステップ1:必要ツールのインストール

sudo apt update && sudo apt upgrade -y
sudo apt install -y ffmpeg python3 python3-pip
pip3 install faster-whisper scenedetect[opencv] yt-dlp

faster-whisper を使うのがポイントで、オリジナルのWhisperより軽い。CPUでも現実的な速度で動くのはこっちのおかげです。

ステップ2:元動画のダウンロード

# YouTube から最高画質でダウンロード
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]" \
  -o "/var/videos/%(title)s.%(ext)s" \
  "https://www.youtube.com/watch?v=動画ID"

一点だけ先に言っておきます。 自分のコンテンツ、または切り抜き許可を明示しているチャンネルの動画だけ使ってください。他人の動画を無断で切り抜いて投稿するのは著作権侵害です。ツールの話をする前に、これだけは最初に書いておきたかった。

ステップ3:シーン検出で自動分割

scenedetect を使って映像の場面転換を自動検出し、セグメントに分割します。

from scenedetect import VideoManager, SceneManager
from scenedetect.detectors import ContentDetector

video_manager = VideoManager(["input.mp4"])
scene_manager = SceneManager()
scene_manager.add_detector(ContentDetector(threshold=27.0))

video_manager.set_downscale_factor()
video_manager.start()
scene_manager.detect_scenes(frame_source=video_manager)

scenes = scene_manager.get_scene_list()
for i, (start, end) in enumerate(scenes):
    print(f"Scene {i}: {start.get_seconds():.1f}s → {end.get_seconds():.1f}s")

threshold=27.0 の数値は調整できます。低くすると細かく分割、高くするとざっくり分割。素材によって変わるので、まず動かして確認してから調整してください。

ステップ4:Whisper で字幕付き切り抜きを生成

from faster_whisper import WhisperModel
import subprocess

model = WhisperModel("small", device="cpu", compute_type="int8")

def clip_with_subtitle(input_path, start, end, output_path):
    # 音声を一時抽出
    tmp_audio = "/tmp/clip_audio.mp3"
    subprocess.run([
        "ffmpeg", "-y", "-i", input_path,
        "-ss", str(start), "-to", str(end),
        "-vn", "-ar", "16000", tmp_audio
    ])

    # Whisper で文字起こし → SRT 生成
    segments, _ = model.transcribe(tmp_audio, language="ja")
    srt_path = "/tmp/subtitle.srt"
    with open(srt_path, "w") as f:
        for j, seg in enumerate(segments, 1):
            f.write(f"{j}\n{seg.start:.3f} --> {seg.end:.3f}\n{seg.text}\n\n")

    # 字幕を焼き込みして縦型(9:16)にクロップ
    subprocess.run([
        "ffmpeg", "-y", "-i", input_path,
        "-ss", str(start), "-to", str(end),
        "-vf", f"crop=ih*9/16:ih,scale=1080:1920,subtitles={srt_path}:force_style='FontSize=24'",
        "-c:v", "libx264", "-crf", "23",
        output_path
    ])

ここでもGPUの話をしておきます。 device="cpu" で動かしています。「GPUにすれば速い」のはそうなんですが、月数万円のGPU VPSを借りるコストに見合うかというと、動画切り抜き用途では見合わないです。CPU(faster-whisper + int8量子化)で十分な速度が出ます。コスト最適化を考えるなら、CPUプランで全然いい。

ステップ5:バッチ処理の自動化

#!/bin/bash
# cron で毎日3時に実行
INPUT_DIR="/var/videos/raw"
OUTPUT_DIR="/var/videos/shorts"

for video in "$INPUT_DIR"/*.mp4; do
  [ -f "$video" ] || continue
  python3 /opt/clipper/process.py "$video" "$OUTPUT_DIR"
  echo "[$(date)] Processed: $video" >> /var/log/clipper.log
done
# crontab に登録
0 3 * * * /opt/clipper/batch.sh

これを仕込んだら、あとは素材を /var/videos/raw に置くだけで朝には切り抜きが出来上がっています。これが「手放し」の状態。自分のPCでやっていたときは、これができなかった。


Shorts 向け最適化チェックリスト

項目設定値
解像度1080 × 1920(縦型)
長さ30〜60 秒が最適
字幕フォントサイズ24〜28px
ビットレート8〜12 Mbps
フレームレート30fps

TikTokとYouTube Shorts、設定はほぼ共通でいいです。1080×1920のmp4(H.264)を作っておけば両方に使い回せます。プラットフォームごとに別エンコードする必要はない。


よくある質問(FAQ)

A. 他人の動画を無断で切り抜いて投稿すると著作権侵害になります。自分のコンテンツ、または切り抜き許可を明示しているチャンネルの動画のみ利用してください。
A. 60 分の動画から 60 秒のクリップを切り出す場合、8コア CPU で 5〜10 分程度です。字幕焼き込みを含めると 10〜15 分かかります。並列処理で複数本同時に処理することで効率化できます。
A. 解像度(1080×1920)と縦型フォーマットは共通です。TikTok は 60 秒以内、YouTube Shorts は 60 秒以内が推奨です。エンコード設定は同じ mp4(H.264)が両方で使えます。
A. YouTube Data API と TikTok API を使えば、VPS から直接アップロードまで自動化できます。ただし API の利用制限と各プラットフォームの利用規約を事前に確認してください。

まとめ:あなたの使い方で選ぶ

FFmpeg + Whisper + scenedetect を VPS に組み合わせることで、動画切り抜きから字幕付与・縦型変換まで全自動化できます。一度パイプラインを構築すれば、夜間バッチで毎日コンテンツを量産できます。

どのVPSを選ぶか、使い方別の判断テーブルです:

あなたの状況おすすめ理由
まず試したい・費用固定で管理したいXServer VPS月2,200円固定、NVMe SSD、転送無制限。コスト計算不要
長期で安定稼働させたいさくらのVPS長期割引あり、国内トップクラスの安定性
「GPU VPSじゃないと無理」と思ってるどちらでも CPUプランで十分GPUは不要。faster-whisper + CPU + int8量子化で動く
自分のPCでやろうとしてるやめてVPSにした方がいい電源落とせない・手放しにならない・精神的コストが高い

費用感のまとめ:

  • XServer VPS 8GBプラン:月2,200円 = 1日あたり約73円
  • さくらのVPS 8GBプラン:月2,189円 = 1日あたり約73円
  • 1日20本の切り抜きを手作業でやった場合(1本30分):1日10時間作業

どう見ても月2,200円は安い。


このパイプライン、最初に構築するのに数時間かかるのは確かです。でもこれが「最終回答」じゃないんだから、まずは動かしてみてください。動かしてから「ここを変えたい」が出てくるのが普通で、そのときにまた調整すればいい。完璧な設計を目指して始めない方がいい。

XServer VPS →

さくらのVPS →

あわせて読みたい