このプロジェクトについて
Symphoniaは、純Rust製のオーディオデコードおよびメディアデマルチプレックスライブラリです。Cライブラリに依存せずに、一般的なメディアコンテナフォーマットの読み取り、メタデータとタグの抽出、オーディオストリームのデコードを必要とするアプリケーション向けに設計されています。
サポートされているコンテナフォーマットには、AIFF、CAF、ISO/MP4、MKV/WebM、OGG、Waveが含まれます。サポートされているオーディオコーデックには、AAC-LC、ADPCM、ALAC、FLAC、MP1、MP2、MP3、PCM、Vorbisが含まれます。Opus、WavPack、HE-AACバリアントなど、一部のコーデックとフォーマットはまだ開発中です。このプロジェクトでは、個々のフォーマットとコーデックに別々のクレートを使用し、フィーチャーフラグでコンパイルするコンポーネントを制御します。デフォルトでは、ロイヤリティフリーのオープン標準コーデックとフォーマットのみが有効ですが、`all`フィーチャーフラグで全てを有効にできます。
メタデータとタグのサポートは、APEv1、APEv2、ID3v1、ID3v2、ISO/MP4、RIFF、FLACおよびOGGのVorbisコメントをカバーしています。ライブラリはまた、オーディオデータを効率的に操作するための基本的なオーディオプリミティブも提供します。
Symphoniaは安全性と正確性を重視しています。100%安全なRustで書かれており、サービス拒否攻撃の防止を目指し、ファズテストが実施されています。プロジェクトはまた、デバッグ用のツールも提供しています:`symphonia-play`はメディアストリームのプロービング、デコード、検証、再生用で、`symphonia-check`はデコードされた出力を他のデコーダーと照合して検証します。
ライブラリはモジュール式で、サードパーティのデマルチプレクサーとデコーダーの登録が可能です。既存のサードパーティアダプターには、libfdk-aacを介したAACバリアント用の`symphonia-adapter-fdk-aac`と、libopusを介したOpus用の`symphonia-adapter-libopus`が含まれます。
SymphoniaはMPL v2.0ライセンスの下で提供されています。0.6.xリリースの最小サポートRustバージョンは1.85です。主著者はPhilip Deljanovで、プロジェクトは貢献を歓迎しています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.