1

なぜVorbisにコンテナが必要なのか疑問に思います。VorbisをOggコンテナまたはMatroskaコンテナに貼り付けることができることは知っていますが、ビデオやその他のマルチメディアとバンドルしない場合、Vorbisデータを独自のファイルにスタンドアロンにできないのはなぜですか?

誰かがこれをした経験がありますか?SOを検索する前にグーグルで検索したところ、oggvorbisメーリングリストで詳細が記載されていない言及が1つだけ見つかりました。

4

1 に答える 1

1

それは完全に可能です。Vorbisパケットをデコードできるようにするために、Vorbisパケットの長さ(ヘッダーかオーディオか)を事前に知る必要はありません。Oggラッパー(または代替ラッパー)がないと、いくつかのことを見逃してしまいますが、それらはアプリケーションにとって重要ではない可能性があります。

  • ページのチェックサム-ディスクまたは他のかなり信頼できるソースから読み取っている場合はそれほど重要ではありません
  • ページの粒度/最後のサンプルの位置-シークのパフォーマンスを向上させ、指定するのに役立ちます

ただし、次の方法で、oggファイルから純粋なVorbisバイトストリームを簡単に作成できます(Vorbisストリームが1つしかない場合)。

  1. 26バイトをスキップする
  2. n=1バイトを読み取る
  3. countOfBytesToReadn=次のバイトの合計
  4. countOfBytesToReadVorbisバイトストリームにバイトを読み込みます
  5. Oggファイルが使い果たされるまで1-4を繰り返します
于 2013-01-18T15:11:55.450 に答える