Crash in AVC encoding pass 1 - Printable Version +- Selur's Little Message Board (https://forum.selur.net) +-- Forum: Hybrid - Support (https://forum.selur.net/forum-1.html) +--- Forum: Problems & Questions (https://forum.selur.net/forum-3.html) +--- Thread: Crash in AVC encoding pass 1 (/thread-1659.html) |
Crash in AVC encoding pass 1 - incans - 30.12.2020 Hardware: Core i7-4770K, 16GB RAM OS: Windows 7 Pro 64bit Hybrid: 2020.12.13.1 New Hybrid user still finding my way around. This is my first attempt at trying to clean up some rough source material. Unfortunately it crashes early in the processing of the video. Source file: makemkv rip of "James Taylor - Squibnocket (2006)" DVD Source Issues: Flickering in the top ~6 lines of the frame, lots of grain (low light) Processing with the default params I would use for a typical film DVD just reproduced the issues in the source, plus added a nasty judder in horizontal panning shots. I added the following processing params: X264 Bitrate: 2000 Tune: grain Crop/Resize Avisynth style: L=16, T=8, B=8, R=16 Filtering Denoise: hqdn3D - slow, strong Unsharpen: Strength=1.00, Radius=7x7 DeShake: (default settings when enabled) Symptoms Job crashes in pass 1 of the x264 transcode Log only shows "exit code 0", but debug file mentions incorrect parameters to one of the filter stages. Log file attached. [attachment=1236] RE: Crash in AVC encoding pass 1 - Selur - 30.12.2020 General comment: It's usually a bad idea to mix FFmpeg and Vapoursynth/Avisynth filtering. Only visible error is: x264 output: y4m [error]: bad sequence header magic Looking at the debug output: Vapoursynth script used: # Imports Looking at the encoding call: "C:\Program Files\Other\Hybrid\64bit\Vapoursynth\vspipe.exe" "C:\Users\colin\AppData\Local Temp\encodingTempSynthSkript_2020-12-30@00_14_03_0010.vpy" - --y4m | "C:\Program Files\Other\Hybrid\64bit\ffmpeg.exe" -y -loglevel fatal -noautorotate -nostdin -threads 8 -f yuv4mpegpipe -i - -an -sn -vf hqdn3d=5:4:7:6,deshake=x=-1:y=-1:w=-1:rx=-1:ry:-1:egde=16:blocksize=16:contrast=mirror:search=8,unsharp=7:7:1.00:7:7:1.00,zscale=rangein=tv:range=tv -pix_fmt yuv420p -vsync 0 -f yuv4mpegpipe - -> will do some testing and report back Cu Selur RE: Crash in AVC encoding pass 1 - Selur - 30.12.2020 Yup, it's the deshake filer, it aborts with: [deshake @ 00000284cabb8fc0] Value -1.000000 for parameter 'rx' out of range [0 - 64] The documentation (https://www.ffmpeg.org/ffmpeg-all.html#deshake) says: Quote:Attempt to fix small changes in horizontal and/or vertical shift. This filter helps remove camera shake from hand-holding a camera, bumping a tripod, moving on a vehicle, etc.-> Yup, it's a bug in Hybrid I wrongly restricted rx/ry. (correction: I wrongly mapped the parameters. + syntax changed) -> will fix and send you a link to a dev version once I'm finished. Cu Selur RE: Crash in AVC encoding pass 1 - Selur - 30.12.2020 Send you a pm with a link to a dev version where the deshake filter should work. Cu Selur RE: Crash in AVC encoding pass 1 - incans - 30.12.2020 First, thank you for the fast and detailed response. Amazing support Re: >> General comment: It's usually a bad idea to mix FFmpeg and Vapoursynth/Avisynth filtering. I hadn't even realised that's what I was doing. I guess it takes a naive user to really stress a system ;-) >> Yup, it's the deshake filer, it aborts with... Well the good thing is that means I can at least try a conversion without the deShake filter to get me going, so that's good information, thank you. >> Send you a pm with a link to a dev version where the deshake filter should work. Again, superb support, and much appreciated thank you! RE: Crash in AVC encoding pass 1 - Selur - 30.12.2020 Please, check the version from the pm and let me know if everything it fixed. Cu Selur RE: Crash in AVC encoding pass 1 - incans - 30.12.2020 (30.12.2020, 15:12)Selur Wrote: Please, check the version from the pm and let me know if everything it fixed. The good news is the conversion now runs to completion without an error, so thamk you for the remarkable turnround on fixing the bug The processed video still looks pretty terrible, but that is my problem to try to work out the appropriate filter settings to try to make the best of the poor quality source. One odd thing, so far when using Hybrid I have generally seen the audio processing and file swapping etc tends to be either single threaded or IO-bound, so the CPU is running at 25-50% utilisation in those phases, but the video encoding passes (with the default "0 threads" setting to use the default threading) are entirely CPU bound, so the CPU sits nailed at 100% for 1-2 hours for a full feature film. Running the pipeline for this DVD rip, with more filters involved, the CPU only seemed to reach about 50% utilisation. Obviously with more filtering you'd expect a longer processing time, but I wondered whether there were also some changes I should be making to the threading configuration to get the best throughput? I think I am going to be running a lot of tests on this one DVD to try to get a decent output. Cropping and rescaling back to 720x576 removed the flickering in the top lines, but either this or the deShake causes bad tearing and juddering movement in the output, plus new artifacts on the left and right hand sides of the frame (where the original video seems to be letterboxed with back borders to transfer a 5x4 aspect ratio source (presumably from DV tape) onto a 720x576 digital version. There's a vast amount I don't know about processing poor quaity source material. Many of the options in Hybrid are less than obvuous in their effect. If there are any good guides to the options available that would be good to know. However, on the original bug report, that appears to be fixed, so a positive outcome RE: Crash in AVC encoding pass 1 - Selur - 30.12.2020 Quote:One odd thing, so far when using Hybrid I have generally seen the audio processing and file swapping etc tends to be either single threaded or IO-bound, so the CPU is running at 25-50% utilisation in those phases, but the video encoding passes (with the default "0 threads" setting to use the default threading) are entirely CPU bound, so the CPU sits nailed at 100% for 1-2 hours for a full feature film.Nothing odd about it. Audio compression generally doesn't really use multithreading. Quote:Running the pipeline for this DVD rip, with more filters involved, the CPU only seemed to reach about 50% utilisation. Obviously with more filtering you'd expect a longer processing time, but I wondered whether there were also some changes I should be making to the threading configuration to get the best throughput?Some filters are slow others are fast, I doubt that tweaking the threading settings will change much. As genera hint: Do not use the ffmpeg filters. Anything that can be done with those filters can be (better) done with Avisynth/Vapoursynth. Quote:If there are any good guides to the options available that would be good to know.Nope. Avisynth and Vapoursynth filters have their own Preview which normally helps checking out the effect of the filters. Cu Selur |