Having a video without a (valid) keyframe index is a quite probable reason for seeking issues, especially when the video stream has timecode discontinuities. You said it was better after Avidemux reconstructed such an index. Just remultiplexing the MKV might fix it.
TransportStreams don't store such an index at all, here the playback can only rely on video stream timecodes, and when the whole file is concatenated from different "programmes" with individual timecode ranges, then an "accurate" seeking will search the wrong offset forever (a "lazy" seeking would just play the next possible position based on the percentage of the file size).
|