忘備録

年をとると忘れやすくなる。過去、これからのことを書き綴る。

着うたフル奮闘記(#8)

2006-01-11 15:13:42 | Weblog
前回に続き、、

stbl -> sample (framing info) table box
[000000] 00 00 41 8E 73 74 62 6C
$00-03 size 0x0000418E(16782)
$04-07 name 0x7374626C(stbl)

stts -> time to sample (frame timing) box
[000000] 00 00 00 18 73 74 74 73 00 00 00 00 00 00 00 01
[000010] 00 00 0E C2 00 00 04 00
$00-03 sise 0x00000018(24)
$04-07 name 0x73747473(stts)
$08 version 0x00(0)
$09-0B flags 0x000000(0)
$0C-0F number of times 0x00000001(1)
$10-13 framing rate count 0x00000EC2(3778)
$14-17 duration 0x00000400(1024)

stsd -> sample (frame encoding) description box
[000000] 00 00 00 6A 73 74 73 64 00 00 00 00 00 00 00 01
[000010] 00 00 00 5A 6D 70 34 61 00 00 00 00 00 00 00 01
[000020] 00 00 00 00 00 00 00 00 00 02 00 10 00 00 00 00
[000030] 56 22 00 00 00 00 00 36 65 73 64 73 00 00 00 00
[000040] 03 80 80 80 25 00 00 00 04 80 80 80 17 40 15 00
[000050] 06 00 00 00 BB 80 00 00 BB 80 05 80 80 80 05 13
[000060] 90 56 E5 A0 06 80 80 80 01 02
$00-03 size 0x0000006A(106)
$04-07 name 0x73747364(stsd)
$08 version 0x00(0)
$09-0B flags 0x000000(0)
$0C-0F number of descriptions 0x00000001 default = 1
$10-13 description size 0x0000005A(90)
$14-17 description name 0x6D703461(mp4a)
$18-1D reserved 0x000000000000
$1E-1F data reference index 0x0001
$20-21 QUICKTIME audio encoding version 0x00(0) default = 0
$22-23 QUICKTIME audio encoding revision level 0x00(0) default = 0
$24-27 QUICKTIME audio encoding vendor 0x00000000("")
$28-29 audio channels 0x00002(2) mono = 1 stereo = 2
$2A-2B audio sample size 0x0010(16) 8 or 16
$2C-2D QUICKTIME audio compression id 0x0000(0) default = 0
$2E-2F QUICKTIME audio packet size 0x0000(0)
$30-33 audio sample rate 0x56220000(22050.0)
$34-37 ES Descriptor size 0x00000036(54)
$38-3B ES Descriptor name 0x65736473(esds) vers. 2 ES Descriptor box
$3C version 0x00(0)
$3D-3F flags 0x000000(0)
$40 ES descriptor type tag 0x03(3)
$41-43 start or end type 0x808080 start = 0x80 end = 0xFE
$44 descriptor type length 0x25(37)
$45-46 ES ID 0x0000(0)
$47 stream priority 0x00 defaults = 16 0 - 31
$48 ES descriptor type tag 0x04(4)
$49-4B start or end type 0x808080 start = 0x80 end = 0xFE
$4C descriptor type length 0x17(23)
$4D object type ID 0x40(64) MPEG-4 video = 32 audio = 64
$4E stream type or flags 0x15 bit展開後
00010101 左から
6bit 000101 0x05(5) audio = 5 visual = 4
1bit 0 0x00(0) upstream flag
1bit 1 0x01(1) reserved flag set to 1
$4F-51 buffer size 0x000600(1536)
$52-55 maximum bit rate 0x0000BB80(48000)
$56-59 average bit rate 0x0000BB80(48000)
maximum bit rate,average bit rate はbitrate偽装に使われてる箇所
$5A ES descriptor type tag 0x05(5)
$5B-5D start or end type 0x808080 start = 0x80 end = 0xFE
$5E descriptor type length 0x05(5)
$5F-63 header start codes 0x139056E5A0 bit展開後
0001001110010000010101101110010110100000 左から
AudioObjectType = 5bit 00010 0x02(2) = LC = 2 HE = 5
SamplingRateIndex = 4bit 0111 0x07(7) = 22050
channels = 4bit 0010 0x02(2) mono = 1 stereo = 2
reserved = 3bit 000 0x00
syncExtensionType = 11bit 010 1011 0111 0x2B7 = SBR Stuff
extensionAudioObjectType = 5bit 00101 0x05(5) = HE
sbrPresentFlag = 1bit 1 0x01 TRUE = SBR
extensionSamplingRateIndex = 4bit 0x04(4) = 44100
alignBits = 3bit 000 1bit毎に意味があるが、ま、いいか
$64 ES descriptor type tag 0x06(6)
$65-67 start or end type 0x808080 start = 0x80 end = 0xFE
$68 descriptor type length 0x01(1)
$69 SL value 0x02(2)

注意しなければいけないのは、$4D object type ID、$4E stream type or flags、$52- maximum bit rate、$56- average bit rate、$5F- header start codes がくい違っていると不正なデータとしてはじかれる可能性がある。

最新の画像もっと見る