OGG/Vorbis ファイルフォーマットは http://www.vorbis.com/ で定義されており、 音質の劣化を最小限に抑えた圧縮オーディオストリームを提供する仕組みです。 この拡張モジュールは、PHP の URL ラッパ を Ogg Vorbis に対応させます。読み込みモードで使用した場合は、以下の表の 6 つの PCM エンコーディングフォーマットのうちひとつを用いて OGG/Vorbis 圧縮データを PCM オーディオに展開します。
設定ディレクティブは定義されていません。
oggvorbis は、一般的な PECL パッケージと同じ手順でインストールします。
$ pear install oggvorbis |
出来上がった oggvorbis.so を適切な場所にコピーし、 extension=oggvorbis.so を php.ini ファイルに 追加するか、スクリプト中で dl('oggvorbis.so'); を使用して動的に読み込みます。
表 1. OGG/Vorbis のチューニングオプション
オプション | 定義 | モード | デフォルト |
---|---|---|---|
pcm_mode | 使用する PCM バイトエンコーディング形式。以下の定数を参照ください。 | Read / Write | OGGVORBIS_PCM_S16_LE |
rate | PCM サンプリングレート。Hz 単位。 | Write only | 44100 |
bitrate | Vorbis 平均ビットレート(ABR)/ 可変ビットレート(VBR)。 bps 単位(ABR)あるいは品質レベル(VBR: 0.0 から 1.0)。 128000 ABR と 0.4 VBR がほぼ同じレベルです。 | Write only | 128000 |
channels | PCM チャネル数。1 == モノラル、2 == ステレオ。 | Write only | 2 |
serialno | ファイル内のストリームのシリアル番号。ファイル内で一意である必要が あります。連結したファイル内でシリアル番号が重複してしまう可能性が あるため、エンコードの際には手動で一意の番号を割り当てるよう注意して ください。 | Write only | Random |
comments | ファイルについてのコメントの連想配列。 strtoupper($name) . "=$value" 形式に変換されます。 注意: このオプションは、oggvorbis-0.1 では使用できません。 | Write only | array('ENCODER' => 'PHP/OggVorbis, http://pear.php.net/oggvorbis') |
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
表 2. OGG/Vorbis は、以下のフォーマットの PCM エンコーディングをサポートします
定数 | 定義 |
---|---|
OGGVORBIS_PCM_U8 | 符号なし 8 ビット PCM。 |
OGGVORBIS_PCM_S8 | 符号付き 8 ビット PCM。 |
OGGVORBIS_PCM_U16_LE | 符号なし 16 ビット PCM。リトルエンディアンバイトオーダー。 |
OGGVORBIS_PCM_U16_BE | 符号なし 16 ビット PCM。ビッグエンディアンバイトオーダー。 |
OGGVORBIS_PCM_S16_LE | 符号付き 16 ビット PCM。リトルエンディアンバイトオーダー。 |
OGGVORBIS_PCM_S16_BE | 符号付き 16 ビット PCM。ビッグエンディアンバイトオーダー。 |