このプロジェクトについて
Video-subtitle-extractor(VSE)は、動画に焼き込まれたハード字幕を外部字幕ファイル(SRTまたはTXT)に抽出するオープンソースツールです。Apache 2.0ライセンスで公開され、Python 3.12+で開発され、Windows、macOS、Linuxの3プラットフォームに対応しています。
コア処理フローは、動画からキーフレームを抽出し、フレーム内のテキスト位置を検出し、テキスト内容を認識し、非字幕領域をフィルタリングし、重複字幕行を除去し、最終的にタイムラインに同期したSRT字幕ファイルを出力します。プロジェクトにはvideo-subtitle-remover(VSR)も付属しており、ウォーターマーク、ロゴ、元動画のハード字幕の除去に使用できます。
機能のハイライト:
- 完全ローカルOCRで、百度や阿里などのサードパーティ製オンラインOCR APIの申請や呼び出しが不要で、プライバシーとコストをより制御可能。
- GPUアクセラレーション(CUDA、DirectML、ONNX)と純CPU実行に対応し、NVIDIA、AMD、Intel、Apple Siliconなどのハードウェアをカバー。
- 3つの認識モードを提供:高速(軽量モデル、速度は速いが文字落ちや誤字が若干ある可能性)、自動(ハードウェアに応じてモデルを自動選択、推奨)、高精度(フレームごとに検出、ほぼ文字落ちなしだが速度は非常に遅い)。
- 簡体字中国語、繁体字中国語、英語、日本語、韓国語、ベトナム語、アラビア語、フランス語、ドイツ語、ロシア語、スペイン語、ポルトガル語、イタリア語など87言語の字幕抽出に対応。
- バッチ抽出に対応。同一バッチの動画解像度と字幕領域が一致している必要があります。
- typoMap.json設定を提供し、認識結果のテキスト置換や段落全体の削除が可能。例えば「威筋」を「脅威」に置換したり、「セクシーディーラーのオンライン配信」のような広告テキストをクリアしたりできます。
- GUI(python gui.py)とCLI(python ./backend/main.py)の2つの使用方法を提供。GUIでは字幕領域を直接枠選択してワンクリックで実行可能。
デプロイメント面では、プロジェクトはRelease圧縮パッケージを提供しており、解凍して直接実行可能。ソースコードからのインストールは、まずPython仮想環境を作成し、ハードウェアに応じてCUDA 11.8 + cuDNN 8.6.0、DirectML、ONNX、CPUの4つの実行環境のいずれかを選択し、対応するバージョンのPaddlePaddle 3.3.1と依存関係をインストールする必要があります。動画とプログラムのパスに中国語やスペースが含まれないように注意してください。含まれると未知のエラーが発生する可能性があります。NVIDIA 50系グラフィックカードは、Paddle 3.3.1がCUDA 12.8をまだサポートしていないため、DirectML汎用バージョンの使用を推奨します。
プロジェクトはまた、複数のQQコミュニケーショングループを維持して質問に回答し、ユーザーにIssuesとDiscussionsで改善提案を提出することを奨励しています。全体的な位置付けは、個人ユーザーと字幕愛好家向けのローカルハード字幕抽出ツールであり、字幕がない、または字幕が焼き込まれた動画に編集可能な外部字幕を補うのに適しています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.