Repolode
Vanilagy

Vanilagy/mediabunny

ブラウザーでMP4、WebM、MP3などの動画・音声ファイルを読み込み、書き込み、変換できる、依存関係ゼロのTypeScriptライブラリ。

スター
7,441
フォーク
339
未解決の Issue
53
最終コミット
昨日

これは何?

Mediabunnyは、MP4、WebM、MP3、HLSなどのメディアファイルをブラウザー上で直接読み込み、書き込み、変換できるJavaScriptライブラリです。依存関係を使わずTypeScriptで一から実装されており、コマンドラインでのメディア処理におけるFFmpegのアプローチに代わる、Webネイティブな選択肢として設計されています。

MOV、MKV、WAV、Ogg、FLAC、MPEG-TSなどのコンテナ形式のデマックスとマックスに対応し、動画・音声・字幕の25種類以上のコーデックをサポートします。エンコードとデコードにはWebCodecs APIを使用し、利用可能な環境ではハードウェアアクセラレーションを活用します。変換APIでは、トランスマックス、トランスコード、リサイズ、回転、クロップ、リサンプリング、トリミングを行えます。

ファイル処理はストリーミング方式のため、ファイル全体をメモリに読み込まずに大容量ファイルを処理できます。パッケージはtree-shakingに対応しており、圧縮後の最小バンドルサイズは約5 kBです。また、別パッケージの@mediabunny/serverを使えば、同じコードをNode、Bun、Denoでも実行できます。

主な機能

  • 01MP4、MOV、WebM、MKV、HLS、WAV、MP3、Ogg、ADTS、FLAC、MPEG-TSの読み込みと書き込みに対応。
  • 02WebCodecsによるハードウェアアクセラレーションを利用して、動画・音声・字幕の25種類以上のコーデックをサポート。
  • 03トランスマックス、トランスコード、リサイズ、クロップ、回転、トリミングに対応する変換APIを提供。
  • 04入力と出力をストリーミング処理し、あらゆるサイズのファイルを処理可能。
  • 05実行時の依存関係がなくtree-shakingに対応。圧縮後のサイズは約5 kBまで小さくできます。
  • 06ブラウザーで動作し、@mediabunny/serverを使えばNode、Bun、Denoでも実行できます。

ユースケース

  • ユーザーがアップロードした動画を、サーバーに送信する前にWebMまたはMP4へ変換する。
  • Webアプリでメディアファイルの再生時間、寸法、回転情報、メタデータタグを読み取る。
  • canvasのフレームからブラウザー上でMP4動画を生成する。
  • ブラウザーベースの動画エディターでクリップをトリミングまたはリサイズする。

クイックスタート

  1. 1

    npmからパッケージをインストールする

    npm install mediabunny
  2. 2

    Input、ALL_FORMATS、BlobSourceをインポートし、ファイルからメタデータを読み取る

使う前に知っておきたいこと

  • ブラウザーを対象としており、ハードウェアアクセラレーション対応コーデックにはWebCodecs APIを使用します。
  • 型の使用にはTypeScript 5.7以降が必要です。

トピック

#video#audio#webcodecs#typescript#media-processing#transcoding#browser#mp4#decoding#demuxing

よくある質問

mediabunny とは?
ブラウザーでMP4、WebM、MP3などの動画・音声ファイルを読み込み、書き込み、変換できる、依存関係ゼロのTypeScriptライブラリ。 Mediabunnyは、MP4、WebM、MP3、HLSなどのメディアファイルをブラウザー上で直接読み込み、書き込み、変換できるJavaScriptライブラリです。依存関係を使わずTypeScriptで一から実装されており、コマンドラインでのメディア処理におけるFFmpegのアプローチに代わる、Webネイティブな選択肢として設計されています。
mediabunny は無料で使えますか?ライセンスは?
mediabunny は MPL-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
mediabunny は今もメンテナンスされていますか?
活発にメンテナンス中。mediabunny の最終コミットは 2026年11月6日 です。
mediabunny は何に使えますか?
ユーザーがアップロードした動画を、サーバーに送信する前にWebMまたはMP4へ変換する。 Webアプリでメディアファイルの再生時間、寸法、回転情報、メタデータタグを読み取る。 canvasのフレームからブラウザー上でMP4動画を生成する。 ブラウザーベースの動画エディターでクリップをトリミングまたはリサイズする。
mediabunny のインストール方法は?
npmからパッケージをインストールする: npm install mediabunny Input、ALL_FORMATS、BlobSourceをインポートし、ファイルからメタデータを読み取る
mediabunny はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/Vanilagy/mediabunny

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト