ASF Repair- Repair corrupted, inaccessible ASF video file

What is asf file format?

Want to know the structure of ASF file format?

Are you willing to know different fields in the Header Object?

ASF file format is usually related with Advanced Streaming Format, this video file runs well in different types of media players like VLC, Windows Media Player etc. This video file format does not specify the way audio or video files will be encoded. This video file specifies the structure of the video or audio streaming. This is the main reason behind audio and video codecs use .asf extension similar to other container like AVI or OGG. The ASF file format supports playback from HTTP servers, digital media servers as well as local storage devices. ASF file format contains objects which symbolize metadata, for the audio file metadata is artist, title, album and genre whereas for video file metadata is director. Main benefit of ASF format is that it is capable to start playing the video file before it is streamed to end.

Structure of ASF File Format

Unicode strings of ASF file implies NULL termination string, in case the value is not NULL then it is indicated by a string value. WCHAR|| in ASF file shows Unicode characters. ASF file makes use of UTF-16, little endian Byte -Order Marker (BOM) character. The ASF fields which are marked by reserved || shows that the reading implementation need to be ignored but the writing implementation should set value to indicated specification field. Basic data types used in the ASF files are WCHAR, WORD, DWORD, QWORD, GUIDE. Among these WCHAR and WORD use 16 bits, BYTE makes use of 8 bits DWORD makes use of 32 bits, QWORD use 64 bits and GUID use 128 bits.

ASF file is contains three types of top-level objects namely Header Object, Data Object and Index Object(s). In ASF file Data Object is compulsory which should be placed at the beginning of each and every ASF file. In the ASF file Data Object is also required and it needs to follow the Header Object. In this file Index Object is non-compulsory but in case you are providing Index Object then it should be in the last object in ASF file.

Header Object should consist of combination of different objects like File Properties Object, Header Extension Object and Stream Property Object should be present. Field name consist of Object ID, Object Size, Number of Header Objects, Reserved1 and Reserved2. Field type of Object ID is GUID and its file size 128 bits whereas field type of Object Size is QWORD and its size is 64 bits, for Number of Header Objects field name is DWORD and for Reserved1 and Reserved2 the file type is BYTE and its size is 8 bits.


Different fields of Header Object are mentioned below:

  • Object ID: This field of the Header Object states GUID and it can be set to ASF_Header_Object.
  • Object Size: It symbolizes size of Header Object, which includes 24 bytes and the size of the object present in the Header Object and it is validated that it is at least 30 bytes.
  • Number of Header Objects: It signifies number of objects present in the Header Object, additionally the Header Extension Object will be counted one.
  • Reserved1: The value of this field should be set to 0x01, the ASF parser can safely pay no attention to this value.
  • Reserved2: It is necessary to set the value of this field to 0x02. In case value of this field is different at the time of reading then application may have failed to source the content.