<p>WMV is really just another name for ASF. That format, like many multimedia formats, contains its data in pieces of various types. Some formats call these packets, some call them segments. ASF, like RIFF before it, calls them <em>chunks</em>. There are several types of chunks, the main one being the data chunk, which holds the encoded streams. There may be several data chunks in the file, mixed in with other chunk types.</p>

<p>The other chunks can contain metadata, DRM info, text data and so on. WMV includes one called (I believe) the <em>index chunk</em> which holds information about where the data chunks are located in the file.</p>

<p>If the index chunk is corrupted or missing the file can usually be played but perhaps not seeked, or may seek randomly into the middle of GOPs. Programs like ASFTools and Steeper attempt to re-index the file by locating the data chunks and building a new index chunk if they can't locate a misplaced one.</p>

<p>Chunks of various types begin with unique identifying headers -- byte sequences called tags -- that can be found by scanning the file. This allows a repair program to potentially reconstruct a minimally playable file from a partially corrupt one by examining the full set of chunks.</p>

CC BY-SA 3.0
2015-06-01T18:01:03.150Z
What's a GOP? So, the program scanned the bytes of the file for specific byte sequences that tag the start and end of chunks?
user3643
CC BY-SA 3.0
2015-06-01T18:32:31.393Z
Group Of Pictures - a sequence that starts with a complete frame and contains difference frames -- data that describes the difference (deltas) from preceding and following frames. If you 'jump into' the middle of the sequence you don't have enough information to completely decode where you landed. You have to wait for an I frame or key frame to get you right again. And yes, a repair program can find data chunks by scanning for the tags that start a chunk header. That header holds the length of the chunk (there is no end tag). Once you find *any* valid chunk you can follow the chain of chunks.
Jim Mack
CC BY-SA 3.0
2015-06-01T17:39:43.170Z
2015-06-01T17:54:24.467Z
2015-06-01T17:54:24.467Z
Jim Mack
<p><a href="https://video.stackexchange.com/questions/15660/how-to-recover-a-video-that-has-no-time-index">I recently had an unseekable WMV file</a>. ASFTools fixed it using the "Lost Chunks" feature which was suggested in the selected answer.</p>

<p>What does the "Lost Chunks" function do? What did it fix? What are "chunks"? I originally tried the "Make Seekable" function, but that did <em>not</em> work, so what is the difference between the two?</p>

<p>I'm very much interested in the technicalities so don't be afraid to get detailed if the answer requires it.</p>

<terminology>
What was technically wrong with this unseekable wmv?
user3643
# What was technically wrong with this unseekable wmv?

(Asked by: username_0 on 2015-06-01)

[I recently had an unseekable WMV file](https://video.stackexchange.com/questions/15660/how-to-recover-a-video-that-has-no-time-index). ASFTools fixed it using the "Lost Chunks" feature which was suggested in the selected answer.

What does the "Lost Chunks" function do? What did it fix? What are "chunks"? I originally tried the "Make Seekable" function, but that did *not* work, so what is the difference between the two?

I'm very much interested in the technicalities so don't be afraid to get detailed if the answer requires it.

**Tags:** terminology


---

## 1 answers

### Answer by username_1 on 2015-06-01. Score: 2 | Accepted answer

WMV is really just another name for ASF. That format, like many multimedia formats, contains its data in pieces of various types. Some formats call these packets, some call them segments. ASF, like RIFF before it, calls them *chunks*. There are several types of chunks, the main one being the data chunk, which holds the encoded streams. There may be several data chunks in the file, mixed in with other chunk types.

The other chunks can contain metadata, DRM info, text data and so on. WMV includes one called (I believe) the *index chunk* which holds information about where the data chunks are located in the file.

If the index chunk is corrupted or missing the file can usually be played but perhaps not seeked, or may seek randomly into the middle of GOPs. Programs like ASFTools and Steeper attempt to re-index the file by locating the data chunks and building a new index chunk if they can't locate a misplaced one.

Chunks of various types begin with unique identifying headers -- byte sequences called tags -- that can be found by scanning the file. This allows a repair program to potentially reconstruct a minimally playable file from a partially corrupt one by examining the full set of chunks.

> **Comments:**
> **username_0**: What's a GOP? So, the program scanned the bytes of the file for specific byte sequences that tag the start and end of chunks?  
> **username_1**: Group Of Pictures - a sequence that starts with a complete frame and contains difference frames -- data that describes the difference (deltas) from preceding and following frames. If you 'jump into' the middle of the sequence you don't have enough information to completely decode where you landed. You have to wait for an I frame or key frame to get you right again. And yes, a repair program can find data chunks by scanning for the tags that start a chunk header. That header holds the length of the chunk (there is no end tag). Once you find *any* valid chunk you can follow the chain of chunks.  

---

