🚀 ビデオクリップMCP
このプロジェクトは、AI MCPプロトコルに基づく専門的なビデオクリッピングツールで、効率的なビデオ処理能力と高度な操作体験を提供します。FFmpegを手動でインストールする必要はなく、すぐに使えます!

🚀 クイックスタート
このツールを使用するには、以下の手順に従ってインストールしてください。
グローバルインストール(推奨)
npm install -g @pickstar-2002/video-clip-mcp@latest
一時的な使用
npx @pickstar-2002/video-clip-mcp@latest
✨ 主な機能
- 🎯 高精度クリッピング - ミリ秒単位の精度でビデオをクリッピングできます。
- 🔗 自動結合 - 複数のビデオファイルをシームレスに結合し、フォーマットの違いを自動的に調整します。
- ✂️ 柔軟な分割 - 時間、サイズ、または分割数に基づいてビデオを分割できます。
- 📊 詳細情報取得 - ビデオのメタデータ分析とフォーマット検出を行います。
- 🚀 バッチ処理 - 大量のタスクを効率的に管理し、並列処理が可能です。
- 🎨 多様なフォーマット対応 - 主要なビデオフォーマットとコーデックをサポートします。
- 📈 タスクモニタリング - タスクの状態と進行状況をリアルタイムで追跡できます。
- 🛠️ 高度な設定可能 - 豊富なコーデックパラメータと品質設定が利用できます。
📦 インストール
MCPサーバーの設定
Claude Desktop
claude_desktop_config.jsonに以下を追加します。
{
"mcpServers": {
"video-clip": {
"command": "npx",
"args": ["@pickstar-2002/video-clip-mcp@latest"]
}
}
}
Cursor AI
.cursorrulesまたはプロジェクト設定に以下を追加します。
{
"mcp": {
"servers": {
"video-clip": {
"command": "npx @pickstar-2002/video-clip-mcp@latest"
}
}
}
}
WindSurf
windsurfconfig.jsonに以下を設定します。
{
"mcpServers": {
"video-clip": {
"command": "npx",
"args": ["@pickstar-2002/video-clip-mcp@latest"],
"env": {}
}
}
}
CodeBuddy
プロジェクトのルートディレクトリに.codebuddy/mcp.jsonを作成します。
{
"servers": {
"video-clip": {
"command": "npx @pickstar-2002/video-clip-mcp@latest",
"description": "🎬 ビデオクリッピングツール"
}
}
}
その他のMCP互換ツール
一般的な設定形式は以下の通りです。
{
"mcpServers": {
"video-clip": {
"command": "npx",
"args": ["@pickstar-2002/video-clip-mcp@latest"]
}
}
}
💻 使用例
基本的なビデオクリッピング
await clipVideo({
inputPath: "input.mp4",
outputPath: "output.mp4",
timeSegment: {
start: 10000,
end: 30000
},
quality: "fast",
videoCodec: "libx264"
});
ビデオの結合
await mergeVideos({
inputPaths: ["video1.mp4", "video2.mp4", "video3.mp4"],
outputPath: "merged.mp4",
quality: "medium",
resolution: { width: 1920, height: 1080 }
});
ビデオの分割
await splitVideo({
inputPath: "long_video.mp4",
outputDir: "./segments",
splitBy: "duration",
duration: 60,
namePattern: "segment_{index}.{ext}"
});
バッチ処理
const tasks = [
{
type: "clip",
options: {
inputPath: "video1.mp4",
outputPath: "clip1.mp4",
timeSegment: { start: 0, end: 30000 }
}
},
{
type: "clip",
options: {
inputPath: "video2.mp4",
outputPath: "clip2.mp4",
timeSegment: { start: 10000, end: 40000 }
}
}
];
await batchProcess({ tasks });
📚 ドキュメント
サポートされるフォーマット
ビデオフォーマット
- 入力フォーマット: MP4、AVI、MOV、MKV、WebM、FLV、3GP、WMV
- 出力フォーマット: MP4、AVI、MOV、MKV、WebM
ビデオコーデック
- H.264 (libx264) - 最も一般的な互換性があります。
- H.265 (libx265) - 高い圧縮率で、ファイルサイズが小さくなります。
- VP9 (libvpx - vp9) - オープンソースのコーデックで、ネットワーク配信に適しています。
- AV1 (libaom - av1) - 次世代のコーデックで、非常に高い圧縮効率を持ちます。
オーディオコーデック
- AAC - 高品質のオーディオコーデックです。
- MP3 (libmp3lame) - 一般的な互換性があります。
- Opus (libopus) - 低遅延で高品質のオーディオコーデックです。
- Vorbis (libvorbis) - オープンソースのオーディオコーデックです。
システム要件
Node.jsバージョン
- 最低要件: Node.js 18.0.0以上
- 推奨バージョン: Node.js 20.0.0以上
システム依存関係
- FFmpeg: 自動的にインストールされます(@ffmpeg - installer/ffmpegパッケージを使用)
- オペレーティングシステム: Windows 10以上、macOS 10.15以上、Linux(Ubuntu 18.04以上)
推奨ハードウェア構成
- CPU: 4コア以上、ハードウェアアクセラレーションに対応していることが望ましい。
- メモリ: 8GB RAM以上
- ストレージ: SSDハードディスク、少なくとも2GBの空き容量が必要。
- GPU: ハードウェアエンコードに対応したグラフィックカード(オプション)
APIドキュメント
コアインターフェース定義
interface VideoClipOptions {
inputPath: string;
outputPath: string;
timeSegment: {
start: number;
end: number;
};
quality?: 'ultrafast' | 'fast' | 'medium' | 'slow' | 'veryslow';
videoCodec?: 'libx264' | 'libx265' | 'libvpx-vp9' | 'libaom-av1';
audioCodec?: 'aac' | 'libmp3lame' | 'libopus' | 'libvorbis';
preserveMetadata?: boolean;
}
interface MergeVideosOptions {
inputPaths: string[];
outputPath: string;
quality?: string;
videoCodec?: string;
audioCodec?: string;
resolution?: { width: number; height: number };
fps?: number;
}
interface SplitVideoOptions {
inputPath: string;
outputDir: string;
splitBy: 'duration' | 'size' | 'segments';
duration?: number;
maxSize?: number;
segmentCount?: number;
namePattern?: string;
}
interface VideoInfo {
duration: number;
width: number;
height: number;
fps: number;
bitrate: number;
format: string;
codec: string;
size: number;
}
interface TaskStatus {
id: string;
type: 'clip' | 'merge' | 'split';
status: 'pending' | 'processing' | 'completed' | 'failed';
progress?: number;
createdAt: string;
completedAt?: string;
error?: string;
result?: any;
}
主なメソッド
getVideoInfo(filePath: string): Promise<VideoInfo>
clipVideo(options: VideoClipOptions): Promise<string>
mergeVideos(options: MergeVideosOptions): Promise<string>
splitVideo(options: SplitVideoOptions): Promise<string[]>
batchProcess(tasks: BatchTask[]): Promise<string[]>
getTaskStatus(taskId: string): Promise<TaskStatus>
cancelTask(taskId: string): Promise<boolean>
getSupportedFormats(): Promise<SupportedFormats>
🔧 技術詳細
よくある問題と解決策
1. 🔄 Connection closedエラー
問題の説明: npxを使用する際に接続が閉じられるエラーが発生する。
解決策(推奨順):
a. 最初の選択肢 - @latestタグを使用
npx @pickstar-2002/video-clip-mcp@latest
b. 代替案 - 特定のバージョンを固定
npx @pickstar-2002/video-clip-mcp@1.2.0
c. 最終手段 - npxキャッシュをクリア
npx clear-npx-cache
rmdir /s "%APPDATA%\npm-cache\_npx"
npx clear-npx-cache
rm -rf ~/.npm/_npx
2. 🎬 FFmpeg関連のエラー
問題の説明: FFmpegの実行に失敗したり、見つからない場合がある。
解決策:
- このツールにはFFmpegが組み込まれているため、手動でインストールする必要はありません。
- 問題が依然として発生する場合は、ネットワーク接続を確認してください(初回使用時にFFmpegをダウンロードする必要があります)。
- 十分なディスク容量があることを確認してください(少なくとも100MB)。
3. 📁 ファイルパスの問題
問題の説明: 入力または出力ファイルのパスが正しくない。
解決策:
- 相対パスではなく絶対パスを使用してください。
- パスに特殊文字が含まれていないことを確認してください。
- Windowsユーザーは、正斜線
/またはダブルバックスラッシュ\\を使用してください。
4. 🔧 権限の問題
問題の説明: ファイルの読み書き権限がない。
解決策:
- 入力ファイルに対する読み取り権限があることを確認してください。
- 出力ディレクトリに対する書き込み権限があることを確認してください。
- Windowsユーザーは、管理者権限で実行する必要がある場合があります。
5. 💾 メモリ不足
問題の説明: 大きなファイルを処理する際にメモリが不足する。
解決策:
- ビデオの品質設定を下げてください。
- 大きなファイルを分割して処理してください。
- システムの仮想メモリを増やしてください。
サポートを受ける方法
上記の解決策で問題が解決しない場合は、以下の手順に従ってください。
- 📋 エラー情報とシステム環境を収集します。
- 🐛 GitHub Issuesに問題を報告します。
- 💬 開発者に連絡します(下記の連絡先を参照)。
🤝 貢献ガイド
私たちはあらゆる形の貢献を歓迎します!以下の手順に従ってください。
- このリポジトリをForkします。
- 新しい機能ブランチを作成:
git checkout -b feature/amazing-feature
- 変更をコミット:
git commit -m 'Add amazing feature'
- ブランチをプッシュ:
git push origin feature/amazing-feature
- Pull Requestを送信
開発環境のセットアップ
git clone https://github.com/pickstar-2002/video-clip-mcp.git
cd video-clip-mcp
npm install
npm run build
npm run dev
📄 ライセンス
このプロジェクトはMIT Licenseのオープンソースライセンスの下で公開されています。自由に使用、変更、配布することができます。
🙏 謝辞
以下のオープンソースプロジェクトとコミュニティのサポートに感謝します。
🌟 プロジェクトのサポート
このプロジェクトが役立った場合は、以下のことをお願いします。
- ⭐ プロジェクトにスターを付ける
- 🐛 問題や提案を報告する
- 🔄 他の開発者に共有する
一緒により良いビデオ処理ツールを作りましょう!🚀
📞 連絡先
微信: pickstar_loveXX