Recently I encountered a common but frustrating problem: a large 6.1 GB x265 10-bit video would play normally, but the progress bar could not be moved, making it impossible to jump to any position. Fortunately, the video itself was not damaged; only the container metadata needed repair. Here is a summary of the problem and the solution.
1. Symptoms
The typical symptoms are:
- The video plays from the beginning normally
- Dragging the progress bar does nothing or jumps back
- Fast forward and rewind do not work
- Multiple players (VLC, mpv, etc.) show the same behavior
This usually indicates a missing or damaged index (seek table) in the MKV container.
2. Why This Happens
An MKV file contains:
- Video streams
- Audio streams
- Subtitle streams
- Chapters and attachments
- An index used for seeking
If the file:
- was incompletely downloaded
- was interrupted during recording or muxing
- was improperly remuxed
then the cue/index table may be missing or corrupted. The video and audio streams remain intact, but the player does not know where each timestamp is located.
3. The Fastest Repair Method (FFmpeg)
The simplest repair is to remux the file, which rebuilds the container and index without re-encoding.
Basic command:
ffmpeg -i input.mkv -map 0 -c copy output.mkv
Explanation:
-map 0copies all streams (video, audio, subtitles, chapters)-c copyavoids re-encoding and keeps the process fast- The output file gets a new index, restoring seeking
This process usually runs at high speed because it only rewrites metadata.
4. A Common Pitfall: Missing Audio or Subtitles
At first, I used:
ffmpeg -i input.mkv -c copy output.mkv
This repaired the seeking problem, but:
- only one audio track was copied
- subtitles were missing
The reason is that FFmpeg sometimes selects only default streams unless explicitly instructed to copy everything.
The correct approach is:
ffmpeg -i input.mkv -map 0 -c copy output.mkv
This ensures:
- all audio tracks are preserved
- all subtitles are preserved
- chapters and attachments are kept
5. Checking Streams Before Repair
It is useful to inspect the file first:
ffmpeg -i input.mkv
You may see something like:
Stream #0:0 Video: hevc (x265)
Stream #0:1 Audio: AAC (English)
Stream #0:2 Audio: AC3 (Japanese)
Stream #0:3 Subtitle: ASS
Stream #0:4 Subtitle: PGS
After remuxing, run the same command on the output file to confirm everything is still present.
A simple command can save hours of frustration—and avoid re-downloading large video files.