Discordからのコマンドでテーマを受け取り、AIで文章を生成し、背景動画と合成してYouTubeショート動画を自動投稿するシステムです。
- Discordボットによるテーマ入力インターフェース
- AIによる文章自動生成
- FFmpegによる高品質な動画処理
- 完全にカスタマイズ可能な字幕表示機能
- 背景動画の自動クロップとトリミング
- YouTubeへの自動アップロード(限定公開)
- シンプルな6秒程度のテキスト表示ショート動画
- リポジトリをクローン
git clone https://github.com/yourusername/yt-short-bot.git
cd yt-short-bot- 仮想環境の作成と有効化
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate- 必要なパッケージのインストール
pip install -r requirements.txt- FFmpegのインストール
システムに合わせてFFmpegをインストールします。
macOS:
brew install ffmpegUbuntu/Debian:
apt-get install ffmpegWindows: FFmpeg公式Websiteからダウンロードし、PATHに追加。
- 環境変数の設定
.env.exampleファイルを.envにコピーし、必要な情報を入力します。
- 認証情報の設定
credentials/ディレクトリに必要な認証情報ファイルを配置します。
詳細はcredentials/README.mdを参照してください。
- 背景動画の準備
assets/backgrounds/ディレクトリに使用したい背景動画(フリー素材)を配置します。
- メインスクリプトを実行
python main.py- Discordで指定チャンネルに以下のようにテーマを送信
!shorts テーマ名- システムが以下の処理を自動的に行います
- AIによる文章生成
- 字幕付き動画の作成
- YouTubeに限定公開でアップロード
- Discord上での結果通知
main.py- メインアプリケーションエントリポイントconfig.py- 設定ファイル
text_generator.py- AIを使ってテキストを生成video_creator.py- 動画生成の中心処理ffmpeg_handler.py- FFmpegコマンド処理subtitle_utils.py- 字幕生成ユーティリティyoutube_uploader.py- YouTube APIを使って動画アップロードdiscord_bot.py- Discordとの連携処理
生成されたテキストは、FFmpegのdrawtextフィルターを使用して動画に直接描画されます。以下のパラメータがカスタマイズ可能です:
- フォントサイズ
- テキストの色
- 背景ボックスの不透明度
- テキストの配置と間隔
MIT