Log in

View Full Version : Hybrid: Input -> x264/x265/Xvid/VP8/VP9


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 [75] 76 77 78

Selur
13th December 2021, 16:29
Why is it triggered on b-frames? How to disable it?
It has nothing to do with b-frames. It's triggered if you tell Hybrid to use a specific bit rate for encoding and that bit rate would result in a file size below 1 MB.

I propose to expand the viewer
If you hold click and down on the original photo, the filtered photo will be displayed (as on photo comparison sites).
Not happening, but I welcome patches for avsViewer if someone wants to implement it.
Personally I'm fine with interleaving filtered and original using 'Filtering->Avisynth->Misc->Preview->SplitView Placement->interleaved'.

Cu Selur

Gravitator
13th December 2021, 16:48
It has nothing to do with b-frames.

At the end of the video(previously gave a link to a demo), there is a display of the message output when changing the b-frame at the encoders.
https://i.ibb.co/WcddFZw/1mb.jpg (https://ibb.co/zSLLbpY)

Gravitator
13th December 2021, 17:12
AOM
Incorrect encoding progress in %.

Selur
13th December 2021, 18:21
B-frames influences the container overhead and as such influences the bit rate calculation.
Since Hybrids calculation assumes a minimum file size of 1 MB (this will not change), either:
a. do not use such short content
b. do not use such low bit rates when using such short samples
c. do not use encoding modes which use bit rates when using such short samples
d. do not use Hybrid

AOM
Incorrect encoding progress in %.
I know, it's this way for quite some time, haven't had time to look into it. (think I fixed some of it and atm. it's mainly missing a *100)

Gravitator
13th December 2021, 19:54
Why can't I use short videos with a transfer rate of 1 Mbit/s? Discrimination!

Selur
26th February 2022, 09:16
Just for clarification: Hybrid it's a restiction of the file size to 1MB not a transfer rate restriction.

Selur
19th March 2022, 15:10
Hybrid rev 2022.03.19.1:
*fixed*

Analysis: FFmpeg color matrix detection
Input: make sure fps&frame count in encoders get updated on loading a source
aomenc: noise settings for 2pass constrained quality
Vapoursynth: split view 'diff' for RGB content
Preview: do not use MPlayer for Preview when Avisynth 64bit is used
Avisynth: profile: all Misc settings should now be saved in the Avisynth-profile
Avisynth: YUY2 needs to converted to YV16 for output.
Vapoursynth: mClean handling
Vapoursynth: fallback downsizer selection
Vapoursynth: missing PlaceboDebandThreshold
Vapoursynth: missing AviSource library loading
Vapoursynth: vsSMDegrain NNedi3 subpixel selection
Vapoursynth: stepped resizing
Vapoursynth: fixed vsRIFE missing miscfilters import when sceneChangeDetection was used.
Vapoursynth: adds mod4 for vsMCTemporalDenoise&avsTTempSmooth
Vapoursynth: clean up model combis
Vapoursynth: allow to set ColorMatrix flag when using timeCube
NVEncC: Level<>Bitrate mixup
FFMpeg: added -bsf:v h264_mp4toannexb for H.264 .avi muxing
UTVideo: use yuv44p for ULRG


*added*

Vapoursynth: support filter masking (max and edge mask)
Vapoursynth: FillDrops, CCD, parameterized GLSResizer
Vapoursynth: 12bit color handling
Vapoursynth: parameterized GLSL: adaptive-sharpen, LumaSharpen, ThinLine, A4K Darken
Vapoursynth: option to limit Libav threads in VapoursynthTab
Avisynth: support Histogram "RGBLevels", "CMYLevels", "RGBParade"
Avisynth: use avsInfo/avsInfo64 selection depending on whether Avisynth 32bit or 64bit selection
NVEncC: -vpp-colorspace lut3d=".." support


*changed*

Avisynth: Updated TemporalDegrain2 to 2.4.2
Vapoursynth: Adjusted to VSGAN 1.6.4
Avisynth Script input: force FFmpeg autoCrop detection
Vapoursynth: moved aaf and TemporalDegrain to 'rescued.py'
Vapoursynth: MCTemporalDenoise nCPU
Vapoursynth: save misc in profiles
FFMpeg now using matrix instead of out_color_matrix
GUI: fullscreen, font size adjustment,...
FFMpeg: explicitly call YUV->RGB conversion with matrix on PNG creation and PNG encoder call
Vapoursynth: KillerSpots and RemoveDirt disabled since RemoveDirt is broken for Vapoursynth
Vapoursynth: '# require colorformat XXX' for custom sections
Vapoursynth: changed default behaviour regarding loading libraries and added vsLoadLibrariesOnNonWindows to misc.ini on non-Windows OSs
Vapoursynth: use KNLMeansCL-Wrapper from havsfunc for speedUp on YUV content when all channels are filtered
Output: allow Hevc for mov container

*removed*

misc.ini: fontSize and toolTipFontSize options


-> downloads: http://www.selur.de/downloads

Cu Selur

locotus
19th March 2022, 19:31
Latest update seems to had broken something in NVenc X265, conversion stops after audio's and finishes the job.

Selur
19th March 2022, 19:44
Works fine here.
NVEncC version was updated, so you might have to update your NVIDIA drivers.
If updating the drivers doesn't help provide a debug output of the issue, maybe I can see something in the debug output.

Cu Selur

locotus
19th March 2022, 20:35
NVidia runing drivers are V511.79, updated on 02/14/2022. Uninstalling and going back to the previous Hybrid version, works normally.

Selur
19th March 2022, 21:38
Just noticed that I broke Vapoursynth script creation during job creation. So if you used Vapoursynth tha tis probably it.
-> will release a fixed version tomorrow.

Cu Selur

locotus
19th March 2022, 21:41
Just noticed that I broke Vapoursynth script creation during job creation. So if you used Vapoursynth tha tis probably it.
-> will release a fixed version tomorrow.

Cu Selur

Thanks a lot.

Selur
20th March 2022, 11:27
Hybrid rev 2022.03.20.1:
*fixed*

Vapoursynth: script creation during script creation
GUI: save icon/text selection in GlobalDataModel


*removed*

misc.ini: disableIcons option


-> downloads: http://www.selur.de/downloads

Cu Selur

Ps.: @locotus: If you still have issues, share a debug output.

mparade
10th April 2022, 20:27
Hello,

In Hybrid is it possible to convert only TrueHD Atmos audio track of a container file keeping all other tracks intact then mux everything back to an mkv container? I stream content to my OLED from NAS but there used to be a compatibility issue when an Atmos track exists in the container too. At the same time I would like to take the advantage of having an Atmos track, that is that I would like to encode it using Hybrid keeping most of the quality.

Thank you for the help.

Selur
11th April 2022, 04:13
You can specify for each track whether it should be passed through or reencoded in some way, so yes what you describe should be possible assuming you configure it manually. You can't tell Hybrid to automatically ony convert the audio streams that match a specifc format.

Cu Selur

Selur
14th April 2022, 16:53
Small heads-up to anyone using Hybrid with svt-encoders:
I'll remove support for those encoders for the time be, since:

encoding does not work with latest version
looking at https://github.com/AOMediaCodec/SVT-AV1/blob/dae3a5e62ea5244ab628f7f212c80019cd32f8f1/Docs/svt-av1_encoder_user_guide.md integration will have to be completely rewritten.


-> Update: I adjusted the SVT-AV1 which wasn't that much work (~10hrs) since most of the interessting stuff doesn't really work and thus doesn't need support.

Cu Selur

solidservo
23rd April 2022, 18:59
Hi guys!

I recently started using Hybrid for converting some of my DVDs. Quality is really awesome! But I have a question about batch processing.

Obviously I want to use the same settings on all episodes of a tv show, so i created a profile. However I found that even with a profile I still have to manually set the following 2 settings for every single episode I want to run through Hybrid.

- Convert output to PAR: Square Pixel
- target resolution: 1024

Is there a way how I can avoid having to set these two settings for every single episode I run through hybrid?

Or is there a way how I can tell hybrid to simply process all files (episodes) inside a folder using the same settings?

Thank you! :)

Selur
23rd April 2022, 19:14
regarding keeping the target resolution: enable "Crop/Resize->Misc->Misc->Keep resize for new Source"
No clue why 'Convert output to PAR' shouldn't be saved, but I'll check later.

Or is there a way how I can tell hybrid to simply process all files (episodes) inside a folder using the same settings?
Either select all the files as input or drag&drop the folder into Hybrids input line. Configure what you want, create jobs, start jobs.

Cu Selur

solidservo
23rd April 2022, 19:23
No clue why 'Convert output to PAR' shouldn't be saved, but I'll check later.
Yeah these two always reset when I load a new input videofile.


Either select all the files as input
Oh god I am so stupid.
I did not think that I could just select all files by holding down shift or ctrl. doh
Thanks!

Selur
23rd April 2022, 20:10
Yeah these two always reset when I load a new input videofile.
I checked default behaviour is: reset on source change unless it's a multi-input source (DVD, Blu-ray, list of files)
Enabling "Crop/Resize->Misc->Keep output PAR" should help.


Cu Selur

Sharc
12th August 2022, 09:45
Sorry if this has been addressed before, but could the deinterlace filter BWDIF() be added to the Avisynth filter selection in Hybrid? It is currently available for Vapoursynth only if I get it right.

Selur
12th August 2022, 18:09
(not using Avisynth nowadays) I'll look into it.
=> send you a link to a dev version via pm.

Cu Selur

nel-son
29th August 2022, 06:43
when loading a qp-file hybrid is searching the file in the folder $USER/.hybrid (on linux). i think it would be easier to search the file in the same folder where the input file is.

Selur
29th August 2022, 16:46
I'll look into it shouldn't be hard to change.

Yups
1st October 2022, 12:24
Can you add AV1 format which is supported by QSVEnc? Also you have to increase the constant quantizer limits and ICQ as well for AV1, they differ.

H265 8bit= 51
H265 10bit= 63 (51+12)
AV1= 255 (ICQ same limit 255)

You can also increase the gop-ref-dist/bframes limit to 33 for AV1 CQP, this is the maximum at the moment.

Selur
1st October 2022, 13:02
Haven't looked ad AV1 in QSVEnc since I have no hardware which supports it. (None of the ARC gpus are available here.)
-> it's planned, but will have to wait till I have a way to actually use and test it. :)

Selur
26th November 2022, 19:16
Hybrid rev 2022.11.26.1:
Tons of changes, see: https://selur.de/changelog
Make sure to either uninstall previous installations or reset defaults and load, check, resave every config&co you use.

-> downloads: http://www.selur.de/downloads

@Linux-Users: note that this is the last 5.95 Qt build will switch to Qt6 and a newer Ubuntu for building in the future.
@MacOS-Users: Sorry, no update of Hybrid atm. building all the tools is just too much trouble.

Cu Selur

locotus
27th November 2022, 00:09
Having this crash: helper exit code -1073741795.
After audio conversion finish.

Win 10, lastest updates, Using NVenc to x265

Bak to prior version, working fine.

Selur
27th November 2022, 06:49
@locotus: No debug output, no details. -> Can't do anything about it. Either stick with the old version or share details.

"helper exit code -1073741795" usually is caused by some bug in the decoder call or used scripts.

Cu Selur

Selur
28th November 2022, 11:14
Hybrid rev 2022.11.28.1:

Video: x264 range mixup
Decode: Mencoder -> FFMpeg pixFormat adjustement
Avisynth: Custom additions only working for first 50 filters


-> downloads: http://www.selur.de/downloads


Cu Selur

Selur
22nd January 2023, 12:55
2023.01.22.1:
*fixed*

Analysis: mkv attachement type detection
Video: NVEncC disable psnr/ssim when input is 4:4:4
Vapoursynth: width&height mixup in SSIMD checks
Vapoursynth: missing matrix info on separate field handling
Video: x264: temporalsublayer adjustment
Video: x265: --sbr mixup
Video: aomenc: decouple auto-alt-ref and some other options
Vapoursynth: vsYadifMod, EEDI3 only supports YUVXXXP8
Jobs: ffmpeg muxing deleted audio stream even if it was an input file
Jobs: chuncked encoding
Avisynth: applying Toon, VagueDenoiser, AddGrain, GrainFactory3 during filter order handling
Synth: fix DG PullDown handling
Muxing: avi handling
Vapoursynth: vsFilterQueue fmtconv handling
Jobs: temp-folder per job handling for qp&stats files.
Analysis: understand "Mastering display color primaries: BT.709"
Avisynth: fix filterQueue
Video: NVencC references gui glitches
Video: NVEncC: weightedp not added to command line
Video: NVEncC: remove xxxhq modes
Video: fix chapter point calculation
Audio: audio only handling
Video: SVT-AVI options
Vapoursynth: Gradfun3d+Preview+Masking
Vapoursynth: fixed - save Masking&Co in Vapoursynth profiles
Vapoursynth: FilterQueue + MAsking and onRegionOnly</öo>
Vapoursynth: Santiang call
Filtering: AutoCrop adjustment
Avisynth: fix disabled controls
Vapoursynth: eedi3m vs eedi3m_opencl (Windows only)
NVEncC: no profile&level&tier control for AV1, only 4:2:0 supported.

*changed*

Qt Updates: Changed to Qt 6.4.2 on Windows and Qt 5.15.3 on Linux
Vapoursynth: more options for MVToolsFPS
Video: aomenc cosmetics
Analysis: scan order check adjusted
Synth: libavsource: repeat=true handling
Video: aomenc adjust golden frame max, min values
Video: NVEncC support Lut interp option
Avisynth: FFT3DGPU add bitdepth option to force input depth
Synth: forceFilm through DGDecode, thanks to DG!
Vapoursynth: updated TemporalDegrain2
Jobs: additional user prompt when clearing temp folder
Avisynth: add PreRoll when using DGDecNV
Video: NVEncC: support aq independent of encoding mode
NVEncC: disable multiRef when it's not supported
Jobs: chunking: restrict used filters during scene change detection
Vapoursynth: vsRealESRGAN, Fusion, num_streams support
Vaporusynth: vsRetinex: increase sigma max
Vapoursynth: increase dehalo_alpha and finedehalp rx/ry max values

*added*

Audio: 'Ignore reencode and passthrough if format is ...'-option
Vapoursynth: support for NeoF3kD
Vapoursynth: weighted resizing
Vapoursynth: torchAddon vsSCUNet, vs-femasr, AnimeSR support
Video: aomenc '--gf-max-pyr-height'-option

*removed*

Video: SVT-XXX removed 'Create qp file for chapters', see: https:// forum.doom9.org/showthread.php?p=1981213#post1981213
Video: cuda nvencu encoder support

-> downloads: http://www.selur.de/downloads


Cu Selur

OrangeColaJuice
13th March 2023, 01:48
Just installed the latest version.
Loaded a clip, changed no option but clicked on preview avisynth script and I get this error:
https://files.catbox.moe/l828ey.png
I cannot do anything but accept it at which point the program shuts down.

Selur
13th March 2023, 08:54
Since I can't reproduce this here at all my guess is that you had an older Hybrid version installed before, with incompatible defaults.
-> try resetting your defaults etc.

Cu Selur

Selur
17th March 2023, 13:15
Hybrid rev 2023.03.17.1:
*changed*

Muxing: FFmpeg can't handle ttxt subtitle
Avisynth: use vsDeblockP77 for DeblockPP7
Vapoursynth: missing some needed checks
Vapoursynth: re-enable RealCUGAN resizer
Tools: set priority through niceness on vsViewer&avsViewer
Torch: adjust to SwinIR v3, DPIR v3.0.0, vsFeMaSR updated, vsGMFSS_union
Video: disable NVEncC/QSVEncC 'encoder only' for 'DVD input

*fixed*

Avisynth: mclean not called with default filter order
Avisynth: SelectRangeEvery
Vapoursynth: mod requirement handling for some filters
Vapoursynth: crop with interlaced fields handling
Vapoursynth: a few issues around masking
Vapoursynth: restrict Santiag color spaces
Vapoursynth: (normal) TimeCube call
Vapoursynth: restrict color spaces for NVEncCL
Vapoursynth: convert RGBH to RGBS for fmtc
Vapoursynth: vsPreview handling non-square aspect ratio
Vapoursynth: loading BilateralGPU filter in vsGradFun
Synth: letterbox issue where letterbow width/height addition was uneven
Jobs: typo in job generation for blu-ray input
Jobs: index file path for 'Create sub-folder ...'
Video: SVT-AV1 denoise option rennamed
Video: x264 only add rc-lookahead when mbtree is used
Video: SVT-AV1 HDR10 signaling
Video: x265 signaling luma always as limited
Audio: multi-input raw audio reencode

*added*

Vapoursynth: mode vsSpotLess options
Vapoursynth: support for vsDGDenoise, vsDGSharpen
Video: NVEncC npp support
Filtering: overwrite input color matrix and luminance value


-> downloads: http://www.selur.de/downloads

Cu Selur

ReinerSchweinlin
27th March 2023, 13:23
2023.01.22.1:

*removed*

Video: cuda nvencu encoder support



Could you clayrify on this one? Is this the driver build in encoder?

Selur
27th March 2023, 19:15
It's this encoder: https://github.com/Selur/CudaEncoder for which NVIDIA dropped support with 340.52 which were released 2014.7.29. ;)
Hybrid still had support for it if a specific misc.ini option was added.

OrangeColaJuice
28th March 2023, 20:30
I think that some AVS scripts are missing.
https://files.catbox.moe/whs8pv.png

Selur
29th March 2023, 19:58
I'll look into it, no clue when that script was lost.
I remember that script was used when downsizing more than a factor of 2, it tried to preserve more of the chroma info.
=> this will take me a while to find that script :(

Selur
29th March 2023, 20:34
Found it:

function force444DownSize(clip v1, int "width", int "height")
{
Y = v1.ConvertToY8().Spline36Resize(width, height, src_left=-0.5)
U = v1.UToY8()
V = v1.VToY8()
return YToUV(U, V, Y)
}

Uploaded it to my GoogleDrive (https://drive.google.com/file/d/1vvrROdwCMpS7wmbHxkP77Xcd3J0rv5kn/view?usp=share_link)
Simply save a copy of the file inside Hybrid/32bit/avisynthPlugins and Hybrid/64bit/Avisynth/avisynthPlugins and it should work.

Cu Selur

VoodooFX
29th March 2023, 22:36
Hi Selur, can Hybrid do one click batch encoding like MeGUI?

Selur
30th March 2023, 04:23
Don't remember what MeGUI does in that mode, but you can do batch encoding (drag&drop a folder or tons of files as input, adjust configuration and create tons of jobs).

Selur
30th March 2023, 16:28
@OrangeColaJuice: Had some time to look at the 'force 444 downsample'-option and I noticed that I never properly implemented support for it in Vapoursynth and Avisynth.
I fixed that (hopefully) and send you a link to a dev version via pm. (link will be active for ~24hrs)

Cu Selur

OrangeColaJuice
1st April 2023, 11:03
Thank you @Selur
everything works on my machine as intended, sorry for answering so late, downloaded the build within the 24 hours but forgot to come back here

Selur
1st April 2023, 12:28
Thanks, for letting me know that it works now. :)

juanitogan
19th April 2023, 20:22
Hybrid 2023.03.17.1

I just finished my first test of Hybrid (handy tool, btw, for one-off jobs when I'm not in Avisynth mode) and found that the x265 option does not set PAR properly (well, not with an ordinary NTSC DVD 720x480i 4:3 source anyhow). The current workaround is to set PAR manually by adding it to the x265 command line with `--sar 8:9` for example.

The weird thing is, when packaging to MKV, the PAR appears to be set correctly according to both MediaInfo "DAR 4:3" and ffprobe "SAR 8:9 DAR 4:3". VLC also plays it correctly. Roku, however, does not play it correctly but instead plays it with 1:1 PAR (DAR 3:2). (I didn't dig deeper with ffprobe to try to find the exact missing data point.)

I've learned over the years that whenever I have trouble with an MKV, I should first test it as an MP4. MediaInfo gives more/better details on MP4s and ffmpeg somehow works better--or gives better messages--with MP4s. (MakeMKV, for example, does not build MKVs from DVDs that trim well because it fails to do the equivalent of `ffmpeg -fflags +genpts` -- which does not always work when transcoding MKV-to-MKV for some reason.)

Thus, when I tried packing with Hybrid to MP4 instead, nothing liked the result. MediaInfo showed DAR 3:2, ffprobe showed SAR and DAR metadata to be absent, and both VLC and Roku played it in 3:2 instead of 4:3.

I poked around at various setting for a few hours running many tests, trying to find some conflict somewhere, but found nothing that helped the PAR setting and ultimately looked up x265 switches and tried adding `--sar x:y`. Oh, yes, I also tested x264 and that worked fine as well.

This is using primarily all the default settings as installed. I didn't change anything surprising (except during troubleshooting). That is, I set video to x265, audio to passthrough, default container to MKV; x265 CRF to 19 (and others during testing), preset to Slow (and others), profile to Main (8-bit); left deint at GTGMC (Vapoursynth), set its preset to Very Slow and checked Bob. That's it.

All the boxes that show detected input PAR (such as in Crop/Resize) correctly show 8x9. The main Base tab correctly shows PAR 0.889 in the video summary.

The only other thing I found was that videos from Hybrid don't set the progressive metadata flag like ffmpeg does, but forcing that didn't change anything either since progressive is the default for x265 anyhow.

Selur
21st April 2023, 20:00
I'll look into the 8:9 sar issue.

Selur
21st April 2023, 20:45
Send you a pm with a link to a dev version which should fix the issue.

Cu Selur

juanitogan
7th June 2023, 16:06
Auto deint: VIVTC > VDecimate tab > Cycle

Changing the Cycle does not change the output frame rate or count, like it does with TIVTC > TDecimate > Cycle. Assuming, that is, cycle is number of frames out of which to drop 1 frame.

Selur
7th June 2023, 16:55
Will look at it. (Haven't used VIVTC for ages. :))

Selur
7th June 2023, 17:30
Send you a pm with a link to a dev version which should fix the bug.

Cu Selur