video timeline

Olivier Aubert contact at olivieraubert.net
Wed Apr 22 11:13:53 PDT 2015


Hello

I have implemented this in the Advene application (python/gtk app, see
www.advene.org ). For this, I implemented a snapshotter module. It is a
standalone pipeline with a playbin and a pngenc, that takes timestamps
as parameters, reorders them to minimize random seeks, and fetches
screenshots.
The module is used throughout the application (timeline, illustrating
snapshots...) and is independant from the main app (no app dependency),
so you can reuse it as is if you want.

You can find the app at www.advene.org and the module itself at
https://github.com/oaubert/advene/blob/master/lib/advene/util/snapshotter.py
and if it does not suit you, at least it validates the approach.

Cheers,
Olivier

On Thu, 2015-04-16 at 22:18 +0200, Christian Sell wrote:
> Hello, 
>   
> I am about to implement a video player which also requires a timeline.
> The timeline consists of video frames picked from the underlying media
> with an arbitrary timeline resolution, which are displayed as images
> in a horizontal list. By timeline resolution I mean the number of
> frames which are picked from the media, ranging fom, say, all frames
> to one frame per minute (this can change dynamically via timeline
> zoom). While the video is playing back, the current timeline frame
> should be highlighted (of course, a reasonable ratio between playback
> speed and timeline resolution has to be maintained - running a 1:1
> resolution timeline at full speed makes no sense) 
>   
> Only a certain number of timeline frames will be requested at one time
> (roughly 3 * the number of frames that fit in a horizontal timeline
> bar). This "timeline window" will shift along the playback direction,
> with a threshhold mechanism that delays shifts (and thus reloads). 
>   
> At this point I should mention that I am a GStreamer novice. What I am
> looking for is an intelligent way to perform this timeline handling
> which minimizes overhead. The idea would be to maintain 2 separate
> pipelines - one for playback and one for timeline retrieval. Is that a
> feasible approach? Does anyone have any useful hints how to tackle
> this? 
>   
> thanks, 
> Christian 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




More information about the gstreamer-devel mailing list