利用者:Xrupa

提供: wiki
移動先: 案内検索

VSE - Compositor Improvements

This wiki page is an attempt to rationalise the demands of users who are leaning towards the use of Blender as a more general purpose editing / compositing solution. The requests and ideas here are for discussion and will hopefully lead to action that improves the software for all users.

It is and will remain a work in progress, please feel free to email me (Christian Krupa) vsecomp@christiankrupa.net with any more suggestions or comments and I will endeavour to incorporate them here.


Integration

This section contains thoughts relating to further integration between aspects of Blender.

  • Blur textures that are applied to a material (like on-the-fly-blurring of HDRI probes) - is this not possible
  • Use comp nodes as an effect-strip in the VSE - one way would be a new VSE nodes set which has strip input and output nodes, taking frames from the sequence, processing them and returning them to the editor. Another useful method would be 'Layer to comp' - the same principle of the last one, only putting the output of a layer or layers in the VSE to an input node and returning the result - this would allow for complex edits to remain live whilst having effects / colour grades remain in place.

Caching and proxies

  • Offline mode - all strips, including scene strips are continuously proxied to a fast drive to provide fast playback for editing - this allows us to have a fast flowing editor with fixed references to online footage alongside generated content. - I remember NLEs doing this a lot in the 90s and never saw why it went away, especially in the light of modern hard disk capacities.
  • Cache strips in sequencer

- a layer that will cache / proxy the layers below enabling the user to temporarily commit to one part of a project while working on the next - this might lead to a need to tell the user whether data below the layer has changed or not, thus requiring a re-render of the cache or should it attempt to do it automatically - continually rendering, perhaps even another computer or farm helping - this needs much discussion and possibly a range of solutions.


  • ability to mix proxied layers with unproxied ones or simply display proxies at all times - ie in ‘Scene Render Size’ mode - this will make it easier to use Scene layers in normal edits.
  • proxies for meta strips
  • a general system to check and display whether proxies are up to date or not

Meta Strips

  • meta strips in general seem great but maybe not entirely reliable - sometimes i think that the way a set of clips work inside a meta is different when that meta is closed and im working in the sequence above - am i mistaken?

- pass thru mode - at the moment its only possible to use a single mode, that of the actual meta strip, but an option to pass on the internally set value would be useful.

- ability to control both visibility and audibility - often you work on a sequence inside a meta strip with a copy of the master soundtrack, when back in main comp the audio is then doubled up - standard way in AE etc is to have a switch for both audio and video...

- some sort of map of the VSE - dependencies inside meta strips etc - a list of clips used in a sequence including metastrips

- perhaps a way of having meta strip fold and unfold within a master sequence, or maybe just access the start / endpoints within the meta (being able to see them is already pretty cool)

Unsorted

user controlled colour coding, the hard coded ones make some sense but for most editors, colour coding of groups of clips is the only way they can make sense of their timelines and for most, the actual content of the clip is more important than its type or source.

  • put translate effect into strip - users often end up with cumbersome metastrips just to do a series of simple transform - rotate 90 etc
  • more transfer modes - where are hard / soft light, colour or hue transfer modes for the VSE? - they is a fairly standard set across platforms these days and the compositer seems to be able to handle them all.
  • mask editing and rendering of feather within the VSE - think this is there, not that easy to handle, maybe a simple use case of just alpha?
  • display and editing of f-curves - opacity on a strip would make such sense.
  • interchange of data with other systems - EDL - CMX3600 - FCPXML - OMF?


working

Problem: Blender Sequencer is currently carrying over 18 years of code history. It's unclear what the design is, nor how all the code should work. The code doesn't make maintenance (fixes) or future improvements well possible.

Objectives: - Reconfirm the technical design of the code, based on enabling future requirements - Cleanup the current code in a way it becomes understandable for any active developer. - Keep existing (good) functionality to work - Optionally add new features

Requirements:

- Above all: Sequencer is for real-time editing of shots. It is a Blender tool, well working with rest of Blender, for Blender artists to manage their work. We don't make a generic video editor.

- Add a "Sequencer Canvas" concept. Formally define a Canvas size and coordinate system where strip/images map to. The actual rendered size can differ, and has a mapping to this canvas. This allows to crop, border render, make letterbox images, render tiles, etc. Canvas only follows 'render percentage' (like render size). Typically 'canvas' will be input image size, and same as render size. But in many cases you input images with different aspect as a render, it then should just work by defining canvas size to be image size. Animated images also are in canvas coords.

- Redesign strips to have better visual feedback and control over its workings. I think of preview images, in/out points, and the strange "start/end still". Also strip splitting and merging should work perfectly.

- Ensure strip properties and layering is editable in a preview region/editor. This can be with handles for the size/position, but also interesting to see the layers somehow. Editing in the preview region should result in real time updates.

- Make preview region/editor more useful in general Scrub on 1 strip could only show that strip in the preview, for example. It could allow play there as a loop in 'strip time', without need to set ranges. Fast opengl playback of scenes should happen there too (is depsgraph related though, can be postponed).

- Make threaded prefetch work again Simple thing... but someone who adds a strip should get it to play within the fastest possible time.

- Make use of proxy and caches logical and visual This feature currently is very invisble and unclear. In none of the movie projects here I saw anyone use it... Also caching and memory use should be very well in control.

- Make Sequencer stereo and GPU ready Both don't have to be implemented, but it should be possible to add.

Specifications: