Alkl58 / NotEnoughAV1Encodes

GUI for AV1 (aomenc, rav1e & svt-av1)
MIT License
536 stars 24 forks source link

[BUG] The program quits when you hit encode. No crash message is displayed! #153

Open Neo166 opened 10 months ago

Neo166 commented 10 months ago

Describe the bug The program quits when you hit encode. No crash message is displayed!

To Reproduce Steps to reproduce the behavior:

  1. Open any video as source
  2. Set any destination (accessible)
  3. Hit Encode
  4. Program disappears from view and task manager without any crash messasge.

Expected behavior Program should encode the video?

Screenshots Not Applicable since the program disappears.

Log File Tell me what logs are needed and how to get them.

Desktop (please complete the following information):

Additional context No other details however kindly tell me what additionally is needed.

Neo166 commented 9 months ago

Any Update? I see many have the same mysterious issue. You haven't been able to find why yet?

prefix1647 commented 8 months ago

Any Update? I see many have the same mysterious issue. You haven't been able to find why yet?

This is not a full-time project for the author so you may be waiting a while. If you need a quick solution, since you have Windows 11 my recommendation would be to install/activate Windows Subsystem for Linux (WSL) using ArchLinux - Microsoft doesn't provide Arch out of the box, but you can find a bootstrapping tool here: https://github.com/yuk7/ArchWSL

If you are going to be running many workers, you may want to increase the memory limit of the Linux virtual machine:

Edit: C:\Users\<your_username>\.wslconfig

I have 32 GB of RAM but still browse the internet with a couple tabs and use various programs on Windows while encoding, so I add this to .wslconfig

[wsl2]
memory=28GB

If you have less memory, just follow the same formula of Max GB - 4 and you should be fine. Keep in mind that each encoder thread/worker will probably use several hundred MB of RAM (and probably much more than that depending on source material and settings), so you should set your av1an worker count to about half your available RAM in GB - this also depends on the number of CPU cores and/or logical threads you have available. I have 24 cores but 32 logical threads (Intel i9-13900KS), so use --thread-affinity 2 -w 16 in my av1an settings for 16 workers that use 2 threads each. This happily works within my memory capacity as well.

After that, you can pacman -S av1an inside the WSL prompt, and get everything you need for chunked encoding (pacman, as with other Linux package managers, will download everything that av1an depends on, automatically).

CLI isn't that hard to learn, just keep a copy of the av1an configuration/settings documentation open in another window, along with the settings documentation for your chosen encoder. There are various "encode with av1an" guides out there as well which provide you with some easy copy-paste starter examples that you can build off of.

edit: despite the name, av1an supports more than just AV1 - it was merely called av1an because the AV1 ecosystem and community inspired its creation. I believe it supports x264, x265, vpx, aomenc, rav1e and svt-av1. Basically it can encode all of the mainstream codecs used on the web and for streaming services - and it supports all of the extant AV1 encoders because of course it does.

Alkl58 commented 8 months ago

Hey, sorry for the late reply.

There lot's of possiblities why it might crash.

There is one thing I want to confirm before proceeding with finding the issue:

  1. Go to the Video Tab
  2. Toggle "Advanced Settings"
  3. Go on the "Advanced" Tab
  4. Click on "Test Settings"

    If this fails there might be an issue with ffmpeg (maybe missing Visual C++ Redistributable).