CLIツール
wassgha/rescript avatar
wassgha/rescript

rescriptは文字起こしを軸に動画と音声を切る

プロジェクト概要:ブラウザー内で動作する、オープンソースのトランスクリプトベースのビデオ/オーディオ エディター。

スター 891フォーク 100TypeScriptNOASSERTION

ひと目でわかる

これは何?
端末内で文字起こしを行い、単語を削除して映像を編集するブラウザーとデスクトップ向けメディアエディターを、処理経路と運用条件から確認する。
誰に向いている?
rescriptは、話し言葉を探しながら動画やポッドキャストを切りたい個人制作者に合います。処理は端末内で行われる設計ですが、初回にHugging FaceからAIモデルを取得し、匿名利用統計とクラッシュレポートも既定で送るため、組織の情報管理にそのまま当てはめることはできません。
商用利用できる?
まず確認が必要です。このリポジトリのライセンスは自動分類の対象外なので、商用利用の前に LICENSE ファイルを読んでください。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に TypeScript です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

文字を消す操作がメディアのカットになる

rescriptは、動画または音声を読み込み、単語ごとの時刻と話者ラベルを持つ文字起こしを作るエディターです。文字起こし上で不要な単語を削除すると、対応する元メディアの区間がカットされます。映像をタイムライン上で探し回る代わりに、発言を読んで編集点を決めるのが中心の考え方です。READMEはブラウザー版とデスクトップ版を案内し、ファイルが端末から出ない設計だと説明しています。

文字と映像が同じ時刻情報を持つため、単語単位の編集が入口になります。Whisperの整列がずれたときは、単語の左右の境界を拡大してドラッグできます。単語の境界だけで足りない箇所には、再生ヘッドでの分割やクリップ端の調整も用意されています。自動文字起こしを最終編集の唯一の根拠にせず、プレビューで音声と映像を確認しながら直す用途として読むのが適切です。

文字起こしはWeb Workerと二つのWhisperモデルで動く

処理の流れは、ffmpeg.wasmで音声トラックをモノラル16kHzのPCMへ取り出し、Web Worker上でWhisperを動かし、pyannoteのモデルで各単語へ話者を割り当てる構成です。ホーム画面ではWhisper Base、Whisper Small、既存のSRT、VTT、JSON字幕ファイルのいずれかを選べます。自分で文字起こしを用意すればWhisperを省いて編集へ進める設計です。

READMEが示すモデルはwhisper-base_timestampedとwhisper-small_timestampedで、WebGPUを使える環境ではそれを利用し、使えない場合はWASMへフォールバックするとされています。初回の文字起こしではモデルをHugging Face Hubからダウンロードし、ブラウザーまたはアプリの保存領域へキャッシュするとREADMEの注記にあります。モデルのサイズ、端末のGPU、ブラウザーの保存容量によって初回時間と実行感は変わるため、オフラインという説明をネットワーク通信が一切ないという意味に拡張してはいけません。

タイムラインは文字、波形、カット範囲を重ねて見る

タイムラインには波形、単語バー、時刻を動かせるハンドル、分割位置、再生ヘッドが表示されます。スクロールで拡大し、横方向のスクロールで範囲を移動できます。削除した単語から作られたカット範囲は赤で表示され、ライブプレビューでは再生がその部分を飛ばします。編集結果を停止してから書き出す前に、実時間の再生で流れを確かめられる仕組みです。

Filler removalはumやuhなどのフィラーを一括で切り、Silence removalは0.3秒以上の無音や間を対象にします。便利な一括処理ですが、間や言いよどみが表現として必要なインタビューでは、機械的に削ると話者の印象が変わります。切った端をドラッグしてWhisperの時刻から独立して調整し、ダブルクリックで戻せるという操作も含め、最終判断はプレビューで行うべきです。

書き出し先は動画、音声、字幕、NLEまで広い

保持する区間はffmpegのフィルターグラフで切り出して連結し、libx264とaacで再エンコードされます。READMEは単語に近い精度のカットを掲げ、動画はMP4またはWebM、720pから4K、音声はM4A、MP3、WAVへ書き出せると列挙しています。テキストはTXTとMarkdown、字幕はSRT、VTT、JSONに出力できます。音声ファイルも動画と同じ編集モデルで扱えるため、ポッドキャスト、音声メモ、インタビューが対象になります。

編集結果を別の制作環境へ渡す場合は、DaVinci Resolve、Premiere、Final Cutのタイムライン、Pro ToolsやLogic向けのAAFを書き出せます。これによりrescriptだけで完成させず、別のNLEで画面演出や音の調整を続ける経路ができます。READMEに対応形式はありますが、各形式でのメタデータ保持、トランジション、色、複雑な音声構成まで保証する説明はありません。制作工程に組み込む前に、実際の素材と目的のNLEで往復を確認してください。

ブラウザー版とElectron版で準備が異なる

WebアプリはChromium系ブラウザーが推奨され、SharedArrayBufferを使うためCOOPとCOEPヘッダーが必要です。推論はWebGPUを優先し、利用できない場合はWASMへ切り替わります。デスクトップ版はElectronにChromiumを同梱し、appプロトコルでも同じ分離用ヘッダーを設定するとREADMEは説明しています。ブラウザー版で動かなければ、コードの問題と決め付ける前に、ブラウザーの対応、配信ヘッダー、GPU機能を切り分ける必要があります。

デスクトップ版はmacOS、Windows、Linux向けで、Macでは署名と公証済みと案内されています。公開リリースはGitHub Releasesから自動更新される一方、開発用のdistは未署名のインストーラーを作る手順です。開発者向けにはNext.js、React、TypeScript、Tailwind、Electron、zustandを使う構成が示されています。READMEのスタック表は構成を説明しますが、各版の互換表や長期サポート期間までは示していません。

端末内処理とテレメトリーを別々に評価する

rescriptは認証なし、アップロードなし、メディア処理は端末内という方針を掲げています。これは編集対象の動画ファイルをサービスへ送らないという設計上の利点です。ただし、AIモデルの初回取得、リリースの更新、クラッシュ報告はメディア処理とは別の通信経路です。READMEによれば、既定では匿名の利用統計とクラッシュレポートを送り、クラッシュ情報にはスタックトレース、アプリ版、プラットフォームが含まれます。

SettingsのPrivacyにあるHelp improve the appから両方を無効にでき、READMEはそのインストール環境で直ちに永続的に止まると説明しています。組織で使うなら、この設定が管理対象端末へどう反映されるか、Sentryへの送信を許可できるかを確認します。プライバシーの説明だけで機密素材の利用可否を決めず、端末保存領域、モデルキャッシュ、ログの実体を導入前に点検するのが妥当です。

開発者向けコマンドと現在のライセンス

開発手順は、依存関係をnpm installで導入し、npm run devでNext.jsのWeb開発サーバー、npm run electron:devでElectronシェル、npm run buildでWeb本番ビルド、npm run distでデスクトップ配布物を作る流れです。ffmpegとonnxruntimeのWASMをpublic/vendorへコピーする処理もnpm installに含まれるとREADMEにあります。署名、パッケージング、リリース作成はRELEASING.mdへ分けられています。

メタデータにはMITとありますが、現在のREADMEはPolyForm Noncommercial License 1.0.0で、非商用の利用、改変、共有に限ると明記しています。料金を取る再配布などの商用利用には許可が必要で、作者へ連絡するよう案内されています。MITで公開された過去のリリースは、その版に限ってMITのまま利用できるという説明もあります。採用時はリポジトリのメタデータだけで判断せず、対象リリースのLICENSEとREADMEを確認してください。

rescriptを導入する前に切り分ける項目

このプロジェクトは、語句単位で編集点を探す作業、ローカルでモデルを動かしたい作業、最終結果を字幕やNLEへ渡す作業に適しています。反対に、共同編集サービス、サーバー側の大量変換、細かな色補正、商用再配布を最初から前提にする場合、READMEだけでは必要条件を満たすと判断できません。端末のGPUとメモリ、SharedArrayBuffer、保存容量、入力形式、書き出し先を最初に一覧化します。

試験では短い動画、話者が複数いる音声、フィラーと無音を含む素材、既存字幕の四つを用意すると、文字精度と話者分離、カット境界、書き出し結果を別々に見られます。テレメトリーを切った場合の挙動、モデルの初回取得、オフライン時の編集も確認します。READMEは教育用のサンプルではなく実アプリの機能を説明していますが、実機の性能、運用保証、互換性の完全な記録までは提供していません。

編集部の結論

rescriptは、話し言葉を探しながら動画やポッドキャストを切りたい個人制作者に合います。処理は端末内で行われる設計ですが、初回にHugging FaceからAIモデルを取得し、匿名利用統計とクラッシュレポートも既定で送るため、組織の情報管理にそのまま当てはめることはできません。商用利用を考える場合は現行ライセンスを確認し、まず実素材で文字精度、書き出し時間、モデル保存先を検証してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート