By inspecting the klv, I determined how many klv packets are in the stream and the klv frame rate.
I then extracted the video frames (using ffmpeg) into a folder. I also used ffprobe to determine things like the video frame rate.
What I attempted to do is remux the video frames and klv and end up with something identical to the original file. The code mostly works though there are some minor differences that I am curious about.