Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose new filters provided by FFmpeg/avfilter. #1993

Open
bradleysepos opened this issue Mar 16, 2019 · 6 comments

Comments

@bradleysepos
Copy link
Contributor

commented Mar 16, 2019

Made possible by the enhancements provided by #1992. In order of (my relative) priority, as requested.

Video

  • vidstabdetect and vidstabtransform
    • Stabilizes shaky video. Requires libvidstab. See #772.
  • tonemap
    • Facilitates HDR to SDR conversion. See #1307.
  • bm3d
    • BM3D is a state of the art image and video denoiser similar to, but using a different technique than NLMeans.
  • dedot
    • Dot crawl and chroma rainbow filter. The latter can have an effect similar to the more generalized Chroma Smooth filter in #1957. See #1415.
  • lut1d and lut3d
    • Very useful for applying a color grade to high bit depth video produced by professional video cameras. Such video generally looks washed out and compressed before a proper LUT is applied. Very useful for post production using the Production presets (especially the proxies). See #1348.
  • vibrance
    • Saturation boost/cut. Useful for restoring washed out videos and compensating for subtle saturation loss due to denoising and other filtering processes.
  • noise
    • Multiple passes of this filter could be used to create a regrain filter to simulate film grain, useful after denoising.
  • nnedi
    • High quality deinterlacer similar to EEDI2, using neural networks.
  • hqx, super2xsai, and xbr
    • Upscalers useful for sprites such as vintage 1/2/4/8/16-bit games. Not relevant until we allow upscaling in the GUIs according to the proposed Dimensions tab redesign.

Audio

I'm not certain whether the improvements in #1992 also help with audio, but here's a short list of useful audio filters.

  • acompressor
    • Generalized compressor that works with all audio, unlike AC-3 dynamic range compensation. See #1676 and #1681.
  • alimiter
    • Audio limiter; reduces the volume of level spikes (see also adeclip for restoring over limit peaks). Can also normalize gain. See #1676 and #1681.
  • afftdn
    • FFT audio denoiser; cleans up a noisy signal.
  • anlmdn
    • NLMeans-based audio denoiser; cleans up a noisy signal.
  • agate
    • Reduces quiet background noise and silences noise floor. Useful for podcasting and home videos.
  • crossfeed
    • Blends L and R audio channels to reduce stereo ambiance. Useful for reducing the perceived echo in ultra-wide stereo images, and improving usability for the hearing impaired and people sensitive to wide stereo images when using headphones. Stereo only.
@jstebbins

This comment has been minimized.

Copy link
Contributor

commented Mar 16, 2019

They don't help with audio, but it would be nice to have a filter pipeline for audio like we do for video. I'll add that to my list 😉

Thanks!

@sr55

This comment has been minimized.

Copy link
Contributor

commented Mar 17, 2019

Going to lead to some pretty complex UI. Some of this, such as stabilisation is more of an NLE task I'd argue.

@jstebbins

This comment has been minimized.

Copy link
Contributor

commented Mar 17, 2019

We should start by identifying the use case(s) for each filter. Do they fix something that our users commonly experience. Does the filter give us something one of our current filters doesn't provide (better suited for some use case, faster, etc.) We will have to document all this for our users if we have overlapping capabilities in filters. Stabilization may be a common problem, I just don't know. I don't know how many action cam users we have. I would suggest a survey, but I don't think our forum members are all that representative of the total user base ☹️

The linux GUI has plenty of room for several additional filters, but I'm not completely happy with the design. So we might want to consider reworking this anyway. Currently the linux GUI orders the filter widgets in the order the filters stages are run. This results in kind of a cluttered look since each filter has different numbers and types of widgets associated with it and things tend not to align well on the screen. Perhaps we could categorize the filters and group them by category. To show the flow through the filters, we could have a visual representation of the enabled filters at the top or bottom of the filter pane. If screen real estate gets tight (or just to create a cleaner look), categories could be expandable. I.e. the filter settings are not visible until you expand a category.

@bradleysepos

This comment has been minimized.

Copy link
Contributor Author

commented Mar 17, 2019

I will be happy to work on a Filters UI revision similar to what I did with the Dimensions tab, if desired.

Until very recently, many NLEs did not have stabilization, requiring the use of an effects compositor or third party plugin. Ironically, mobile apps by third parties such as Instagram/Facebook/etc. have made great strides in realtime stabilization, while most first party camera/video apps don't provide it at all.

Given the prominence of handheld mobile video, I think stabilization would be a win for HandBrake users. I'd use it a lot.

@samhutchins

This comment has been minimized.

Copy link
Contributor

commented Mar 19, 2019

If you do add audio filters, I'd love it if sofalizer was one of them

@bradleysepos

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
4 participants
You can’t perform that action at this time.