Coder Social home page Coder Social logo

notenoughav1encodes's Introduction

NotEnoughAV1Encodes

NEAV1E is a GUI for AV1 encoders - aomenc, rav1e, svt-av1 & vp9.

A tool to make encoding faster and easier for AV1 encoders.

alt text


🔬 How does this program work?

  1. This program will split the given video file into chunks (scene based splitting or equal chunks).
  2. After splitting, it will encode the chunks with n-amount of workers.
  3. When finished, it will merge the encoded files to a single video file.

alt text Releases Build status

Stable Builds: Releases

Testing Builds: AppVeyor

📽 Encoders

NEAV1E supports the following encoders:

  • Intel Quicksync AV1 (Intel ARC)
  • NVIDIA NVENC AV1 (RTX 40 Series)
  • aomenc / libaom
  • rav1e / librav1e
  • svt-av1 / libsvt-av1
  • libvpx-vp9
  • libx265 / libx264

🎉 Special Thanks To

  • @wcxu21 for Chinese Translations!
  • Nonami for Russian Translations!
  • ieno for Japanese Translations!
  • All other wonderful people reporting Bugs and being so patient!

📬 Contacting me

You can find me on the unofficial AV1 Discord or on the NEAV1E Discord

notenoughav1encodes's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

notenoughav1encodes's Issues

[AOMENC] Encoding speed decreases over time - low CPU useage

Remember those sketchy download sites from years ago that used to slow the download speed over time for files and eventually you couldn't complete the download before the heat death of the universe? That's what's happening.

When I did my first encode it was running at around 20-24 FPS, it slowly crept down to 10, and then 5, and then 1, and I canceled it when it hit 0.24 FPS.

I don't know how else to describe it.

As the FPS goes down so does the CPU usage with it.

If you would like a log or something please respond with how I can get that for you.

Constant Quality bar behavior inverted

The behavior of the bar is inverted, thus choosing high quality will produce low quality and the other way round.
The functionality is given and the encoding working.

Win10 Version 10.0.18363 Build 18363
GUI Build Version (can be found under Program Settings): Pre-Release v0.9
Encoder you are using: aomenc
Encoding Settings: RF 19 (expect the same behaivor as h265/HEVC) -> Same behavior
--cpu-used=7 --bit-depth=10 --threads=8 --tile-columns=0 --tile-rows=0 --kf-min-dist=0 --kf-max-dist=240 --lag-in-frames=25 --max-reference-frames=7 --color-primaries=unspecified --transfer-characteristics=unspecified --matrix-coefficients=unspecified --i420 --tune=psnr --sharpness=0 --row-mt=1 --enable-keyframe-filtering=1 --aq-mode=0 --auto-alt-ref=0 --frame-boost=0 --end-usage=q --cq-level=19
Audio Settings if used: aac 160kbits
General Video Information (Framerate / Resolution - MediaInfo Screenshot would be nice): 720p30fps

[Feature Request] Track name for audio tracks

I would like to be able to name a audio track, for example when you have a audio track with commentary from the director.
Can you please integrate this in your great program? :-)

Thank you.

Kind regards

Updater not working

I am experiencing a issue with the updater in neav1e v1.3
It displays weird things and does not update / download
unknown

Also unrelated issue: The installer version seem to have permission issues on Windows AME, where the user has restricted permissions.

First underscore dropped from input & output filenames

Version 1.3 appears to be dropping the first underscore ("_") character from filenames entered into "Open Source" and "Save To..." filename dialogs. For example, entering 1_2_3_4_5_6_7_8.mp4 results in 12_3_4_5_6_7_8.mp4 being displayed in the the Overview tab.

NEAV1E_Filename_Bug

running out of disk space when using large files

i was trying neav1e and ran into some problems with larger files where the splitting process used way to much disk space

the file i used was a h265 with a resolution of [email protected] in 10 bit and roughly 2 hours of runtime
neav1e tried to split the file into chunks with 864 seconds length which results in 67gb for each chunk

Program crashes while encoding audio

Greetings,

NEAV1Enc Ver. 1.3 crashes after I started a job with just one video to encode while encoding audio.
I'm using Windows 10 Ver. 20H2 with latest patches, program dependencies also latest version.

program.log

At the muxing stage of the encode it throws an error Muxing failed. Video output not detected!

Describe the bug
At the muxing stage of the encode it throws an error Muxing failed. Video output not detected!
Common issue:
usw. (2 times reinstalled)
To Reproduce
Steps to reproduce the behavior:
Just start an Encode and in the final stages ist fails.

Expected behavior
A finished AV1 encode of S00E01 of Grenadier.^^
Screenshots
https://i.ibb.co/B67wfNk/2021-08-03-20-45-50.jpg
Log File
https://ghostbin.com/paste/BUnnr

Desktop (please complete the following information):

  • OS: Win10 20H2
  • NEAV1E Version: v1.9

Additional context
Add any other context about the problem here.

Might not be an issue, only FYI

Hello again,

this might not be an issue and it is only for your information:
Please note the progress bar.

NEAV1E-FYI01

Grüße aus dem Saarland

Copy Audio (FLAC) within Batch Processing

Hello again,

thank you for your latest Update. :-)
Since Version 1.5 I have issues with processing a bunch of mkv files with flac audio inside.
When I tune the settings, set the input and output locations, and then start the encoding, it detects the scenes of the first file and then the gong sound for finished batch immediately plays. Nothing encoded.
Do I have to set the audio bitrate to 0 for audio copy or leave it default (128)? Neither of the options actually work...

The program.log is not very helpful...

Regards

Crash when using Batch / Queue Encode

Issue: The program crashes unexpectedly after starting any Batch / Queue Encode

Possible cause: Might be a result of the change how cancellation is handled recently

[SUGGESTION] Cross-platform command-line AV1 / VP9 / HEVC / H264 / VVC encoding framework with per scene quality encoding

I found this interesting framework that aims to:

Spliting video by scenes for parallel encoding because AV1 encoders are currently not good at multithreading, encoding is limited to single or couple of threads at the same time.

  • PySceneDetect used for spliting video by scenes and running multiple encoders.
  • Fastest way to encode AV1 without losing quality, as fast as many CPU cores you have :).
  • Target Quality mode. Targeting end result reference visual quality. VMAF used as substructure
  • Resuming encoding without loss of encoded progress.
  • Simple and clean console look.
  • Automatic detection of the number of workers the host can handle.
  • Building encoding queue with bigger files first, minimizing waiting for the last scene to encode.
  • Both video and audio transcoding with FFmpeg.
  • Logging of progress of all encoders.

Github: https://github.com/master-of-zen/Av1an

EDIT: dunno if can help/inspire, but I just found a GUI for it -> https://github.com/natis1/qencoder

Hope that helps/inspires !

MKVMerge not merging

Issue: MKVMerge not merging on a clean Windows Install

Possible cause: MKVToolNix has been installed, but it might not set the Path Correctly

Chunking rounding issue

There's a small issue: When calculating chuck length, it rounds down instead of rounding up. So, it splits into 17 chunks instead of 16 when I select 16 threads.
If I add one second to the chunk length, it makes it 16 chunks.

Can't get video information with latest appveyor exe

Hi, i'm trying to use latest added features on the WIP version from appveyor and this happens when i try to open a mkv file

Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: NotEnoughAV1Encodes.exe
Problem Signature 02: 1.3.294.0
Problem Signature 03: bae26830
Problem Signature 04: NotEnoughAV1Encodes
Problem Signature 05: 1.3.294.0
Problem Signature 06: bae26830
Problem Signature 07: 32
Problem Signature 08: 6
Problem Signature 09: System.DllNotFoundException
OS Version: 6.1.7601.2.1.0.272.7
Locale ID: 1046
Additional Information 1: b726
Additional Information 2: b72633a7658729af14e8eabbae680de7
Additional Information 3: e350
Additional Information 4: e350084a3a7c0842ccba9879dae0e188

Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt

I have installed .net framework 4.8 and the one required by this program, also i installed microsoft runtime files

Regards

pyscenedetect causes videos to be incorrectly coded as twice as long

Using pyscenedetect makes the muxed video look like it is almost twice as long as it should be, time wise. Using time chunks or ffmpeg's scene detection doesn't have this problem. It also wasn't VFR related, the problem is only happening when pyscenedetect is used. For example, the video I am encoding is 11m 52s long, but the output file is 23m 44s, even though it cannot seek so far. The actual video is only 11m 52s in the output file, even though ffprobe, mpv and other plays show the output as 23m 44s long.

Checkboxes doesn't mark off

OS: Windows 7

Title describes the issue. Checking off boxes doesn't appear visually, and stay blank.

image

Running the program with compatibility options doesn't seem to resolve the issue.

Encode jobs merge with two instances active

I've had one job finished and started up a separate instance of the program.
After that second one was finished, I opened the result and I saw that it had like 10 seconds of footage from the previous encoding job. Thus the entire encoding had to be done again.

Don't know for sure how to reproduce it but I think you can do it the way that I did.

Edit: This doesn't always happen. Sometimes the program crashes right after splitting the job for the second instance. That is a separate problem which needs to be addressed.

[Feature Request] - Target VMAF

Is it possible to add a target VMAF like Av1an has? Would make the whole fiddling with qp more or less obsolete and would be the best way to archive a target quality.

Issue custom temp Path - issue not deleting temp files - issue shutdown after finish.

Hello Alkl58!

I only had three issues while testing your GUI:

  1. The Custom Temp Path that I set and save is not saved and is no longer available the next time the program is started. It adjusts itself to the other custom temp path immediately. (see photos)

  2. If the custom temp path is set, the temp files are not deleted after the encoding is completed.

  3. The shutdown after the encoding process does not work.

saved Temp file

(saved custom temp file D:\NEE)

after restart

(After restarting the program, the set custom temp path automatically changes to the other custom temp paths! Of course I had the previous settings saved in profile and saved this as the default. )

Otherwise thank you for this awesome GUI !!!

Good work !!!

Best regards!

j-mas

The default settings result in too many tiles (2x4).

The file size increased and I tested the number of tiles. (Andvanced settings good 1x1 tiles.)
Win 7 x64, ver.:1.2, Encoder: aomenc.
CLI (The value at the end of the lines.) :

C:\ffmpeg\...>ffplay -i v31.mkv -loglevel debug -x 1024
ffplay version git-2020-08-31-4a11a6f Copyright (c) 2003-2020 the FFmpeg developers
  built with gcc 10.2.1 (GCC) 20200805
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libm
p3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-lib
twolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-l
ibvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-librav1e --enable-libsvtav1 --disable-w32threads --enab
le-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 58.100 / 56. 58.100
  libavcodec     58.101.101 / 58.101.101
  libavformat    58. 51.101 / 58. 51.101
  libavdevice    58. 11.101 / 58. 11.101
  libavfilter     7. 87.100 /  7. 87.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Initialized direct3d renderer.
[NULL @ 00000000005b3740] Opening 'v31.mkv' for reading  0B f=0/0
[file @ 00000000005b3d80] Setting default whitelist 'file,crypto,data'
[matroska,webm @ 00000000005b3740] Format matroska,webm probed with size=2048 and score=100
st:0 removing common factor 1000000 from timebase
[matroska,webm @ 00000000005b3740] Before avformat_find_stream_info() pos: 528 bytes read:32768 seeks:0 nb_streams:1
[libdav1d @ 00000000005b6b00] libdav1d 6cf58c8
[libdav1d @ 00000000005b6b00] Using 1 frame threads, 1 tile threads
[libdav1d @ 00000000005b6b00] Frame 0:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[matroska,webm @ 00000000005b3740] All info found
[matroska,webm @ 00000000005b3740] After avformat_find_stream_info() pos: 98008 bytes read:98008 seeks:0 frames:1
Input #0, matroska,webm, from 'v31.mkv':
  Metadata:
    ENCODER         : Lavf58.51.101
  Duration: 00:02:37.62, start: 0.000000, bitrate: 1340 kb/s
    Stream #0:0, 1, 1/1000: Video: av1 (Main), 1 reference frame, yuv420p(tv), 1920x804, 0/1, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      DURATION        : 00:02:37.616000000
detected 4 logical cores
[libdav1d @ 0000000007400900] libdav1d 6cf58c8
[libdav1d @ 0000000007400900] Using 3 frame threads, 2 tile threads
[NULL @ 00000000005b6b00] Frame 1:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 2:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 3:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 4:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 5:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 6:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 7:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 8:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 9:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 10:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 11:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 12:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 13:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 14:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 15:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 16:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 17:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 18:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 19:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 20:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 21:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 22:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 23:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 24:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 25:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 26:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 27:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 28:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 29:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
Video frame changed from size:0x0 format:none serial:-1 to size:1920x804 format:yuv420p serial:1
[ffplay_buffer @ 00000000005b7800] Setting 'video_size' to value '1920x804'
[ffplay_buffer @ 00000000005b7800] Setting 'pix_fmt' to value '0'
[ffplay_buffer @ 00000000005b7800] Setting 'time_base' to value '1/1000'
[ffplay_buffer @ 00000000005b7800] Setting 'pixel_aspect' to value '0/1'
[ffplay_buffer @ 00000000005b7800] Setting 'frame_rate' to value '24000/1001'
[ffplay_buffer @ 00000000005b7800] w:1920 h:804 pixfmt:yuv420p tb:1/1000 fr:24000/1001 sar:0/1
[AVFilterGraph @ 0000000000612200] query_formats: 2 queried, 1 merged, 0 already done, 0 delayed
[NULL @ 00000000005b6b00] Frame 30:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 31:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 32:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
Created 1920x804 texture with SDL_PIXELFORMAT_IYUV.
[NULL @ 00000000005b6b00] Frame 33:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 34:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 35:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 36:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 37:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 38:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 39:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 40:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 41:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 42:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[NULL @ 00000000005b6b00] Frame 43:  size 1920x804  upscaled 1920  render 1920x804  subsample 2x2  bitdepth 8  tiles 2x4.
[AVIOContext @ 00000000005bd040] Statistics: 130776 bytes read, 0 seeks

Splitting strategy suggestion

As I understand it, the ffmpeg method splits on every scene change regardless of how many chunks are required for a given worker count. I believe this is not an optimal way to do it, especially since we can't assume that ffmpeg's scene detection takes the same decisions as AV1's and the threshold is arbitrary. As such we get a lot of extra keyframes, wasting the bitrate and hurting the decisions that codec would have made if it was able to look ahead past the next enforced split.

Instead, why not split the minimum amount of times required for a needed concurrency? So if we set 2 workers, ffmpeg should only look for a scene change around the middle of the video, splitting it into 2 roughly equal chunks, and so on. I've measured SSIM of the equal chunks strategy VS ffmpeg scene detection and there are noticeable quality drops in the latter.

Small number of extra frames added, causing sync issues

I have done several encodes lately (first of all thanks for the excellent program!!) and have noticed that on some of the movies I've done they end up out of sync with the audio, typically more so as time goes on.

I updated to all the latest versions but am still encountering the problem. For example, I am encoding a Blu-Ray x264 rip of a movie - the original movie has a total of 124480 frames (duration 1:26:31) but the AV1 encoded movie has a total of 124486 frames (duration 1:26:32). So somehow 6 frames are being added, causing the video to be slightly behind the audio the further into the movie you go.

I've attached screenshots of the original and encoded, both after navigating to frame 100000 in MPC-HC.

If it matters, I've used the default ffmpeg scene detect, typically do a resize down to 720p, and use the settings in the attached image.

It's driving me crazy, any idea what the issue is or if I'm doing something wrong?

settings
orig_100k
av1_100k

neav1e encoding modern video for web issues

Hi @Alkl58 and thanks for nice an really good look encoder.
I meet nav1e (and put #100 star :-) ) from v1.4 when i was find an svt-av1 windows GUI because HandBrake cant encode AV1 and other tools not using mutlithreat mode.

My target: encoding video for upload its to my website and i want to support modern video formats. My second target - fastest way and using full power of my PC i working in Ryzen ThreadRipper 1900x 8c/16t processor and can test also at Ryzen 9 3950x 16c/32 and AMD radeon RX580 8gb video cards

Ideal for me would be usecase like this:

Preparation
0. Create several presets (in my case - 9pcs)
File name: [orig-name][append].[container]
Endocer: svt-av1 (and encoder-related setting like quality=45 and other)
Filter: Scale 0x720p Lancozs
and some other settings

Usage

  1. open encoder and drag&drop video.mp4 (h264+AAC 30fps with high, not optimized for web bitrate like 21mbps from my video editing software)
  2. select several presets at the same time to apply
  3. click Start and get 9 output files
    3.1 Maximum (about 96%) browser-compatible formats in 3 steps of resolution (videocard-fast-encoded in h.264 ~5mbt bitrate like youtube recommended with AAC codec)
    3.1.1. video_1080p_h264.mp4
    3.1.2. video_720p_h264.mp4
    3.1.3. video_360p_h264.mp4
    3.2. Good (about 75%) browser-compatible and good file size optimized format in 3 steps of resolution (VP9+OPUS)
    3.2.1. video_1080p.webm
    3.2.2. video_720p.webm
    3.2.3. video_360p.webm
    3.3. Most perspective but currently low (about 40%) browser-compatible and best file size optimized format in 3 steps of resolution (AV1+OPUS)
    3.3.1. video_1080p_av1.mp4
    3.3.2. video_720p_av1.mp4
    3.3.3. video_360p_av1.mp4

And what nav1e features is missing for this case:

  • drag&drop input file support (like in HandBrake if you seen its)
  • in presets, simple text append support for file names
  • mp4 container support (was remover from v1.5 and i am very sad)
  • may be svt-vp9 support (implements like svt-av1 but my skills too low even for test svt-vp9 perfomance compare with ffmpeg+libvpx-vp9 with "-row-mt 1" and "-threads 16" whitch i using now and get a 60-70% CPU utilization, and for speedup i start two encoding processes simultaneously and get 98% CPU load!) OR libvpx-vp9 support
  • simple h264_amf (or other HW accelerated codec) and libfdk_aac support

[Feature request] Vapoursynth support

Dear Alkl58, first of all thanks for making NEAV1E public and keep up this great work!

Are you planning to integrate Vapoursynth to create the pipe to the encoders? On my Core i7 8700K the ffmpeg processes often take up ~70% of the cpu, with only ~30% left for the actual encoders. Vapoursynth (or, more precisely, "VSpipe") is much more efficient (currently ~5%), so that a huge speedup would be possible.

No output file

The last build 1.0.7 doesn´t create an muxed output file!

Filters won't work when splitting disabled

Crop is broken. When I encode with crop filter on, I'm getting uncropped image. When I'm encoding with crop and resize, both don't work, I'm getting uncropped image in original resolution. But resize works if crop is disabled.

'start encode' button not working

version 1.8
windows 20h2.

i press the button, it make the sound, but nothing happening. i press the pause button or the stop button and i get the message "encode has not started yet!".

i tried to change the settings, but nothing happens.
the original settings:
aomenc. speed 0. lowest file size. 2 passes.

No result after 12 hours of encoding after using "resume"

Boah! That was a hard blow!
I encoded a 2.5 hour video with aomenc. After 8 hours I had to stop and shut down the PC. The next day I used the resume function. The program opened correctly and also gave both folders, i.e. source video and output video. But when I ran start encode it found neither source video nor output video and asked for it. I have specified both folders again. After that the program resumed. After further four hours, the encoding process was completed and the muxing process was started and carried out to the end. So after a total of 12 hours I received the message that the process was finished. All the more my astonishment when I found out that unfortunately no result was received under the output folder !!!!!!!!!!!
No result there and all temp files deleted because I had set it up with the confidence that the program would work correctly. So 12 hours full power of my computer for nothing!!!
In the future I will always keep the temp files so that at least the video, audio and subtitle files can be merged with mkv Toolnix.

Alkl58, please check the resume function again and please fix the error!

The program is otherwise great. For processes without a resume it works excellently !!!

Best regards

j-mas

[Feature\Bug Request]: Checking of frame correctness in chunks

Have issue with video\audio desync after encoding with SVT-AV1 and AOMENC.
Video desync seems to happen at random points in the encoding process. Had tested with audio passthrough and via manual extraction of audio from original video and merging via MKVToolnix with the encoded video.

Would like to request for frame checking of missed frames during or right after the encoding is fone that might have cause this desync issue.

Thank you

[Question] About subtitles

Hello Alkl58 and thank you for your work on this great program.

It is actually my standard "go-to" encoding program atm. 😃
I have several questions about the subtitle section in neav1e.

When I want to encode a series with one or more subtitle tracks already baked in the mkv file (you can select the subtitle in the player), is it necessary to actually activate a subtitle track in neav1e? The thing is that i can't select a track for it because there is no separate subtitle file for it, you know?

The other question is about the "burn-in" function of neav1e in the subtitle section: What does this option do? I can't find a help menu or mouse-over explanation for it.

Thank you in advance for answering my questions.

Kind regards

Constant "No Output File found"

program.log

First time using. Constant issue no matter how many times set/saved. Keeps asking "No Output File found" on Video encoding section.

Tried multiple parts, settings and even containers with different file names.

Thanks

No Video Output with custom settings in advanced settings

--cpu-used=9 --bit-depth=10 --threads=8 --tile-columns=1 --tile-rows=0 --kf-min-dist=0 --kf-max-dist=48 --lag-in-frames=30 --max-reference-frames=7 --color-primaries=unspecified --transfer-characteristics=unspecified --matrix-coefficients=unspecified --i420 --tune=psnr --sharpness=0 --row-mt=1 --enable-keyframe-filtering=2 --aq-mode=0 --auto-alt-ref=1 --frame-boost=1 --end-usage=q --cq-level=25 --enable-qm=1 --enable-fwd-kf=1 --enable-chroma-deltaq=1 --mv-cost-upd-freq=2 --good --arnr-maxframes=10 --arnr-strength=4

Probable cause: --enable-keyframe-filtering=2
Reasoning: ffmpeg does not mux with keyframe-filtering 2
Confirmed: No

[Enhancement] Audio bitrate setting clarification

Hello Aiki58,

thank you for your great work on this program. It really helps me in reducing the file size of my library. :-)
I have a improvement suggestion for you: The audio bitrate is as of my understanding set per channel. For the absolute beginner, it is difficult to understand that for example aac 160kbit/s is the mono bitrate and ends up being 320kbit/s in stereo.

A little addition in your naming convention or a mouse-over hint with "per channel" would be very helpful for these guys.

Thank you and kind regards

Lukas

No output file file found!

Hi. After open app and select source video and output video and click on Start Encode show this dialog.

Checking Resume Mode not worked too.
Tested on: Pre-Release v0.9-beta

aaa

Edit:
This problem have filenames with special chars only. ... ěščřžýáíéúů (czech language chars)

Future: AVIF

Are you planning to make the same application to convert to AVIF format for images?

Batch mode not support change container (file format) type

By default, in batch mode for encode many videos, nav1e sets .mkv container, but it container not supported by web browsers and not usable for on-site videos.

It would be super feature, if .mp4 container will be added for batch mode!

Check Updates not working

(1.) Start and Check Updates button. Win 7 x64, ver.:1.2

neav1_error_3_256
neav1_error_4_256

program.log :

2020.09.04. 9:11:10 : Program Version: 1.2
2020.09.04. 9:11:11 : System Core Count: 4
2020.09.04. 9:11:11 : Encoder aomenc Path: 
2020.09.04. 9:11:11 : Encoder rav1e Path: 
2020.09.04. 9:11:11 : Encoder svt-av1 Path: 
2020.09.04. 9:11:11 : Encoder ffmpeg Path: 
2020.09.04. 9:11:11 : Encoder ffprobe Path: 
2020.09.04. 9:12:06 : Program Version: 1.2
2020.09.04. 9:12:07 : System Core Count: 4
2020.09.04. 9:12:07 : Encoder aomenc Path: 
2020.09.04. 9:12:07 : Encoder rav1e Path: 
2020.09.04. 9:12:07 : Encoder svt-av1 Path: 
2020.09.04. 9:12:07 : Encoder ffmpeg Path: 
2020.09.04. 9:12:07 : Encoder ffprobe Path: 
2020.09.04. 9:14:17 : Program Version: 1.2
2020.09.04. 9:14:18 : System Core Count: 4
2020.09.04. 9:14:18 : Encoder aomenc Path: 
2020.09.04. 9:14:18 : Encoder rav1e Path: 
2020.09.04. 9:14:18 : Encoder svt-av1 Path: 
2020.09.04. 9:14:18 : Encoder ffmpeg Path: 
2020.09.04. 9:14:18 : Encoder ffprobe Path: 
2020.09.04. 9:16:58 : Program Version: 1.2
2020.09.04. 9:16:59 : System Core Count: 4
2020.09.04. 9:16:59 : Encoder aomenc Path: 
2020.09.04. 9:16:59 : Encoder rav1e Path: 
2020.09.04. 9:16:59 : Encoder svt-av1 Path: 
2020.09.04. 9:16:59 : Encoder ffmpeg Path: 
2020.09.04. 9:16:59 : Encoder ffprobe Path: 
2020.09.04. 9:18:00 : Program Version: 1.2
2020.09.04. 9:18:01 : System Core Count: 4
2020.09.04. 9:18:01 : Encoder aomenc Path: 
2020.09.04. 9:18:01 : Encoder rav1e Path: 
2020.09.04. 9:18:01 : Encoder svt-av1 Path: 
2020.09.04. 9:18:01 : Encoder ffmpeg Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\ffmpeg
2020.09.04. 9:18:01 : Encoder ffprobe Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\ffmpeg
2020.09.04. 9:23:19 : Program Version: 1.2
2020.09.04. 9:23:20 : System Core Count: 4
2020.09.04. 9:23:20 : Encoder aomenc Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\Encoder
2020.09.04. 9:23:20 : Encoder rav1e Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\Encoder
2020.09.04. 9:23:20 : Encoder svt-av1 Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\Encoder
2020.09.04. 9:23:20 : Encoder ffmpeg Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\ffmpeg
2020.09.04. 9:23:20 : Encoder ffprobe Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\ffmpeg
2020.09.04. 9:26:44 : Program Version: 1.2
2020.09.04. 9:26:45 : System Core Count: 4
2020.09.04. 9:26:45 : Encoder aomenc Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\Encoder
2020.09.04. 9:26:45 : Encoder rav1e Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\Encoder
2020.09.04. 9:26:45 : Encoder svt-av1 Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\Encoder
2020.09.04. 9:26:45 : Encoder ffmpeg Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\ffmpeg
2020.09.04. 9:26:45 : Encoder ffprobe Path: C:\AMD\NEAV1\NotEnoughAV1Encodes\Apps\ffmpeg

Manual add ffmpeg and Encoder content run OK.

(2.) I try delete and reinstall, but not help.

(3.) Portable mode another message 09 : System.Windows.Markup.XamlParse

neav1_error_5_256

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.