ソースコード

Kotlin/Wasm + Next.js で出来た WebM ツール

JavaScript の MediaRecorder で作った WebM をシーク可能な WebM ファイルに修正したり出来ます。

処理はすべてブラウザ側の JavaScript + Wasm で完結します。

MediaRecorder で画面録画する

JavaScript の MediaRecorder で画面録画するだけです。

そのままではシークできないので、下のツールを使ってください。

JavaScript の MediaRecorder で作った WebM をシーク可能な WebM ファイルに修正する

Kotlin で書いた処理を Wasm にして呼び出しています。ブラウザ内で完結します。

WebM ファイルを逆再生して保存する

WebCodecs を使って、逆からフレームを取り出して再エンコードします。

コンテナフォーマット(.webm)の読み書きは Kotlin で書いたものを Wasm で呼び出しています。

コンテナフォーマットが WebM、映像コーデックが VP9、音声コーデックが Opus である必要があります。。