[FFmpeg-devel] [RFC] Frame accurate seeking

Artur Bodera abodera
Wed Dec 30 15:08:35 CET 2009


On Wed, Dec 30, 2009 at 2:51 PM, Reimar D?ffinger
<Reimar.Doeffinger at gmx.de>wrote:

> It didn't, even the last ABI change was on 2009-03-08 and that only
> affected libavutil.
> Several things were deprecated and new things added, but no incompatible
> API or ABI change.
>
Thanks for info.



> Also, feature requests do not belong on this list, and even for a
> feature request this lacks an exact description of _what_ you want.
>
Sure, unless I provide a solution, which I did:
http://github.com/lbrandy/ffmpeg-fas



> And no, "frame accurate seeking" without any further details certainly
> is not a description, [...]

There's a link in my post. That's frame accurate seeking.
Also:
-ss hh:mm:ss:ff   - this is frame accurate seeking.
-skip_frames 433000    - this is frame accurate seeking
-range 300000-1023320   - this is frame accurate seeking and partitioning


I guess about half the implementations that I
> could suggest that match that term wouldn't be useful to you at all.
> (in particular on is "it's already implemented, just decode the file
> normally and drop the first n decoded frames).
>
How?


The use case is described here:
http://archives.free.net.ph/message/20091228.114853.066bc91b.en.html

I'm looking for a way to split a stream into parts without decoding it to
rawvideo or transcoding 2 times. I thought it would be feasible using
gop/fps calculations, but it seems that the time seeking is a bit "jerky"
and -vframes does not help either when you need 2 matching chunks (the
second one needs to start where the first one ended, frame-wise, and you can
not seek by frames = dead in the water).

Because on the en/decoder level ffmpeg knows EXACTLY where and when
b/i-frames occur it's much simpler to implement it there - hence the
ffmpeg-fas project.

A.

-- 

     __
    /.)\   +48 695 600 936
    \(./   abodera at gmail.com



More information about the ffmpeg-devel mailing list