mcpField
T
transcribe-video

transcribe-video

github.com/feiskyerクリエイティブ・メディア15236 回インストール28 週間前に更新
リポジトリ

transcribe-video について

transcribe-videoは、ローカル動画から文字起こしを作成するスキルです。埋め込み字幕を優先し、字幕がない場合はAPIで音声認識を行い、整形したテキストを動画と同じ場所に保存します。

主な機能

  1. 01埋め込み字幕トラックの検出
  2. 02字幕の抽出とテキスト整形
  3. 03必要に応じたAPI音声文字起こし
  4. 04動画と同じ場所へのテキスト保存

活用シーン

  1. 01字幕付き動画からテキストを抽出
  2. 02埋め込み字幕のない動画を文字起こし

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/feiskyer/video-skills --skill transcribe-video

インストール後、Claude Code で/transcribe-videoを入力して読み込まれたか確認します。

同梱ファイルscripts/transcribe.py

詳細

動画の文字起こし

ローカルの動画ファイルから文字起こしテキストを抽出します。このスキルでは、まず埋め込み字幕を確認します(より高速で正確なため)。字幕が見つからない場合にのみ、API ベースの音声認識に切り替えます。

Step 1: 動画ファイルを特定する

ユーザーに動画ファイルのパスを確認します。対応形式:mp4、mkv、mov、avi、webm、および ffmpeg で処理できるすべての形式。

Step 2: 埋め込み字幕を確認する

ffprobe -v quiet -select_streams s -show_entries stream=index,codec_name:stream_tags=language,title -of json "<video_path>"
  • 字幕ストリームがある場合 → Step 3a(埋め込み字幕を抽出)へ進みます
  • 字幕ストリームがない場合 → Step 3b(API による文字起こし)へ進みます

Step 3a: 埋め込み字幕を抽出する

字幕トラックが複数ある場合は、動画の主な言語に一致するものを優先するか、ユーザーに使用するトラックを確認します。

# Extract as SRT (stream index 0 for first subtitle track; adjust if needed)
ffmpeg -i "<video_path>" -map 0:s:0 -c:s srt "<output_path>.srt" -y

抽出後、SRT を整形済みテキストに変換します:

  • シーケンス番号を削除します
  • タイムスタンプ行(\d{2}:\d{2}:\d{2} に一致する行)を削除します
  • HTML のようなタグ(<i>、</i> など)を削除します
  • 残った空でない行を結合します

整形済みの文字起こしを、動画ファイルと同じ場所に <video_name>.txt として保存します。これで完了です。Step 3b はスキップしてください。

Step 3b: API による文字起こし

同梱の文字起こしスクリプトを使用します。スクリプトは ~/.transcribe_video.env から認証情報を読み込みます。

前提条件の確認
  1. 環境設定ファイルが存在することを確認します:

    test -f ~/.transcribe_video.env && echo "OK" || echo "MISSING"
    
  2. 存在しない場合は、~/.transcribe_video.env を作成し、次の内容を記述するようユーザーに伝えます:

    OPENAI_API_KEY=your-key-here
    # Optional Base URL:
    # OPENAI_API_BASE=https://<base-url>/v1/
    # Optional Model Name:
    # TRANSCRIBE_MODEL=gpt-4o-transcribe
    

    続行する前に、ユーザーの確認を待ちます。

  3. 依存関係を確認します:

    python3 -c "from openai import OpenAI; from dotenv import load_dotenv; print('OK')" 2>&1
    

    不足している場合:pip install openai python-dotenv

文字起こしを実行する
python3 <skill_directory>/scripts/transcribe.py "<video_path>"

スクリプトは音声を抽出して(WAV、16kHz モノラル)、API に送信し、動画ファイルと同じ場所に <video_name>.txt として文字起こしを保存します。

Step 4: 結果を報告する

ユーザーに次の内容を伝えます:

  • 文字起こしファイルの保存場所
  • 行数/おおよその単語数
  • 埋め込み字幕と API による文字起こしのどちらを使用したか
  • プレビューとして冒頭の数行を表示します

コメント