It looks promising, once the thumbnails are generated there is no noticeable slowdown in the interface. However, these thumbnails need to be generated offline, I’m thinking of using the proxy system to build these images.
Is this feature something you would be interested in ? Devs, what do you think ?
This looks very interesting. I’m using the VSE a lot for shot reviewing and this feature could help in that task.
I’m not a core dev, but I would be pleased to try it and give some feedback if you need.
This is the number one feature most of my editor folk will not edit on Blender for. They need the preview system on the strips - with this it’s practically feature complete and a viable video editor. I’ve had multiple people shut me down about editing video in the VSE mainly to this drawback - so seeing this as possible is awesome! Making the proxy and reading from them is perfectly fine as a solution. Is this really a working thing!?
You can use prefetch to do this without introducing slowdown.
It’s simple actually.
To test this just modify BKE_sequencer_prefetch_frames to render every n-th frame
And modify draw_cache_memview to actually draw images instead of tiny stripes.
you can get ImBuf by ibuf = BLI_ghashIterator_getItem(&gh_iter); afrer BLI_ghashIterator_getKey(&gh_iter);
That’s it
Better way would be to
add new PrefetchJob type with it’s own cache
set render size SeqRenderData context to say 1/10 of original
I would prefer to make a patch that can be directly applied on master, so it can be reviewed separately.
I’ll polish it a bit and post the diff so people can test it and get feedback on the method used. When D3934 is landed I’ll make a new version of this to use the prefetch engine
Having thumbnails on strips can serve differenet purposes, they don’t all need the same things, so depending the user’s goal there are ways of displaying thumbnails which are more efficient thant others.
Just off of my head I can think of those needs:
Identify / differenciate strips’ content
See more or less preciselly the evolution of the strips’ content
Just with those two considerations, there is a huge difference of needs between them:
In the second case, you basically need to see as mutch thumbnails as possible through time. While in the first case, you need only one thumbnail at the begining of a strip, or a few thumbnails spreaded along.
Depending the user’s needs, the amount of needed thumbnails can be changed quite a lot, and such, the thumbnails’ generation.
So it’s nice to have some kind of control on that, let the user choose what he needs, as well as adapt the feature to his hardware.
It’s pretty early to give feedback I guess so here’s a small visual detail I noticed. Added two videos, both 16:9 aspect ratio. The first 1920x1080, the other 960x540 (50% full HD), I was expecting both to fill in the space in the strip but the smaller one was actually half the strip height.
I know it’s heavy work in progress so not going to mention how awesomer it’d be for thumbnails to be built automagically as a low-priority background job
A few thoughts on what i see,
1 the thumbnails should only be in between the handles (now they’re over them, that’s sorta obvious but to make sure)
2 i think though the mid ones are also important, the most important ones that should be always accurate are at least the first 2 and last 2, that way you can easily see if you cut in the right point.
Definitely a super useful aid to have. Nailing performance and non-locking workflow will be key. Even Final Cut Pro is sometimes choked on thumbnail generation and is pretty much the only area I sometimes have to wait for.
I tried to build your code but i get a lot of strange errors on windows 10 (VS 2017)
the build log can be found here
the branch can be found here it contains only blender 2.8 [master] code and your code. You can ignore the other branches , its a personal project of mine i work on and i don’t mix that code with this branch. Also the master branch of this repo is basically Blender 2.8 master unmodified
I don’t mean to derail this thread, but since we already have so many great minds assembled here, might I suggest that you also “fix” the audio clips while you’re already working on the VSE.
Since we can now see a content preview in addition to each video clip’s name, I’d like to have the same functionality for audio clips, please.
That would help me a lot with my work. I need to know exactly what is what in the VSE.
In that case I’d say, squash the entire waveform to make room for a line of text above it, much like that row of video thumbnails. If that’s too difficult, then let it be this: