New Xuggler Feature Coming Soon: byte, frame #, timestamp range seeking

In our continuing push for Xuggler 3.4, there is another change.  Xuggler 3.4 will expose the new (but still experimental) FFmpeg seek API.   The new API (which not all demuxers support) allows seeking within a range of valid values, allows you to specify timestamps, bytes, or frame numbers you want to seek to, allows seeking backwards (for some demuxers), and allows seeking to non-key frames (for some demuxers).

I don’t have a list of exactly what ContainerFormats support efficient seeking, and there is currently no way to query that in FFmpeg.  We won’t be generating our own list, so feel free to share your findings on the xuggler-users list or the Wiki so everyone can learn.

The new method is:

public class IContainer {
public int seekKeyFrame(int streamIndex, long minTimeStamp,
  long targetTimeStamp, long maxTimeStamp, int flags);

This change is in tip of tree right now and can be used if you build from source.  To generate the java documentation for these new methods, build Xuggler tip of tree, and then run:

ant doc-java

Feedback and bug-reports welcome on our support list.  The old seekKeyFrame API will be deprecated at some point in the future in favor of this API so you should migrate your code now.


– Art


One Response to New Xuggler Feature Coming Soon: byte, frame #, timestamp range seeking

  1. gregdingle says:

    We love this feature over at

%d bloggers like this: