1. 程式人生 > >mp4(H264容器)的詳細檔案格式分析

mp4(H264容器)的詳細檔案格式分析

十六進位制碼流分析:ftyp Box00 00 00 1C:  size ,28,表示此BOX有28個位元組,表示長度的四個位元組也計算在內。以下同66 74 79 70:  type,表示BOX TYPE,此處為ftyp6D 70 34 32:  可能是相容的格式資訊,/////mp4200 00 00 00:  可能是插入的空位元組,/////也可能是version ,flags6D 70 34 32:  可能是相容的格式資訊,mp42/////   major-brand6D 70 34 31:  可能是相容的格式資訊,mp41///// minor-version69 73 6F 6D:  isom, ftyp中的最後一個標識,compatible-brands[];  // to end of the boxThe brand ‘mp41’ is defined as identifying version 1 of this specification (ISO/IEC 14496-1:2001), and the brand ‘mp42’ identifies this version of the specification;  at least one of these brands shall appear in the compatible-brands list in the file-type box, in all files conforming to this specification.moov Box00 03 B0 59:  size of moov.241753個位元組6D 6F 6F 76:  moovmvhd Box00 00 00 6C:  size,mvhd Box的大小為108個位元組6D 76 68 64:  mvhd00 00 00 00:  version,flagsBE EE 87 C5:  creation-time建立檔案的時間,是距離1904年1月1日0點的秒數BE EE 87 C5:  modifiation-time修改檔案的時間, 00 01 5F 90:  timescale時標,時間刻度的單位,為1/90 000秒01 A8 61 B8:  duration持續時間00 01 00 00:  rate播放描述的等級01 00:    volume播放時的音量00 00:    保留的16bits的000 00 00 00:  保留的32bits的000 00 00 00:   保留的32bits的000 01 00 00   00 00 00 00   00 00 00 00   00 00 00 0000 01 00 00   00 00 00 00   00 00 00 00   00 00 00 0040 00 00 00    :  matrix給視訊提供的轉換矩陣00 00 00 00   00 00 00 00   00 00 00 0000 00 00 00  00 00 00 00   00 00 00 00:  6個32bits的pre-defined 的000 01 00 CA:  next-track-ID下一個軌跡IDiods Box00 00 00 21:  size of iods,33個位元組69 6F 64 73:  iods, Initial Object Descriptor00 00 00 00:  version,flags10 13 00 4F:  可能是OD, Object DescriptorFF FF 0F FE:FF 0E 04 00:00 00 01 0E:04 00 00 00:02udta Box00 00 06 8F:  size of udta ,167975 64 74 61:  udta,uuid Box00 00 04 A9:  size of uuid,119375 75 69 64:  uuidF7 8C AA 0C 36 BE 4C E9 88 D2 03 C2 56 DA BE B2  :  由於boxtype = uuid而定義的16個位元組的usertypeEES-3-0-410VEAEAudioEncoder-2-1-11V bitRate=2000000bpsV keyFrame Period In Ms=10000V number of Pass=2V progressive Interlaced=0V rateControlMode=cbrV smoothVsSharp=0V sourceNature=naturalV useBFrame =false.此處表明本碼流沒有使用B幀V videoEncoderType=mpeg4V advVideo EncoderType=mpeg4V allowBitRateUnderflow=falseV change Rgb Yuv Conversion=falseV setCustomBitmapSize=falseV useCustomPixedAspectRatio=falseV useExpertFeaturesASP=falseV useMotionFiltering=falseV useVideoPacket=falseV vbvSizeInMs=1000V burnLogo=falseV changeframerate=falseV useColorAdjustment=falseV useCropFilter=falseV useScaleFilter=falseV useSpatialFilter=falseV useTimecodes=falseA audioEncoderType=aacA bitRate=64000bpsA useAutomaticBandwidth=trueA useMS=trueA balanceLeftRight=0A volumeInDB=0starttime=0stoptime=9223372036854775807, MTUSize=1448exportType=mp4hinted=trueprogressiveDownload=trueallowDebugInformationInStream=trueavoidQuickTime6Warnings=falseforceETV15compatibility=falseforcePlayerCompatibility=falsemultiThreadedOptimization=0openAVIWith=DirectShowpreviewOnOff=1previewlayout=0showEncodingStatistics=true.......................hnti Box00 00 01 DE:size of hnti,47868 6E 74 69:hntirtp Box00 00 01 D6:size of rtp,47072 74 70 20:rtp73 64 70 20:sdpa=mpeg4-iod:”data:application/mpeg4-iod;base64................................trak Box00 00 01 A4:  size of trak,42074 72 61 6B:  traktkhd Box00 00 00 5C:  size of tkhd,9274 6B 68 64:  tkhd, track head box00 00 00 01:  00,version;  00 00 01,track enable flagsBE EE 87 C5:  creation-time建立檔案的時間BE EE 87 C5:  modifiation-time修改檔案的時間,兩個時間應該相同00 00 00 01:  track-ID00 00 00 00:  保留的32bits的001 A8 5E 16:  duration持續的時間00 00 00 00   00 00 00 00:  保留的2個32bits的000 00:layer 000 00:pre-defined 000 00:volume,as non audio,if audio ,0x010000 00:reserved 000 01 00 00   00 00 00 0000 00 00 00    00 00 00 00    00 01 00 00    00 00 00 0000 00 00 00    00 00 00 00    40 00 00 00    :matrix00 00 00 00:width,if track_is_visual 0x01400000 else 000 00 00 00:height,if track_is_visual 0x00F00000 else 0mdia Box00 00 01 28:  size of mdia,2966D 64 69 61:  mdiamdhd Box00 00 00 20:  size of mdhd ,326D 64 68 64:  mdhd00 00 00 00:  versionBE EE 87 C5:  creation-timeBE EE 87 C5:  modification-time00 00 03 E8:  timescale00 04 B7 17:  duration0  :pad10101 01110 00100:  3個5bits的language00 00 :pre-defined 0hdlr Box00 00 00 21:size of hdlr,3368 64 6C 72:  hdlr00 00 00 00:  version00 00 00 00:  pre-defined 06F 64 73 6D:  odsm,handler-type. ObjectDescriptorStream00 00 00 00   00 00 00 00   00 00 00 00 :  3個reserved00  :string  nameminf  Box00 00 00 DF:  size of minf,2236D 69 6E 66:  minfnmhd Box00 00 00 0C:  size of nmhd,126E 6D 68 64:  nmhd00 00 00 00:  versiondinf Box00 00 00 24:  size of dinf,3664 69 6E 66:  dinfdref Box00 00 00 1C:  size of dref,2864 72 65 66:  dref00 00 00 00:  version00 00 00 01:  entry-counturl Box00 00 00 0C: size of url ,1275 72 6C 20:  url00 00 00 01:  locationstbl Box00 00 00 A7:  size of stbl,16773 74 62 6C:  stblstsd Box00 00 00 43:  size of stsd,6773 74 73 64:  stsd00 00 00 00:  version,flags00 00 00 01:  entry-countmp4s Box00 00 00 33:  size of mp4s, 516D 70 34 73:  mp4s00 00 00 00:  version00 00 00 01:  ESesds Box00 00 00 23:  size of esds,3565 73 64 73:  esds00 00 00 00:  version03 15 00 00:00 04 0D 01:05 00 00 C8:00 00 00 00:00 00 00 00:06 01 02:stts Box00 00 00 18:   size of stts,2473 74 74 73:  stts00 00 00 00:  version00 00 00 01:  entry-count00 00 00 01:  sample-count00 04 B7 17:  sample-deltastsc Box00 00 00 1C:  size of stsc ,2873 74 73 63:  stsc00 00 00 00:  version00 00 00 01:  entry-count00 00 00 01:  first-chunk00 00 00 01:  samples-per-chunk00 00 00 01:  sample-description-indexstsz Box00 00 00 14:  size of stsz,2073 74 73 7A:  stsz00 00 00 00:  version00 00 00 12:  sample-size00 00 00 01:  sample-countstco Box00 00 00 14:  size of stco,2073 74 63 6F:  stco00 00 00 00:  version00 00 00 01:  entry-count00 03 B0 7D:  chunk-offsettref Box00 00 00 18:  size of tref,2474 72 65 66:  trefmpod Box00 00 00 10:  size of mpod,166D 70 6F 64:  mpod00 00 00 C9:00 00 00 65:trak Box00 00 01  91: size of trak,40174 72 61 6B:  traktkhd Box00 00 00 5C:  size of tkhd,9274 6B 68 64:  tkhd00 00 00 01:  00,version;  00 00 01,track enable flagsBE EE 87 C5:  creation-time建立檔案的時間BE EE 87 C5:  modifiation-time修改檔案的時間,兩個時間應該相同00 00 00 02:  track-ID00 00 00 00:  保留的32bits的001 A8 5E 16:  duration持續的時間00 00 00 00   00 00 00 00:  保留的2個32bits的000 00:layer 000 00:pre-defined 000 00:volume,as non audio,if audio ,0x010000 00:reserved 000 01 00 00   00 00 00 0000 00 00 00    00 00 00 00    00 01 00 00    00 00 00 0000 00 00 00    00 00 00 00    40 00 00 00    :matrix00 00 00 00:width,if track_is_visual 0x01400000 else 000 00 00 00:height,if track_is_visual 0x00F00000 else 0mdia Box00 00 01 2D:size of mdia,3016D 64 69 61:mdiamdhd Box00 00 00 20:  326D 64 68 64:mdhd00 00 00 00 :version,flagsBE EE 87 C5: creation-time建立檔案的時間BE EE 87C5: modifiation-time修改檔案的時間,兩個時間應該相同00 00 03 E8: timescale時標00 04 B7 17: duration持續的時間55 C4:pad, 3個5bits的language00 00: pre-defined 0hdlr Box00 00 00 21:size of hdlr ,3368 64 6C 72:  hdlr00 00 00 00:  version00 00 00 00:  pre-defined 073 64 73 6D:  sdsm,handler-type, SceneDescriptionStream00 00 00 00   00 00 00 00   00 00 00 00 :  3個reserved00  :string  nameminf  Box00 00 00 E4:  size of minf,2286D 69 6E 66:  minfnmhd Box00 00 00 0C:  size of nmhd,126E 6D 68 64:  nmhd00 00 00 00:  versiondinf Box00 00 00 24:  size of dinf,3664 69 6E 66:  dinfdref Box00 00 00 1C:  size of dref,2864 72 65 66:  dref00 00 00 00:  version00 00 00 01:  entry-counturl Box00 00 00 0C: size of url ,1275 72 6C 20:  url00 00 00 01:  locationstbl Box00 00 00 AC:  size of stbl,17273 74 62 6C:  stblstsd Box00 00 00 48:  size of stsd,7273 74 73 64:  stsd00 00 00 00:  version,flags00 00 00 01:  entry-countmp4s Box00 00 00 38:  size of mp4s, 566D 70 34 73:  mp4s00 00 00 00:  version00 00 00 01:  ESesds Box00 00 00 28:  size of esds,4065 73 64 73:  esds00 00 00 00:  version03 1A 00 00:00 04 12 02:0D 00 00 20:00 00 00 00:00 00 00 00:05 03 00 00:40 06 01 02:stts Box00 00 00 18:   size of stts,2473 74 74 73:  stts00 00 00 00:  version00 00 00 01:  entry-count00 00 00 01:  sample-count00 04 B7 17:  sample-deltastsc Box00 00 00 1C:  size of stsc ,2873 74 73 63:  stsc00 00 00 00:  version00 00 00 01:  entry-count00 00 00 01:  first-chunk00 00 00 01:  samples-per-chunk00 00 00 01:  sample-description-indexstsz Box00 00 00 14:  size of stsz,2073 74 73 7A:  stsz00 00 00 00:  version00 00 00 18:  sample-size00 00 00 01:  sample-countstco Box00 00 00 14:  size of stco,2073 74 63 6F:  stco00 00 00 00:  version00 00 00 01:  entry-count00 03 B0 8F:  chunk-offsettrak Box00 01 71 55:size of trak,74 72 61 6B:traktkhd Box00 00 00 5C:  size of tkhd,9274 6B 68 64:  tkhd, track head box00 00 00 01:  00,version;  00 00 01,track enable flagsBE EE 87 C5:  creation-time建立檔案的時間BE EE 87 C5:  modifiation-time修改檔案的時間,兩個時間應該相同00 00 00 C9:  track-ID00 00 00 00:  保留的32bits的001 A8 61 B8:  duration持續的時間00 00 00 00   00 00 00 00:  保留的2個32bits的000 00:layer 000 00:pre-defined 000 00:volume,as non audio,if audio ,0x010000 00:reserved 000 01 00 00   00 00 00 0000 00 00 00    00 00 00 00    00 01 00 00    00 00 00 0000 00 00 00    00 00 00 00    40 00 00 00    :matrix02 D0 00 00:width,if track_is_visual 0x01400000 else 001 E0 00 00:height,if track_is_visual 0x00F00000 else 0mdia Box00 01 70 CD:  size of mdia6D 64 69 61:  mdiamdhd Box00 00 00 20:  size of mdhd ,326D 64 68 64:  mdhd00 00 00 00:  versionBE EE 87 C5:  creation-timeBE EE 87 C5:  modification-time00 01 5F 90:  timescale01 A8 61 B8:  duration0  :pad10101 01110 00100:  3個5bits的language00 00 :pre-defined 0hdlr Box00 00 00 21:size of hdlr,3368 64 6C 72:  hdlr00 00 00 00:  version00 00 00 00:  pre-defined 076 69 64 65:  vide,handler-type,表示此trak為視訊00 00 00 00   00 00 00 00   00 00 00 00 :  3個reserved00  :string  nameminf  Box00 01 70 84:  size of minf,943406D 69 6E 66:  minfvmhd Box00 00 00 14:  size of nmhd76 6D 68 64:  nmhd00 00 00 01:  version,flags00 00 00 00:00 00 00 00:dinf Box00 00 00 24:  size of dinf,3664 69 6E 66:  dinfdref Box00 00 00 1C:  size of dref,2864 72 65 66:  dref00 00 00 00:  version00 00 00 01:  entry-counturl Box00 00 00 0C: size of url ,1275 72 6C 20:  url00 00 00 01:  locationstbl Box00 01 70 44:  size of stbl73 74 62 6C:  stblstsd Box00 00 00 AC:  size of stsd,7273 74 73 64:  stsd00 00 00 00:  version,flags00 00 00 01:  entry-countmp4v Box00 00 00 9C:  size of mp4v6D 70 34 76:  mp4v00 00 00 00:  version00 00 00 01:  ES00 00 00 00 00 00 :00 00 00 00 00 00 00 00 00 00 02 D0 01 E0 00 4800 00 00 48 00 00 00 00 00 00 00 01 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 18 FF FFesds Box00 00 00 46:  size of esds65 73 64 73:  esds00 00 00 00:  version03 38 00 00:00 04 30 20:11 03 D0 90:00 1E 84 80:00 1E 84 80:05 21 00 00:01 B0 00 00:00 01 B5 0E:A0 20 20 2F:00 00 01 00:00 00 01 20:00 C7 88 BA:98 51 68 43:C1 46 3F 06:01 02 :stts Box00 00 E7 90:   size of stts73 74 74 73:  stts00 00 00 00:  version00 00 1C F0:  entry-count00 00 00 01:  sample-count00 00 0B BB:  sample-delta00 00 00 0100 00 11 9700 00 00 0100 00 0B BB00 00 00 0100 00 11 9A...........stsc Box00 00 0E 8C:  size of stsc ,73 74 73 63:  stsc00 00 00 00:  version00 00 01 35:  entry-count00 00 00 01:  first-chunk00 00 00 15:  samples-per-chunk00 00 00 01:  sample-description-index00 00 00 0200 00 00 1800 00 00 0100 00 00 0300 00 00 1800 00 00 0100 00 00 0400 00 00 1800 00 00 01.............stsz Box00 00 73 D8  size of stsz,2073 74 73 7A:  stsz00 00 00 00:  version00 00 00 00:  sample-size00 00 1C F1:  sample-count00 00 86 24(從此開始,為當前chunk中每幀視訊資料的位元組大小,此大小與offset相對應,用offset找到偏移的絕對地址(指向mdat box中)後,從000001B6的第一個位元組開始,加上對應的視訊位元組數,就是本幀的大小。一個視訊chunk中首先是連續的視訊幀,然後也包含其他資料,暫不清楚視訊資料後面的資料型別)00 00 08 F900 00 3B 0400 00 1D F200 00 49 0000 00 60 A600 00 2E 3000 00 33 F900 00 22 1900 00 15 DB00 00 17 4700 00 1D 1600 00 3A 4A00 00 1C 1B00 00 2C EA00 00 37 2800 00 3D 7000 00 36 0B00 00 16 D000 00 39 0F00 00 22 79第一個chunk中所有的視訊幀大小結束下面為當前chunk中視訊資料後面暫不清楚為什麼資料型別的開始00 00 15 DB00 00 17 47................stco Box00 00 04 E4:  size of stco,2073 74 63 6F:  stco00 00 00 00:  version00 00 01 35:  entry-count00 03 B0 A7:  chunk-offset(幀資料偏移的絕對地址(指向mdat box中),此處為視訊資料,一個chunk約包含1S的資料,但不固定)00 07 F1 5D00 0B 58 D700 0E 58 9D00 11 A5 3E00 15 11 0B00 18 15 4Estss Box00 00 00 B8:size 73 74 73 73:stss00 00 00 00:version,flags00 00 00 2A:entry_count00 00 00 0100 00 00 1200 00 00 3800 00 01 6300 00 02 8E00 00 03 B900 00 04 E400 00 05 8300 00 06 AE00 00 07 2600 00 07 4700 00 07 6800 00 08 67 00 00 08 73...............udta Box00 00 00 24:75 64 74 61:uuid Box00 00 00 1C:  size of uuid75 75 69 64:  uuidF7 8C AA 0C 36 BE 4C E9 87 D2 03 C2 56 DA BE B2  :  由於boxtype = uuid而定義的16個位元組的usertype與前面不同00 01 19 9Atrak Box00 01 72 D574 72 61 6Btkhd Box00 00 00 5C:  size of tkhd,9274 6B 68 64:  tkhd, track head box00 00 00 00:  00,version;  00 00 00,track enable flagsBE EE 87 C5:  creation-time建立檔案的時間BE EE 87 C5:  modifiation-time修改檔案的時間,兩個時間應該相同00 01 00 C9:  track-ID00 00 00 00:  保留的32bits的001 A8 61 B8:  duration持續的時間00 00 00 00   00 00 00 00:  保留的2個32bits的000 00:layer 000 00:pre-defined 000 00:volume,as non audio,if audio ,0x010000 00:reserved 000 01 00 00   00 00 00 0000 00 00 00    00 00 00 00    00 01 00 00    00 00 00 0000 00 00 00    00 00 00 00    40 00 00 00    :matrix00 00 00 00:width,if track_is_visual 0x01400000 else 000 00 00 00:height,if track_is_visual 0x00F00000 else 0mdia Box00 01 70 5D:  size of mdia6D 64 69 61:  mdiamdhd Box00 00 00 20:  size of mdhd ,326D 64 68 64:  mdhd00 00 00 00:  versionBE EE 87 C5:  creation-timeBE EE 87 C5:  modification-time00 01 5F 90:  timescale01 A8 61 B8:  duration0  :pad10101 01110 00100:  3個5bits的language00 00 :pre-defined 0hdlr Box00 00 00 21:size of hdlr,3368 64 6C 72:  hdlr00 00 00 00:  version00 00 00 00:  pre-defined 068 69 6E 74:  hint,handler-type00 00 00 00   00 00 00 00   00 00 00 00 :  3個reserved00  :string  nameminf  Box00 01 70 14:  size of minf6D 69 6E 66:  minfhmhd Box00 00 00 1C68 6D 68 6400 00 00 00 05 A8 05 3B00 1E 84 8000 18 70 4E00 1E 84 80dinf Box00 00 00 24:  size of dinf,3664 69 6E 66:  dinfdref Box00 00 00 1C:  size of dref,2864 72 65 66:  dref00 00 00 00:  version00 00 00 01:  entry-counturl Box00 00 00 0C: size of url ,1275 72 6C 20:  url00 00 00 01:  locationstbl Box00 01 6F CC:  size of stbl,73 74 62 6C:  stblstsd Box00 00 00 34:  size of stsd,73 74 73 64:  stsd00 00 00 00:  version,flags00 00 00 01:  entry-countrtp00 00 00 2472 74 70 20:rtp00 00 00 0000 00 00 0100 01 00 0100 00 05 A8tims00 00 00 0C74 69 6D 7300 01 5F 90stts00 00 E7 9073 74 74 7300 00 00 00:  version00 00 1C F0:  entry-count00 00 00 01:  sample-count00 00 0B BB:  sample-delta00 00 00 0100 00 11 9700 00 00 0100 00 0B BB00 00 00 0100 00 11 9A..................stsc00 00 0E 8C73 74 73 6300 00 00 00:  version00 00 01 35:  entry-count00 00 00 01:  first-chunk00 00 00 18:  samples-per-chunk00 00 00 01:  sample-description-index00 00 00 0200 00 00 1800 00 00 0100 00 00 0300 00 00 1800 00 00 01..............stsz Box00 00 73 D8:  size of stsz,2073 74 73 7A:  stsz00 00 00 00:  version00 00 00 00:  sample-size00 00 1C F1:  sample-count..................stco00 00 04 E473 74 63 6F00 00 00 00:  version00 00 01 35:  entry-count00 07 B1 24:chunk_offset00 0B 20 81..............stss00 00 00 B873 74 73 73.............tref00 00 00 1474 72 65 66hint00 00 00 0C68 69 6E 7400 00 00 C9udta00 00 02 0075 64 74 61hinf00 00 00 E268 69 6E 66trpy00 00 00 1074 72 70 7900 00 00 0003 B8 8E 51nump00 00 00 106E 75 6D 7000 00 00 00 00 00 B6 0Atpyl00 00 00 1074 70 79 6C00 00 00 0003 B0 05 D9totl00 00 00 0C74 6F 74 6C03 B8 8E 51npck00 00 00 0C6E 70 63 6B00 00 B6 0Atpay00 00 00 0C74 70 61 7903 B0 05 D9dmed00 00 00 1064 6D 65 6400 00 00 0003 B0 05 B8dimm00 00 00 1064 69 6D 6D00 00 00 0000 00 00 21drep00 00 00 1064 72 65 7000 00 00 00 00 00 00 00tmin00 00 00 0C74 6D 69 6EFF FF FC 18tmax00 00 00 0C74 6D 61 7800 00 00 00 pmax00 00 00 0C70 6D 61 7800 00 05 A8dmax00 00 00 0C64 6D 61 7800 00 00 32payt00 00 00 2670 61 79 7400 00 00 60 19a=rtpmap:96 MP4V-ES/90000hntisdp m=video 0 RTP/AVP 96b=AS:2048a=rtpmap:96 MP4V-ES/90000a=fmtp:96 profile-level-id=254;config=a=cliprect:0,0,480,720a=mpeg4-esid:201a=x-envivio-verid:0001199Aa=control:trackID=65737trak00 00 AB 6074 72 61 6Btkhd Box00 00 00 5C:  size of tkhd,9274 6B 68 64:  tkhd00 00 00 01:  00,version;  00 00 01,track enable flagsBE EE 87 C5:  creation-time建立檔案的時間BE EE 87 C5:  modifiation-time修改檔案的時間,兩個時間應該相同00 00 00 65:  track-ID00 00 00 00:  保留的32bits的001 A8 07 40:  duration持續的時間00 00 00 00   00 00 00 00:  保留的2個32bits的000 00:layer 000 00:pre-defined 000 00:volume,as non audio,if audio ,0x010000 00:reserved 000 01 00 00   00 00 00 0000 00 00 00    00 00 00 00    00 01 00 00    00 00 00 0000 00 00 00    00 00 00 00    40 00 00 00    :matrix00 00 00 00:width,if track_is_visual 0x01400000 else 000 00 00 00:height,if track_is_visual 0x00F00000 else 0mdia Box00 00 AA D8:size of mdia,3016D 64 69 61:mdiamdhd Box00 00 00 20:  326D 64 68 64:mdhd00 00 00 00 :version,flagsBE EE 87 C5: creation-time建立檔案的時間BE EE 87C5: modifiation-time修改檔案的時間,兩個時間應該相同00 00 7D 00: timescale時標00 96 C4 00: duration持續的時間55 C4:pad, 3個5bits的language00 00: pre-defined 0hdlr Box00 00 00 21:size of hdlr ,3368 64 6C 72:  hdlr00 00 00 00:  version00 00 00 00:  pre-defined 073 6F 75 6E:  soun,handler-type,表示此trak為音訊00 00 00 00   00 00 00 00   00 00 00 00 :  3個reserved00  :string  nameminf Box00 00 AA 8F:size of minf6D 69 6E 66:minfsmhd Box00 00 00 10:size of smhd73 6D 68 64:smhd00 00 00 00:version00 00 :balance, balance is a fixed-point 8.8 number that places mono audio tracks in a stereo space; 0 is center (the normal value); full left is -1.0 and full right is 1.0.00 00:reserveddinf Box00 00 00 24:size of dinf64 69 6E 66:dinfdref Box00 00 00 1C:  size of dref,2864 72 65 66:  dref00 00 00 00:  version00 00 00 01:  entry-counturl Box00 00 00 0C: size of url ,1275 72 6C 20:  url00 00 00 01:  locationstbl Box00 00 AA 53:  size of stbl73 74 62 6C:  stblstsd Box00 00 00 5B:  size of stsd73 74 73 64:  stsd00 00 00 00:  version,flags00 00 00 01:  entry-countmp4a Box00 00 00 4B:6D 70 34 61:mp4a00 00 00 00:version00 00 00 01:ES00 00 00 0000 00 00 0000 02 00 1000 00 00 007D 00 00 00 esds box00 00 00 2765 73 64 7300 00 00 00:  version03 19 00 00:00 04 11 40:15 00 06 00:00 00 FA 00:00 00 FA 00:05 02 12 90:06 01 02 :stts00 00 00 1873 74 74 73:stts00 00 00 00:  version00 00 00 01:  entry-count00 00 25 B1:  sample-count00 00 04 00:  sample-deltastsc Box00 00 0E 38:  size of stsc  73 74 73 63:  stsc00 00 00 00:  version00 00 01 2E:  entry-count00 00 00 01:  first-chunk00 00 00 20:  samples-per-chunk00 00 00 01:  sample-description-index00 00 00 0200 00 00 2000 00 00 0100 00 00 0300 00 00 2000 00 00 0100 00 00 0400 00 00 2000 00 00 01..........................stsz box00 00 96 D8:  size of stsz, 73 74 73 7A:  stsz00 00 00 00:  version00 00 00 00:  sample-size00 00 25 B1:  sample-count.................................stco00 00 04 C873 74 63 6F:stco00 00 00 00:  version00 00 01 2E:  entry-count00 07 C9 54:  chunk-offset00 0B 32 0D00 0E 32 9B............................udta box00 00 00 2475 64 74 61uuid00 00 00 1C 75 75 69 64F7 8C AA 0C 36 BE 4C E9 87 D2 03 C2 56 DA BEB2  :  由於boxtype = uuid而定義的16個位元組的usertype00 01 19 9Atrak00 00 16 7674 72 61 6B:  traktkhd Box00 00 00 5C:  size of tkhd,9274 6B 68 64:  tkhd, track head box00 00 00 00:  00,version;  00 00 00,track enable flagsBE EE 87 C5:  creation-time建立檔案的時間BE EE 87 C5:  modifiation-time修改檔案的時間,兩個時間應該相同00 01 00 65:  track-ID00 00 00 00:  保留的32bits的001 A8 07 40:  duration持續的時間00 00 00 00   00 00 00 00:  保留的2個32bits的000 00:layer 000 00:pre-defined 000 00:volume,as non audio,if audio ,0x010000 00:reserved 000 01 00 00   00 00 00 0000 00 00 00    00 00 00 00    00 01 00 00    00 00 00 0000 00 00 00    00 00 00 00    40 00 00 00    :matrix00 00 00 00:width,if track_is_visual 0x01400000 else 000 00 00 00:height,if track_is_visual 0x00F00000 else 0mdia box00 00 13 F96D 64 69 61mdhd box00 00 00 206D 64 68 64:mdhd00 00 00 00 BE EE 87 C5BE EE 87 C500 00 7D 00:timescale00 96 C4 00:duration55 C4=0  :pad10101 01110 00100:  3個5bits的language00 00 :pre-defined 0hdlr box00 00 00 21:size of hdlr,3368 64 6C 72:  hdlr00 00 00 00:  version00 00 00 00:  pre-defined 068 69 6E 74:  hint,handler-type00 00 00 00   00 00 00 00   00 00 00 00 :  3個reserved00  :string  nameminf  Box00 00 13 B0:  size of minf6D 69 6E 66:  minfhmhd box00 00 00 1C68 6D 68 6400 00 00 0005 A8 :maxPDU01 0C :avgPDU00 00 FA 00: maxbitrate00 00 FA 00: avgbitrate00 00 FA 00:此處應該為保留的0,有誤?dinf Box00 00 00 24:  size of dinf,3664 69 6E 66:  dinfdref Box00 00 00 1C:  size of dref,2864 72 65 66:  dref00 00 00 00:  version00 00 00 01:  entry-counturl Box00 00 00 0C: size of url ,1275 72 6C 20:  url00 00 00 01:  locationstbl box00 00 13 6873 74 62 6C:  stblstsd Box00 00 00 34:  size of stsd,6773 74 73 64:  stsd00 00 00 00:  version,flags00 00 00 01:  entry-countrtp box00 00 00 2472 74 70 20:rtp00 00 00 0000 00 00 01: hinttrackversion00 01: highestcompatibleversion00 01 00 00 : maxpacketsize05 A8: additionaldata[]tims box00 00 00 0C74 69 6D 7300 00 7D 00: timescalestts box00 00 00 1873 74 74 7300 00 00 00:  version00 00 00 01:  entry-count00 00 25 B1:  sample-count00 00 04 00:  sample-deltastsc Box00 00 0E 38:  size of stsc 73 74 73 63:  stsc00 00 00 00:  version00 00 01 2E:  entry-count00 00 00 01:  first-chunk00 00 00 20:  samples-per-chunk00 00 00 01:  sample-description-index00 00 00 02:  first-chunk00 00 00 20:  samples-per-chunk00 00 00 01:  sample-description-index00 00 00 03:  first-chunk00 00 00 20:  samples-per-chunk00 00 00 01:  sample-description-index00 00 00 04:  first-chunk00 00 00 20:  samples-per-chunk00 00 00 01:  sample-description-index.............................stsz Box00 00 00 14:  size of stsz,2073 74 73 7A:  stsz00 00 00 00:  version00 00 00 30:  sample-size00 00 25 B1:  sample-countstco Box00 00 04 C8:  size of stco73 74 63 6F:  stco00 00 00 00:  version00 00 01 2E:  entry-count00 07 EB 5D:  chunk-offset00 0B 52 D7...........................tref Box00 00 00 14:  size of tref,74 72 65 66:  trefhint box00 00 00 0C68 69 6E 7400 00 00 65:track-IDSudta box00 00 02 0575 64 74 61hinf box00 00 00 EA68 69 6E 66trpy Box00 00 00 10:size of trpy,1674 72 70 79:trpy00 00 00 00 00 28 0E DE: uint(64)  bytessent;   // total bytes sent, including 12-byte RTP headersnump Box00 00 00 10:size of nump,166E 75 6D 70:nump00 00 00 00 00 00 25 B1: uint(64)  packetssenttpyl Box00 00 00 10:size of tpyl,1674 70 79 6C:tpyl00 00 00 00 00 26 4A 92: uint(64)  bytessent;  // total bytes sent, not including RTP headerstotl Box00 00 00 0C:size of totl,1274 6F 74 6C:totl00 28 0E DE: bytessent; }  // total bytes sent, including 12-byte RTP headersnpck Box00 00 00 0C:size of npck,126E 70 63 6B:npck00 00 25 B1: packetssent; }  // total packets senttpay Box00 00 00 0C:size of tpay,1274 70 61 79:tpay00 26 4A 92: bytessent; }  // total bytes sent, not including RTP headersdmed Box00 00 00 10:1664 6D 65 64:dmed00 00 00 00 00 25 B3 CE: bytessent; }  // total bytes sent from media tracksdimm Box00 00 00 10:1664 69 6D 6D:dimm00 00 00 00 00 00 96 C4: bytessent; }  // total bytes sent immediate modedrep Box00 00 00 10:1664 72 65 70:drep00 00 00 00 00 00 00 00: bytessent; }  // total bytes in repeated packetstmin Box00 00 00 0C:1274 6D 69 6E: tminFF FF FF 40: time;     // smallest relative transmission time, millisecondstmax Box00 00 00 0C:1274 6D 61 78:tmax00 00 00 00: time; }    // largest relative transmission time, millisecondspmax Box00 00 00 0C:1270 6D 61 78:pamx00 00 01 45: bytes; }      // largest packet sent, including RTP headerdmax Box00 00 00 0C:1264 6D 61 78:dmax00 00 00 20: time; }      // longest packet duration, millisecondspayt Box00 00 00 2E:70 61 79 74:payt00 00 00 61: payloadID21 : count,a=rtpmap:97 mpeg4-generic/32000/2hnti Box00 00 01 13:68 6E 74 69:hntisdp Box00 00 01 0B:73 64 70 20:sdpsdptext[]:m=audio 0 RTP/AVP 97b=AS:75a=rtpmap:97 mpeg4-generic/32000/2a=fmtp:97 profile-level-id =15config=1290streamtype=5mode=AAC-hbrSizeLength=13IndexLength=3IndexDeltaLength=3a=mpeg4-esid:101a=x-envivio=verid:0001199Aa=control:trackID=65637mdat box03 F1 27 F46D 64 61 74:mdat....................................