タグ

ブックマーク / eternalwindows.jp (2)

  • Id3v2の再生

    タグヘッダの最初の3バイトは常にID3となるため、 この値を確認すればId3v2形式かどうかを見極めることが可能となります。 ID3である場合、現在ヘッダの先頭を指しているポインタをサイズ分を加算すれば、 ポインタはMP3データを指すことになりますから、事実上このヘッダを解析するだけで、 Id3v2のMP3を再生することができてしまいます。 ただし、サイズの格納方法は少々複雑になっているため、 1つの例を挙げて先に考えておきたいと思います。 10000011 これは0x83という値を2進数で記したものですが、タグサイズにおける各1バイトには、 最上位ビットが常に0でなければならないという決まりがありました。 仮にタグサイズが0x83だった場合、上記のように最上位ビットが1であってはなりませんから、 次のように1ビット次のバイトへ移行して格納されることになっています。 00000001 00

    naga_sawa
    naga_sawa 2011/11/19
    MP3ファイル頭にID3v2タグが付いてる場合のフォーマット
  • フレームヘッダ

    上の表は、MPEGバージョンとサンプリングレートの関係を示しています。 ビットの列に書かれている2進数は実際にMP3データに含まれ、 たとえば、この値が01でバージョンがMPEG1だった場合、 サンプリングレートが48000Hzであるということを特定できることになります。 MPEG2は、MPEG1より高い圧縮率をサポートする規格でDVDなどに利用されています。 一般にMP3といえばそのバージョンはMPEG1を指しますが、 MPEG2のアルゴリズムに準じた場合でも拡張子はmp3となります。 ただし、動画における音声ではMPEG1の場合はMP3で圧縮が施されますが、 MPEG2の場合はAACという別の音声圧縮規格が利用されています。 MPEG Audioでは、圧縮に関わるもう1つの要素としてレイヤーが存在します。 レイヤーは1から3段階に別れ、Layer3が最も高い圧縮率を誇っています。 MP

    naga_sawa
    naga_sawa 2011/11/19
    MP3フレームヘッダの内容
  • 1