I have a H.264 encoded video which has keyframes which are about 100 milliseconds apart. I observed that i cannot seek to certain keyframes. After I do a seek, the playhead jumps to the desired time(Keyframe time) and some how it jumps a few milliseconds ahead or backwards. My trace ouput for NetStream.time looks like
ns.t: 2.86
ns.t: 2.86
ns.t: 2.86
[10:12:01 GMT+0100] VideoPlayerNetStream: NetStatusEvent - NetStream.Seek.Notify time: ns.time= 2.86
[10:12:02 GMT+0100] VideoPlayerNetStream: Seek.Notify info.seekPoint: undefined
ns.t: 2.76
ns.t: 2.76
ns.t: 2.76
ns.t: 2.76
ns.t: 2.8
ns.t: 2.8
I am seeking to 2.76(thats 2 seconds and 76 milliseconds). As you can see that it does seek to the desired keyframe(there's a keyframe at 2.76) but then it jumps to 2.8 . This causes a lot of problem for jumping frame backwards functionality. The strange things is that it works for some keyframes and simply doesn't work for some. Could there be a problem with the video? Is there any way in which I can test if the video is encoded properly? Searching on Google , showed that people are having problem seeking to non keyframes. But here I am trying to seek to keyframes. the application works for videos which have keyframes which are seconds apart. The problem came up when the video were encoded differently to get the milliseconds feature.
I am struggling with this problem for a long time now and would be grateful if I receive any tips/pointers in right direction to solve it.
Regards
Vrushali