Skip to content

Tohoso/yt-short-bot

Repository files navigation

YouTube ショート自動投稿システム

Discordからのコマンドでテーマを受け取り、AIで文章を生成し、背景動画と合成してYouTubeショート動画を自動投稿するシステムです。

機能

  • Discordボットによるテーマ入力インターフェース
  • AIによる文章自動生成
  • FFmpegによる高品質な動画処理
  • 完全にカスタマイズ可能な字幕表示機能
  • 背景動画の自動クロップとトリミング
  • YouTubeへの自動アップロード(限定公開)
  • シンプルな6秒程度のテキスト表示ショート動画

セットアップ

  1. リポジトリをクローン
git clone https://github.com/yourusername/yt-short-bot.git
cd yt-short-bot
  1. 仮想環境の作成と有効化
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
  1. 必要なパッケージのインストール
pip install -r requirements.txt
  1. FFmpegのインストール

システムに合わせてFFmpegをインストールします。

macOS:

brew install ffmpeg

Ubuntu/Debian:

apt-get install ffmpeg

Windows: FFmpeg公式Websiteからダウンロードし、PATHに追加。

  1. 環境変数の設定

.env.exampleファイルを.envにコピーし、必要な情報を入力します。

  1. 認証情報の設定

credentials/ディレクトリに必要な認証情報ファイルを配置します。 詳細はcredentials/README.mdを参照してください。

  1. 背景動画の準備

assets/backgrounds/ディレクトリに使用したい背景動画(フリー素材)を配置します。

使い方

  1. メインスクリプトを実行
python main.py
  1. Discordで指定チャンネルに以下のようにテーマを送信
!shorts テーマ名
  1. システムが以下の処理を自動的に行います
    • AIによる文章生成
    • 字幕付き動画の作成
    • YouTubeに限定公開でアップロード
    • Discord上での結果通知

コード構成

  • main.py - メインアプリケーションエントリポイント
  • config.py - 設定ファイル

modules/

  • 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

About

yt-short-bot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages