h.264 Pyramidal B-frames causing errors ?

Started by Tonny, November 08, 2013, 03:45:06 AM

Previous topic - Next topic

Tonny

The "Can not go to next/previous keyframe" error message has annoyed me for quite some time now when cutting commercials from h.264 mkv files converted with Handbrake. I recently found out that the error never appears when editing the original stream so I started testing different versions of handbrake with different options.

It seems as if Avidemux is having some issue with Pyramidal B-frames regardless which version of handbrake I am using.

Converted mkv-files with Pyramidal B-frames set to Normal or Strict is causing a lot of "Can not go to next/previous keyframe" when pressing "Up/Down".

Converted mkv-files with the Pyramidal B-frames set to "Off" in handbrake do not seem to cause any issues.

Is this a coincidence or can anybody confirm this behaviour ?

If this is the actual cause of the errors then it would be great if it could be fixed since the Pyramidal B-frames option increases compression quite a bit.

Regards
Tonny

mean

The error basically means avidemux decoded the wanted frames but could not get a valid result.
So either the frames were incorrectly marked as seek point or it is something else

Tonny

Thank you for your answer.

I can see every frame when I do it frame-by-frame, skip to the 2 I-frames from either side, there just seems to be something between the 2 I-frames that Avidemux can't handle when skipping between key frames.

I just tried opening a file in Virtualdub, and it can jump between 2 I-frames without any problems but Avidemux can't, so there seems to be a possible workaround if it is because of an incorrectly marked seek point.

(I do not really consider using Virtualdub as an alternative to Avidemux just wanted to check)

If it isn't possible to do a workaround then I hope it would be possible to clear the error condition automatically because after the error occurs Avidemux can't step forward frame by frame until I have skipped backwards to the previous key-frame then forward again. Then I can singlestep forward to the next I-frame and set a marker.

Regards