5 ms·
I have a rather odd question for you. I've been trying to use VLC for forensic work, specifically for viewing videos frame-by-frame. There's a way to step for
by sillysaurus2 13y ago
I have a rather odd question for you. I've been trying to use VLC for forensic work, specifically for viewing videos frame-by-frame. There's a way to step forward one frame at a time, but there's no way to step backwards. So it's really difficult to switch between two frames back and forth to look for differences. I've resigned myself to capturing screenshots and pasting them into an image editor then using undo/redo to switch between frames. Do you have any suggestions for how to do it better?
I know this feature probably wouldn't be useful to anyone but me, so I'm not really putting in a feature request. Just hoping to discover that someone else has already figured out a way of stepping backwards frame-by-frame, to complement the existing "step forwards" functionality.
- etcet 13y agoavidemux can do this. Most video formats are not designed or optimized for going backwards so it's much slower.
- barrkel 13y agoBut fast forward is usually almost instantaneous, to the point it's often faster to seek backwards, then play back at normal speed, than to wait for a previous frame to be calculated. There's no reason why the software can't cache frames (it's only 25fps normally) or fast forward from the last I-frame. 25 frames of 1080p HD video is 200MB, as uncompressed 32bpp bitmaps. I have 24GB of memory in my PC; that's the worst case, and it's not bad. A bunch of prior frames can be cached, and the next bunch recalculated if it looks like the user is going to continue stepping backwards.
- FizDev 13y agoAlthough I haven't tried it, there seems to be an extension for that : http://addons.videolan.org/content/show.php/Previous+frame?content=156396 http://addons.videolan.org/content/show.php/Previous+frame?c...
- iamthebest 13y agoLast time I checked, Apple's QuickTime Player was able to do this. There's even an option to show frame numbers in place of units of time in the UI.
- keithba 13y agoYou can use ffmpeg for this. For instance, to output one frame per second: ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg See http://ffmpeg.org/ffmpeg.html#Video-and-Audio-file-format-conversion http://ffmpeg.org/ffmpeg.html#Video-and-Audio-file-format-co... for more examples.
- Gormo 13y agoIf you want an interactive UI and you're on Windows, FFmpeg + VirtualDub is a great solution for doing this.
- comex 13y agoThere are many use cases for stepping forwards and backwards between frames in a video; it's not nearly as niche as you suggest :) This is, in fact, far and away my biggest complaint about VLC. You can say it's slow, but it's just a matter of caching the frames, something that QuickTime seems to have no problem with for the formats it supports.
- jbk 13y agoBut that means using a lot more memory. And you can only cache a couple of frames or so. Anyway, patches very welcome on that.
- nitrogen 13y agoIf you're looking for differences between frames, have you tried using a differencing algorithm, e.g. so every frame is subtracted from the previous frame? EffecTV (http://effectv.sf.net/ http://effectv.sf.net/) uses a variation of this technique to do interesting things like cloaking and hologram effects.
- stinos 13y agoHave a look at VirtualDUB (http://virtualdub.org/ http://virtualdub.org/).Should do everything you want and more.
- jbk 13y agoThere is a small extension for that. The issue is that doing a correct back-frame can mean going back up to 2 I-frame in the back, in some situations.