After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 151909 - Add frame-by-frame playback
Add frame-by-frame playback
Status: RESOLVED FIXED
Product: totem
Classification: Core
Component: Movie player
unspecified
Other Linux
: Normal normal
: ---
Assigned To: General Totem maintainer(s)
General Totem maintainer(s)
: 301514 (view as bug list)
Depends on: 583456
Blocks:
 
 
Reported: 2004-09-05 16:07 UTC by Rich Pickler
Modified: 2010-06-08 05:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
totem-stepping.patch (1.91 KB, patch)
2008-05-16 11:31 UTC, Bastien Nocera
none Details | Review

Description Rich Pickler 2004-09-05 16:07:09 UTC
I wanted to put out a request to one of the video players for this feature, and
totem is currently my favorite.  However, all the video players for Linux are
lacking this feature.  A little backstory on why this is important:

I work for the studio that made the Jimmy Neutron movie and tv series for
Nickelodeon.  We are currently starting production on another movie (unrelated
to Jimmy Neutron), and are moving to linux across the entire studio.  However,
the major hang up right now is a video player that works the way we want, and
scrubbing is one of the most important features.

Animators, when playing back rendered views of their work, need to be able to
scrub back and forth on the animation.  Even better, quicktime has the ability
to go frame by frame using the left and right arrow keys.  This allows the
artist to look at the animation in excruciating detail.  Without it,
scrutinizing a playback is quite difficult.

This feature isn't available on most video players, even on windows.  But it is
one that is very useful for us, and I wanted to express our studio's concern for
this one little feature.
Comment 1 Bastien Nocera 2004-09-20 16:25:47 UTC
Mass reassign.
Comment 2 Miguel Gonzalez Viñe 2004-12-29 23:06:47 UTC
I've the same problem Rich. I'm an animator that need the same feature and I
work on Linux too.
Hope this feature request become a feature on totem.
Thanks.
Comment 3 homeless 2004-12-29 23:18:42 UTC
I work in a postproduction house and suffer the scrubbing problem too.
Hope Bastien and Ronald listen our petition ;)
Comment 4 Ronald Bultje 2005-02-25 12:14:45 UTC
I have some good news for you guys. The -threaded branch in GStreamer features
scrubbing for Ogg and AVI right now, which means that you can seek to any frame
in the movie (even non-keyframes) and they will be rendered as you seek (so you
can move the seekbar left/right and get live updates from the video window). It
doesn't do frame-per-frame yet (i.e., a seek to 'next frame' will re-render from
the previous keyframe on until the next frame as if it were a complete new seek,
which is kind of suboptimal, since it could just continue playing), but I think
it's really cool.

It'll take a while before this gets mainstream, but I wanted to excite you guys
a bit already. ;). If you want ot play around, see our seek example in
gst-plugins in -threaded, and compile with the SCRUB macro enabled.
Comment 5 Bastien Nocera 2005-04-21 23:10:03 UTC
*** Bug 301514 has been marked as a duplicate of this bug. ***
Comment 6 Eugenia Loli-Queru 2005-04-21 23:10:49 UTC
Please add support for Xine backend too. This is indeed a very useful feature.
Quicktime rocks my world just because of this very feature, nothing else.

My original feature request can be found on bug #301514 btw.
Comment 7 Bastien Nocera 2006-09-04 10:24:35 UTC
Moving to xine-lib, the GStreamer backend already has scrubbing support ("direct seeking").
Comment 8 Bastien Nocera 2006-10-30 23:58:50 UTC
2006-10-30  Bastien Nocera  <hadess@hadess.net>

        * src/backend/bacon-video-widget-gst-0.10.c:
        (bacon_video_widget_class_init):
        * src/backend/bacon-video-widget-xine.c:
        (bacon_video_widget_class_init), (bacon_video_widget_idle_signal),
        (xine_event), (bacon_video_widget_can_direct_seek):
        * src/backend/bacon-video-widget.h:
        * src/totem-playlist.c: (totem_playlist_save_add_format_combo_box):
        * src/totem.c: (video_widget_create):

        Remove the speed-warning signal, we weren't using it, and it's more
        annoying than anything else

        Implement direct seeking for local URIs and DVDs when using xine-lib
        (Closes: #151909)

        Remove unused variables in totem-playlist.c

Feature parity, whoo!
Comment 9 Eugenia Loli-Queru 2006-10-31 00:00:44 UTC
Thanks Bastien! BTW, what's the actual keyboard key we need to press for scrubbing frame by frame? Arrow keys or < or > ?
Comment 10 Bastien Nocera 2006-10-31 00:07:05 UTC
There's no frame by frame scrubbing, only "seeking" scrubbing I'm afraid.
I guess that I should reopen this bug, and move it back to the Movie player component, as neither xine-lib nor GStreamer allow that right now.
Comment 11 Eugenia Loli-Queru 2006-10-31 00:09:08 UTC
Oh, I see... Yes, when I did my bug report back then (#301514), I was really suggesting frame by frame... I like that because it enables great screenshots. ;)
Comment 12 Bastien Nocera 2008-05-16 11:31:39 UTC
Created attachment 110995 [details] [review]
totem-stepping.patch

Tim, any ideas why this wouldn't be working? Press "." to go one frame forward. I tested with an ogm file, but I get the same thing with an AVI.
Comment 13 Bastien Nocera 2008-05-16 11:32:50 UTC
I used the instructions from:
http://thread.gmane.org/gmane.comp.video.gstreamer.devel/18680
Comment 14 Bastien Nocera 2009-05-27 00:49:53 UTC
From bug 583456, Wim posted a patch. If someone could test this patch, and implement the equivalent of step_cb() into bacon_video_widget_step() of the patch posted above.
Comment 15 Bastien Nocera 2009-06-30 16:41:14 UTC
No UI for it, press the "." button to step. File a separate bug if you require a more comprehensive UI.

commit 5cc7ad5f8521684612443298944a4517e6923e72
Author: Bastien Nocera <hadess@hadess.net>
Date:   Tue Jun 30 17:39:16 2009 +0100

    Bug 151909 – Add frame-by-frame playback
    
    2009-06-30  Bastien Nocera  <hadess@hadess.net>
    
        * src/backend/bacon-video-widget-gst-0.10.c
        (bacon_video_widget_step):
        * src/backend/bacon-video-widget.h:
        * src/totem-object.c (totem_action_handle_key_press):
        Add frame-by-frame stepping, requires gstreamer 0.10.24,
        and a newer gst-plugins-base (Closes: #151909)