Advanced Streaming Format (ASF) By Hung-Chin Wang What is ASF ? An extensible file format be composed of one or more media streams include specification of some commonly used media types support the transmission of “ live content ” over a wide variety of network and protocols ASF Features (1) Extensible Media Types – easy to define new media types Component Download – Stream-specific information in the file header Scalable Media Types – provide information for clients to interpret scalability options ASF Features (2) Multiple Languages – support multiple languages Author-specified Stream Prioritization Bibliographic Information File Format Organization(1) ASF Object definition – the base unit of organization - ASF Object – store in little-endian byte order 16 Bytes 8 Bytes Object ID Object Size Object Data ?? Bytes File Format Organization(2) High-level File Structure – three top-level objects Header Object Data Object Index Object Header Object File Properties Object Stream Properties Object 1 ... Stream Properties Object N <Other Header Objects> Data Object Data Unit ... Data Unit Index Object <Other Objects> File Format Organization(3) ASF Header Object – – – – – – – File Properties Object Stream Properties Object Language List Object Content Description Object Maker Object Index Parameters Object ………… File Format Organization(4) ASF Data Object – data units ( contain all multimedia data ) ASF Index Object Example File Properties Object Object Structure: Field Name Object ID Object Size File ID Creation Date Content Expiration Date Last Send Time Play Duration Flags Live Flag Huge Data Units Flag Reserved Minimum Bit Rate Maximum Bit Rate Average Data Unit Size Maximum Data Unit Size Total Data Units Stream Count Field Type GUID UINT GUID FILETIME FILETIME UINT UINT UINT Size (bits) 128 64 128 64 64 64 64 32 1 (LSB) 1 UINT UINT UINT UINT 30 32 32 32 32 UINT UINT 32 16 Stream Properties Object Object Structure: Field Name Object ID Object Size Stream Type Start Time End Time Average Bit Rate Maximum Bit Rate Average Data Unit Size Maximum Data Unit Size Preroll Flags Reliable Flag Recordable Flag Seekable Flag Presentation Time Flags Reserved Presentation Time Delta Presentation Time Numerator Presentation Time Denominator Stream Number Stream Language ID Index Stream Name Count Stream Names MIME Type Length MIME Type Type-Specific Data Length Type-Specific Data Field Type GUID UINT GUID UINT UINT UINT UINT UINT UINT UINT UINT UINT UINT UINT UINT UINT UINT See below UINT ASCII (UINT8) UINT UINT8 Size (bits) 128 64 128 64 64 32 32 32 32 32 32 1 (LSB) 1 1 2 27 0 or 32 0 or 32 0 or 32 16 16 16 ? 8 ? 16 ? Language List Object Object Structure: Field Name Object ID Object Size Language ID Count Language ID Records Field Type GUID UINT UINT See below Size (bits) 128 64 16 ? Language ID Record: Field Name Language ID Length Language ID Field Type UINT ASCII (UINT8) Size (bits) 8 ? Standard ASF Media Types Audio Media Type Video Media Type Image Media Type Timecode Media Type Text Media Type MIDI Media Type Command Media Type Media-Objects(Hotspot) Media Type Index Parameters Object Index Type – Nearest Data Unit – Nearest Object – Nearest Clean Point Object Structure: Field Name Object ID Object Size Index Entry Time Interval Index Specifier Count Index Specifiers Index Specifier: Field Name Stream Number Index Type Field Type GUID UINT UINT Size (bits) 128 64 32 UINT See below 16 ? Field Type UINT UINT Size (bits) 16 16 ASF Data Unit Definition Field Name Data Unit Length Stream Number Send Time Data Unit Flags Extended Flags Clean Point Fragment Fragment Size Grouped Data Reserved Object Number Presentation Time Offset Into Object Object Size Extension Data Data Unit Data Field Type UINT UINT UINT UINT UINT UINT UINT UINT UINT8 UINT8 Size (bits) 16 or 32 16 32 8 or 32 1 (LSB) 1 1 1 1 3 8 0, 16, 32 0, 16, 32 0, 16, 32 ? ? Index Object Object Structure: Field Name Object ID Object Size Index Entry Time Interval Index Specifier Count Index Specifiers Index Block Count Index Blocks Field Type GUID UINT UINT UINT See Section 5.14 UINT See below Size (bits) 128 64 32 16 ? 32 ? Index Block: Field Name Block Position Index Entry Count Index Entries Field Type UINT UINT See below Size (bits) 64 32 ? Index Entry: Field Name Offsets Field Type UINT32 Size (bits) ? Script Command Object Object Structure: Field Name Object ID Object Size Type Count Command Count Types Commands Field Type GUID UINT UINT UINT See below See below Size (bits) 128 64 16 16 ? ? Type: Field Name Type Name Length Type Name Field Type UINT Unicode (UINT16) Size (bits) 16 ? Command: Field Name Presentation Time Type Index Command Name Length Command Name Field Type UINT UINT UINT Unicode (UINT16) Size (bits) 32 16 16 ? Maker Object Object Structure: Field Name Object ID Object Size Index Specifier Count Marker Count Index Specifiers Markers Field Type GUID UINT UINT UINT See Section 5.14 See below Size (bits) 128 64 16 16 ? ? Marker: Field Name Presentation Time Offsets Marker Name Count Marker Names Field Type UINT UINT64 UINT See below Size (bits) 32 ? 16 ? Marker Name: Field Name Language ID Index Marker Name Length Marker Name Field Type UINT UINT Unicode (UINT16) Size (bits) 16 16 ? Other ASF Header SubObjects Component Download Object Stream Group Object Scalable Object Mutual Exclusion Object ……... Conclusion 如何將 media file 轉變成 asf 的檔案格式 Thanks Everyone
© Copyright 2025 ExpyDoc