olive-editor / olive

Free open-source non-linear video editor
https://olivevideoeditor.org/
GNU General Public License v3.0
8.13k stars 548 forks source link

[Feature request] More "professional" effects #452

Closed libalis closed 5 years ago

libalis commented 5 years ago

As I use this program more and more, I miss more and more functions. I know these effect are complicate, but it would be so nice if you would at least add it your future features list! Effect I miss the most:

I know that these are very complicated and "professional" effects for which paid developers need more than a month for, but it would be so nice to have them!

Thank you in advance and keep up the great work!

P.S.: Why is Quality 0 better than Quality 36 in MP4? (I don't get it!) Would be nice beeing able to set the bitrate instead in MP4

itsmattkc commented 5 years ago

Yes, as you say curves are mentioned #415, stabilization is mentioned in #190. Tracking is planned somewhere down the line, probably around the same time as #190 because of OpenCV.

The use of CRF instead of CBR is that H.264 doesn't really have a true constant bitrate mode and CRF is the best method for quality (see https://trac.ffmpeg.org/wiki/Encode/H.264#crf), but there will probably be more export features in the near future.

ghost commented 5 years ago

@itsmattkc , is it possible to offload the optical flow from video stabilization to the GPU?

I searched the internet for GLSL-based optical flow and found this article. The 2011 article implemented a GLSL version of the Lucas-Kanade algorithm which can be used for stabilization?

I found some stuff such as pixelflow and ofxFlowTools which have their way of producing glsl-based optical flow and fluid/particle simulation effects. I doubt these can make use in Olive, but feature-detection can be resource-intensive

itsmattkc commented 5 years ago

@BrimsonBhin Indeed, this is where stabilization stalled earlier in #190. I was mid-way through implementing libvidstab (included in FFmpeg) but found the results to be extremely slow (even though the analysis had been done beforehand). I've looked at OpenCV which seems to have potential for GPU accelerated stabilization. I also wondered about keeping libvidstab for analysis and then porting libvidstab's to GLSL/writing a custom interpreter, but haven't really had a proper look since. I'll take a look at your links too.

frink commented 5 years ago

These are all clip level edits.

  1. Curves is great for color grading a clip.
  2. Image stabilization is great for keeping us from puking... ;-)
  3. Object tracking is great for compositing or selective color grading.

Olive isn't really a compositor too much and color grading has yet to be added. Until those goals become part of Olive I don't see these emerging as needed features. Color grading may be the next thing that is tackled after basic editing. Image stabilization may be an offshoot since OpenCV will be needed for the object tracking anyway. But I wouldn't expect this for several years yet...

alcomposer commented 5 years ago

Good thing about OpenCV is when @itsmattkc integrates it as part of Olive, Image tracking comes for free.

Olive should aim to be a great compositor, that really is the way the industry is going, (edit & composite). At least Olive don't have the baggage of DV tape days! It's so fantastic to be able to composite straight in an NLE, very liberating, and super fast. Don't get worried about if Olive 'looks' like a compositor, it really isn't about the looks, its about what the software does in the background, and how it handles pixel values that really counts.

frink commented 5 years ago

Right. I agree 150%!!

This is my point in suggesting generic workspaces #587 to allow easy interaction. You can't have cumbersome interactivity with power under the hood. It's not an either/or that makes great pro-grade tools. A professional doesn't want to spend time doing things that don't make money. If she can do it faster and cheaper somewhere else that's the choice a professional has to make.

libalis commented 5 years ago

Please excuse me for reanimating this issue. But does anyone know the current status?

itsmattkc commented 5 years ago

I think it would be better to split this issue into separate feature requests for discussion. This is very nebulous thread of generally unrelated issues.