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

Smart Cut Custom Settings #1824

Closed
4 tasks done
Tracked by #126
BuyMyMojo opened this issue Dec 22, 2023 · 3 comments
Closed
4 tasks done
Tracked by #126

Smart Cut Custom Settings #1824

BuyMyMojo opened this issue Dec 22, 2023 · 3 comments

Comments

@BuyMyMojo
Copy link

I have a lot of issues to go through, so in order to make it easier for me to help you, I ask that you please try these things first

Description

I feel a good advanced option for smart cut would be custom ffmpeg flags. like using a CRF/QP value for encoding or settings the encoder manually (Using hardware encoding or choose a different one of the 3 software av1 encoders) along with allowing for more advanced custom flags in a text box, for example I like to just set these flags whenever I use av1_qsv:
-adaptive_i -adaptive_b -preset veryslow -async_depth 1 -look_ahead_depth 100 -b_strategy 1

a possible simpler (on the user side) implementation for this would be to add a basic "user hardware encoder" toggle for smart cut that detects the users GPU and can use the respective encoder:
av1 - av1_nvenc av1_qsv av1_amf
hevc - hevc_amf hevc_nvenc hevc_qsv
h264 - h264_amf h264_nvenc h264_qsv
vp9 - vp9_qsv

this should allow for much faster encoding when users have hardware support

@mifi
Copy link
Owner

mifi commented Dec 22, 2023

hmm, i'm not sure if hardware encoding will be that beneficial, because usually when doing smart cut, the actual cut portion is a small section (less than a second) before the keyframe. the majority of the cut operation is lossless (which would not benefit from hw encoding). also I know that hardware encoding is often buggy or lacking in terms of features, compared to the best software encoders. for example raspberry pi or macos's harware h264 encoder yields worse results than x264. so not only is the quality worse, but it's harder to match the correct parameters of the source video when you are using a plethora of different encoders.

@BuyMyMojo
Copy link
Author

for lower end systems who may be cutting 4K movie clips (just an example I made up) I could see it being beneficial. while some features may be missing in general the hardware encoders on the last couple generations can produce x264 quality on par or better than x264 medium.

The biggest reason I personally want it is for av1 clips where it can be beneficial to have key frames placed much further apart and even worse av1 animation encodes which have very lengthy sections of no keyframe because of the static nature of the content which can mean larger smart cut sections taking even longer to encode. This is an issue that can be helped with #1825 since the default libsvtav1 encoder speed is substantially faster but for again lower end systems with fewer core counts this could be a slow encode option.

this is by all means a very specific request and use case.

for non hardware encoders I can see having custom settings available being useful for tuning the quality for those sections to not be as noticeable when doing larger cut and merge edits. so when there are at least two smart cuts in quick succession giving more time for the visual quality different to be noticeable

@mifi mifi mentioned this issue Dec 30, 2023
8 tasks
@mifi
Copy link
Owner

mifi commented Dec 30, 2023

I've added the suggestion to #126 OP - closing this to keep issue count down

@mifi mifi closed this as completed Dec 30, 2023
mifi added a commit that referenced this issue May 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants