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

Suggestion: Improve handling of failed VMAF probes #787

Open
clidx opened this issue Nov 11, 2023 · 0 comments
Open

Suggestion: Improve handling of failed VMAF probes #787

clidx opened this issue Nov 11, 2023 · 0 comments

Comments

@clidx
Copy link

clidx commented Nov 11, 2023

aomenc still crashes on specific chunks sometimes. The biggest offender I've noticed is VMAF probing when using a fork. The usual way of moving forward from this is to encode the chunk manually and update done.json.
I have 2 suggestions:

  1. Add a parameter like --probe-fail-quality=XX where a chunk will be encoded with the CRF/CQ of that value, if VMAF probing fails too many times
  2. Skip the chunk, continue encoding and error out before merging the chunks. The user manually encodes the chunk and then --resume merges the chunks. If the first suggestion is implemented, this could be the default behaviour if --probe-fail-quality is not specified, or have another switch controlling whether av1an skips the chunk for the time being. I don't know if av1an already does this but it could also compare the total frames of the chunks/output video vs the source to more or less covers user error.

Suggestion 2 could also be implemented for general chunk encoding fails, not just for probe fails.

I also noticed that av1an doesn't update "per_shot_target_quality_cq" in chunks.json. The CRF/CQ target for each chunk is added to the log file but this isn't persistent across different instances of av1an with --resume. It would be useful if chunks.json was updated with the CRF/CQ as well which would help the user manually encode failed chunks where the actual encode of the chunk fails.

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

1 participant