Kaka カカ字幕アシスタント
音声認識、字幕のセグメンテーション、最適化、翻訳をサポートするLLM駆動のビデオ字幕処理アシスタント。
Kaka 字幕アシスタント(VideoCaptioner)は操作が簡単で、高性能なハードウェアを必要としません。音声認識のためのオンラインAPI呼び出しとローカルオフライン処理(GPUサポートあり)の両方をサポートしています。大規模言語モデル(LLM)を活用して、インテリジェントな字幕のセグメンテーション、修正、翻訳を行います。ビデオ字幕のワークフロー全体をワンクリックで解決します!あなたのビデオに素晴らしい字幕を追加しましょう。
最新バージョンでは、VAD、ボーカル分離、単語レベルのタイムスタンプ、バッチ字幕処理、その他の実用的な機能をサポートしています。

14分の1080P Bilibiliの英語TEDビデオをエンドツーエンドで処理し、ローカルWhisperモデルを使用して音声認識を行い、gpt-4o-miniモデルを使用して中国語に最適化および翻訳するのに約3分かかりました。
バックエンドの計算に基づくと、モデルの最適化と翻訳のコストは¥0.01未満でした(OpenAIの公式価格を使用して計算)。
字幕とビデオ合成の詳細な結果については、TEDビデオテストを参照してください。
このソフトウェアは軽量で、パッケージサイズは60MB未満であり、必要な環境がすべて含まれています。ダウンロードして直接実行できます。
リリースページから最新バージョンの実行ファイルをダウンロードします。または:Lanzou Cloud Download
インストーラーを開いてインストールします。
(オプション)LLM API設定、字幕の最適化または翻訳を有効にするかどうかを選択します。
ソフトウェアウィンドウにビデオファイルをドラッグアンドドロップして、完全自動処理を行います。
注意:各ステップは独立した処理とファイルのドラッグアンドドロップをサポートしています。
開発者がMacを持っていないため、MacOSでのテストとパッケージ化ができません。MacOS用の実行ファイルは一時的に利用できません。
Macユーザーは、ソースコードをダウンロードし、Pythonの依存関係をインストールして実行してください。(ローカルWhisper機能は現在MacOSではサポートされていません。)
brew install ffmpeg brew install aria2 brew install python@3.**
git clone https://github.com/WEIFENG2333/VideoCaptioner.git
cd VideoCaptioner
python3.** -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python main.py
現在のアプリケーションは比較的基本的なものです。PRの貢献を歓迎します。
git clone https://github.com/WEIFENG2333/VideoCaptioner.git
cd VideoCaptioner
docker build -t video-captioner .
カスタムAPI設定で実行:
docker run -d \
-p 8501:8501 \
-v $(pwd)/temp:/app/temp \
-e OPENAI_BASE_URL="Your API address" \
-e OPENAI_API_KEY="Your API key" \
--name video-captioner \
video-captioner
ブラウザを開いて、http://localhost:8501にアクセスしてください。
このソフトウェアは、大規模言語モデル(LLM)の文脈理解の利点を最大限に活用し、音声認識で生成された字幕をさらに処理します。誤字を効果的に修正し、用語を統一し、字幕の内容をより正確で一貫性のあるものにし、ユーザーに優れた視聴体験を提供します!
| 設定項目 | 説明 |
|---|---|
| 内蔵モデル | ソフトウェアには基本的な大規模言語モデル(gpt-4o-mini)が含まれており、設定なしで使用可能です(公共サービスは不安定です)。 |
| APIサポート | 標準のOpenAI API形式をサポート。 SiliconCloud、DeepSeek、Ollamaなどと互換性があります。 設定方法については、設定ドキュメントを参照してください。 |
推奨モデル:より高品質を求める場合は、Claude-3.5-sonnetまたはgpt-4oを選択してください。
Whisperには2つのバージョンがあります:WhisperCppとfasterWhisper(推奨)。後者はより良いパフォーマンスを持ち、どちらもソフトウェア内でモデルをダウンロードする必要があります。
| モデル | ディスク容量 | メモリ使用量 | 説明 |
|---|---|---|---|
| Tiny | 75 MiB | ~273 MB | トランスクリプションは平均的で、テストのみを目的としています。 |
| Small | 466 MiB | ~852 MB | 英語の認識はすでに良好です。 |
| Medium | 1.5 GiB | ~2.1 GB | 中国語の認識にはこのバージョンが最低限推奨されます。 |
| Large-v1/v2 👍 | 2.9 GiB | ~3.9 GB | 良好なパフォーマンスを持ち、設定が許すなら推奨されます。 |
| Large-v3 | 2.9 GiB | ~3.9 GB | コミュニティのフィードバックによると、幻覚/字幕の繰り返しの問題がある可能性があります。 |
推奨モデル:Large-v1は安定しており、品質が良好です。
注意:上記のモデルは、ソフトウェア内で直接ダウンロード可能で、国内ネットワークを使用し、GPUと統合グラフィックスの両方をサポートしています。
| タイプ | 説明 | 例 |
|---|---|---|
| 用語集 | 用語、名前、特定の単語の修正表。 | 机器学习->Machine Learning 马斯克->Elon Musk 打call -> Cheer on Turing patterns Bus paradox |
| 元の字幕テキスト | ビデオの元の原稿または関連するコンテンツ。 | 完全なスピーチスクリプト、講義ノートなど。 |
| 修正要件 | コンテンツに関連する特定の修正要件。 | 人称代名詞の統一、用語の標準化など。 コンテンツに関連する要件を記入してください。例の参照 |
| インターフェース名 | 対応言語 | 実行方式 | 説明 |
|---|---|---|---|
| インターフェースB | 中国語、英語 | オンライン | 無料、高速 |
| インターフェースJ | 中国語、英語 | オンライン | 無料、高速 |
| WhisperCpp | 中国語、日本語、韓国語、英語、その他99の言語。外国語に対して良好なパフォーマンス。 | ローカル | (実際の使用は不安定)トランスクリプションモデルのダウンロードが必要。 中国語:中型以上のモデルを推奨。 英語など:小型モデルでも良好な結果が得られます。 |
| fasterWhisper 👍 | 中国語、英語、その他99の言語。外国語に対して優れたパフォーマンス、より正確なタイムライン。 | ローカル | (🌟非常に推奨🌟)プログラムとトランスクリプションモデルのダウンロードが必要。 CUDAをサポートし、より高速で正確なトランスクリプション。 非常に正確なタイムスタンプ字幕。 これを優先して使用してください。 |
URLダウンロード機能を使用する際に以下の状況に遭遇した場合:
cookies.txtファイルをソフトウェアのインストールディレクトリのAppDataディレクトリに配置して、高品質のビデオを通常通りダウンロードしてください。プログラムの簡単な処理フローは以下の通りです:
音声認識 -> 字幕セグメンテーション(オプション) -> 字幕の最適化と翻訳(オプション) -> 字幕とビデオの合成
ソフトウェアをインストールした後の主なディレクトリ構造は以下の通りです:
VideoCaptioner/ ├── runtime/ # ランタイム環境ディレクトリ(変更しないでください) ├── resources/ # ソフトウェアリソースファイルディレクトリ(バイナリ、アイコンなど、およびダウンロードされたfaster-whisperプログラム) ├── work-dir/ # 作業ディレクトリ、処理されたビデオと字幕ファイルが保存されます ├── AppData/ # アプリケーションデータディレクトリ ├── cache/ # キャッシュディレクトリ、トランスクリプションと大規模モデルのリクエストデータをキャッシュします。 ├── models/ # Whisperモデルファイルを保存 ├── logs/ # ログディレクトリ、ソフトウェアの実行状態を記録 ├── settings.json # ユーザー設定を保存 └── cookies.txt # ビデオプラットフォームのcookie情報(高解像度ビデオのダウンロードに必要) └── VideoCaptioner.exe # メインプログラム実行ファイル
字幕セグメンテーションの品質は視聴体験にとって非常に重要です。このため、SubtitleSpliterを開発しました。これは、単語ごとの字幕を自然言語の習慣に従って段落に再編成し、ビデオフレームと完全に同期させることができます。
処理中、タイムライン情報なしでテキストコンテンツのみが大規模言語モデルに送信され、処理のオーバーヘッドが大幅に削減されます。
翻訳段階では、Andrew Ngが提案した「翻訳-反映-翻訳」手法を採用しています。この反復的な最適化方法は、翻訳の正確性を保証します。
作者は大学3年生で、個人の能力とプロジェクトにはまだ多くの改善の余地があります。プロジェクトは継続的に改善中で、使用中にバグに遭遇した場合は、Issueの提出とPull Requestによるプロジェクト改善へのご協力をお願いします。
このプロジェクトがお役に立てましたら、Starを付けていただけると幸いです。それが私にとって最大の励みとサポートになります!