![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Rektlvls - Printable Version +- Selur's Little Message Board (https://forum.selur.net) +-- Forum: Hybrid - Support (https://forum.selur.net/forum-1.html) +--- Forum: Probleme und Fragen (https://forum.selur.net/forum-4.html) +--- Thread: Rektlvls (/thread-4226.html) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rektlvls - Autofahrer - 02.10.2025 Liebe Freunde der Videokompression, ich würde gerne in meiner Filterchain dirty lines mittels rektlvls entfernen, ähnlich wie in diesem Guide. In dem Ordner "C:\Program Files\Hybrid\64bit\vsscripts" befindet sich zwar ein script mit dem Namen rekt.py, jedoch fehlen rektaa.py, rekt_fast.py und rektlvls.py von dieser Repo. Ich habe die entsprechenden Dateien in den "vsscripts" Ordner kopiert und versucht rektlvls vor meinem letzten Filter, GrainFactory, zu importieren, was in einem Error resultierte, als ich das Vapoursynth preview öffnen wollte. ![]() Wahrscheinlich liegt hier ein fundamentales Missverständnis meinserseits vor, wie Vapoursynth und Python funktionieren, also sorry schonmal davon dass ich von nichts eine Ahnung habe. Kann das überhaupt klappen was ich hier versuche? Beste Grüße! RE: Rektlvls - Selur - 02.10.2025 Kann es gerade nicht testen, aber aus dem Bauch heraus würde ich sagen, dass Du: 1. den kompletten 'rekt' Ordner (aus dem Projekt) importieren musst, d.h. entweder in vsscripts kopieren, oder explizit im Skript den Suchpfad entsprechend erweitern, wie Hybrid es für den vscripts Ordner macht. 2. anstatt 'import rektlvls' musst Du denke ich ein 'from rekt import rektlvls' verwenden kann ich später aber mal testen und Genaueres zu sagen. Falls Du Filter beschleunigen willst, dadurch dass Du das machst und der Filtercode nicht in der Custom Sektion ist wird das nicht klappen. ![]() Wenn Du eine Beschleunigung haben willst, dadruch, dass Du nur Teile des Bildes filterst solltest Du: 1. 'Filtering->Vapoursynth->Misc->UI->Show 'Only on region'-controls' aktivieren 2. bei dem entsprechenden Filter den Bereich im 'Only on region'-Bereich konfigurieren. (dafür muss auch nichts Weiteres Importiert werden) Cu Selur RE: Rektlvls - Selur - 02.10.2025 Sorry, voll übersehen was Du erreichen wolltest. ![]() a. Falls die Linien am Rand sind, würde ich vermutlich eher erst mal die Filter unter "Filtering->Vapoursynth->Frame->Edge" antesten. b. Habe es gerade mal getestet: Den rekt-Ordner in vsscripts kopieren und dann in einem Custom-Bereich: from rekt import rektlvlsCu Selur RE: Rektlvls - Autofahrer - 02.10.2025 (02.10.2025, 14:07)Selur Wrote: a. Falls die Linien am Rand sind, würde ich vermutlich eher erst mal die Filter unter "Filtering->Vapoursynth->Frame->Edge" antesten. Danke für die Antwort! Nachdem ich es ausgetestet habe bin ich da voll bei dir, Balance/fill Borders ist viel angemessener für dirty lines. Ich bin auch sehr begeistert von der ApplyOnlyTo Funktion, da der Film an dem ich arbeite scheinbar auf irgendeinem Format aufgenommen wurde wo der obere Rand des Bildes sich am physischen oberem Rand vom Negativfenster befindet (also nicht Matte). Dementsprechend verändert sich der Bedarf für Fillmargins von Szene zu Szene leicht. Mit ApplyOnlyTo habe ich die Möglichkeit Fillmargins für bestimmte Szenen aus- oder einzuschalten, jedoch bleiben die Einstellungen immer gleich. Könnte man auch irgendwie verschiedene Werte für verschiedene Szenen einstellen? RE: Rektlvls - Selur - 02.10.2025 Quote:Könnte man auch irgendwie verschiedene Werte für verschiedene Szenen einstellen?Du kannst einen Filter mehr als 1x in der Filter Queue haben (musst aber von FilterOrder zu FilterQueue wechseln, siehe: [INFO] About Vapoursynth Filter Order/Queue ). ![]() Sprich Du kannst z.B. einen Filter 1x mit Settings Y auf Szenen A, B, E anwenden und 1x mit Setting W auf Szenen C, D. Gibt da einiges, was man machen kann und was nicht in den Standardeinstellungen möglich ist: ![]() Da aber die meisten Leute an sich schon Probleme mit der Oberfläche haben, gibt es 'Filtering->Vapoursynth->Misc->UI' und 'Filtering->Vapoursynth->Misc->Filter Order/Queue' und ein paar Optionen optional zu haben. Cu Selur RE: Rektlvls - Autofahrer - 02.10.2025 (02.10.2025, 15:43)Selur Wrote: Da aber die meisten Leute an sich schon Probleme mit der Oberfläche haben, gibt es 'Filtering->Vapoursynth->Misc->UI' und 'Filtering->Vapoursynth->Misc->Filter Order/Queue' und ein paar Optionen optional zu haben. Ich finde im standart "Filter Order" Modus ist Hybrid sehr übersichtlich wenn man bedenkt wie viele Funktionen es in sich vereint. Wem das zu viel ist ist zu raten zu Handbrake zu wechseln und sich mit den Fehlen von Filtern abzufinden. Ich bin gerade nicht zuhause und kann das nicht checken, aber wenn ich von order zu queue wechsele, werden dann die Filter die ich bereits gesetzt habe bzw. die in meiner Config sind übernommen? Beste Grüße RE: Rektlvls - Selur - 02.10.2025 Quote: Ich bin gerade nicht zuhause und kann das nicht checken, aber wenn ich von order zu queue wechsele, werden dann die Filter die ich bereits gesetzt habe bzw. die in meiner Config sind übernommen?Gibt einen Button "Reset 'Filter Queue' to 'Filter Order'", wenn man den drückt, werden die aktuellen Einstellungen in die FilterQueue übernommen. Cu Selur RE: Rektlvls - Autofahrer - 02.10.2025 (02.10.2025, 15:43)Selur Wrote: Gibt einen Button "Reset 'Filter Queue' to 'Filter Order'", wenn man den drückt, werden die aktuellen Einstellungen in die FilterQueue übernommen. Danke! Leider scheint es bei dieser Übernahme einen kleinen Bug zu geben: ![]() Da der Bug wohl mit GrainFactory zusammenhängt hänge ich dir nochmal meine entsprechenden Einstellungen an. ![]() Und hier nochmal das ganze Script: # ImportsIch bin übrigens die selbe Person die dir auf den Doom9 Foren eine PN geschickt hat bezöglich eines Bugs beim dem Temporal Average Parameter von GrainFactory. Vielleicht ist der Fix nicht kompatibel mit der Übernahme der Einstellungen von Filter Order zu Filter Queue? LG RE: Rektlvls - Selur - 02.10.2025 Bin verwirrt, in dem Skript steht: clip = addGrain.GrainFactory3(clp=clip, g1str=4.50, g1shrp=35, g1size=2.20, g2str=2.70, g2shrp=43, g2size=1.70, g3str=2.10, g3shrp=55, g3size=1.30, temp_avg=65, ontop_grain=1.70)Versuch mal mit der aktuellen dev (Hybrid_dev_2025.10.02-1800) und erstell mal einen Debug output davon, vielleicht sieht man dann was da schief geht. Bei mir wird auch mit aktivierter FilterQueue im Skript korrekt: clip = addGrain.GrainFactory3(clp=clip, g1str=4.50, g1shrp=35, g1size=2.20, g2str=2.70, g2shrp=43, g2size=1.70, g3str=2.10, g3shrp=55, g3size=1.30, temp_avg=65, ontop_grain=1.70)Der zugehörige FilterQueue Eintrag sieht auch richtig aus. AddGrain - GrainFactory:*,*:vsGrainFactoryDarkMidEnd;56:*,*:vsGrainFactoryDarkMidStart;24:*,*:vsGrainFactoryG1Sharpness;35:*,*:vsGrainFactoryG1Size;2.20:*,*:vsGrainFactoryG1Strength;4.50:*,*:vsGrainFactoryG2Sharpness;43:*,*:vsGrainFactoryG2Size;1.70:*,*:vsGrainFactoryG2Strength;2.70:*,*:vsGrainFactoryG3Sharpness;55:*,*:vsGrainFactoryG3Size;1.30:*,*:vsGrainFactoryG3Strength;2.10:*,*:vsGrainFactoryMidBrightEnd;160:*,*:vsGrainFactoryMidBrightStart;128:*,*:vsGrainFactoryOnTopGrain;1.70:*,*:vsGrainFactoryTempAverage;65:*,*:vsUseGrainFactory3;true:*,*:vsGrainFactoryUseMasked;false:*,*:vsGrainFactoryMaskName;LimitMask:*,*:vsGrainFactoryMaskStack;:*,*:vsGrainFactoryLimitMaskLimit;30:*,*:vsGrainFactoryLimitMaskFilterBelow;true:*,*:vsGrainFactoryLimitMaskShow;false:*,*:vsGrainFactoryMaskApplyCount;0:*,*:vsGrainFactoryRetinexEdgeMaskTCSigma;1.00:*,*:vsGrainFactoryCartoonEdgesLow;0:*,*:vsGrainFactoryCartoonEdgesHigh;255:*,*:vsGrainFactoryRobertsEdgesLow;0:*,*:vsGrainFactoryRobertsEdgesHigh;255:*,*:vsGrainFactoryRectangleMaskShow;false:*,*:vsGrainFactoryRectangleMaskInvert;false:*,*:vsGrainFactoryRectangleMaskCropLeft;0:*,*:vsGrainFactoryRectangleMaskCropTop;0:*,*:vsGrainFactoryRectangleMaskCropRight;0:*,*:vsGrainFactoryRectangleMaskCropBottom;0:*,*:vsGrainFactoryMotionMaskTh1;10:*,*:vsGrainFactoryMotionMaskTh2;10:*,*:vsGrainFactoryMotionMaskT;15:*,*:vsGrainFactoryFinegrainMaskFilterMode;RemoveGrain:*,*:vsGrainFactoryRetinexEdgeMaskInvert;false:*,*:vsGrainFactoryRetinexEdgeMaskShow;false:*,*:vsGrainFactoryRetinexEdgeMaskBinarize;false:*,*:vsGrainFactoryRetinexEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryRetinexEdgeMaskScaleF;false:*,*:vsGrainFactoryRetinexEdgeMaskScaleFactor;1.00:*,*:vsGrainFactoryKirschEdgeMaskInvert;false:*,*:vsGrainFactoryKirschEdgeMaskShow;false:*,*:vsGrainFactoryKirschEdgeMaskBinarize;false:*,*:vsGrainFactoryKirschEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryKirschEdgeMaskScaleF;false:*,*:vsGrainFactoryKirschEdgeMaskScaleFactor;1.00:*,*:vsGrainFactorySobelFastEdgeMaskInvert;false:*,*:vsGrainFactorySobelFastEdgeMaskShow;false:*,*:vsGrainFactorySobelFastEdgeMaskBinarize;false:*,*:vsGrainFactorySobelFastEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactorySobelFastEdgeMaskScaleF;false:*,*:vsGrainFactorySobelFastEdgeMaskScaleFactor;1.00:*,*:vsGrainFactoryBloatedEdgeMaskInvert;false:*,*:vsGrainFactoryBloatedEdgeMaskShow;false:*,*:vsGrainFactoryBloatedEdgeMaskBinarize;false:*,*:vsGrainFactoryBloatedEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryBloatedEdgeMaskScaleF;false:*,*:vsGrainFactoryBloatedEdgeMaskScaleFactor;1.00:*,*:vsGrainFactorySobelEdgeMaskInvert;false:*,*:vsGrainFactorySobelEdgeMaskShow;false:*,*:vsGrainFactorySobelEdgeMaskBinarize;false:*,*:vsGrainFactorySobelEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactorySobelEdgeMaskScaleF;false:*,*:vsGrainFactorySobelEdgeMaskScaleFactor;1.00:*,*:vsGrainFactoryPrewittEdgeMaskInvert;false:*,*:vsGrainFactoryPrewittEdgeMaskShow;false:*,*:vsGrainFactoryPrewittEdgeMaskBinarize;false:*,*:vsGrainFactoryPrewittEdgeMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryPrewittEdgeMaskScaleF;false:*,*:vsGrainFactoryPrewittEdgeMaskScaleFactor;1.00:*,*:vsGrainFactoryCartoonEdgesInvert;false:*,*:vsGrainFactoryCartoonEdgesShow;false:*,*:vsGrainFactoryCartoonEdgesBinarize;false:*,*:vsGrainFactoryCartoonEdgesBinarizeThreshold;0.500:*,*:vsGrainFactoryCartoonEdgesScaleF;false:*,*:vsGrainFactoryCartoonEdgesScaleFactor;1.00:*,*:vsGrainFactoryRobertsEdgesInvert;false:*,*:vsGrainFactoryRobertsEdgesShow;false:*,*:vsGrainFactoryRobertsEdgesBinarize;false:*,*:vsGrainFactoryRobertsEdgesBinarizeThreshold;0.500:*,*:vsGrainFactoryRobertsEdgesScaleF;false:*,*:vsGrainFactoryRobertsEdgesScaleFactor;1.00:*,*:vsGrainFactoryFinegrainMaskInvert;false:*,*:vsGrainFactoryFinegrainMaskShow;false:*,*:vsGrainFactoryFinegrainMaskBinarize;false:*,*:vsGrainFactoryFinegrainMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryFinegrainMaskScaleF;false:*,*:vsGrainFactoryFinegrainMaskScaleFactor;1.00:*,*:vsGrainFactoryMotionMaskInvert;false:*,*:vsGrainFactoryMotionMaskShow;false:*,*:vsGrainFactoryMotionMaskBinarize;false:*,*:vsGrainFactoryMotionMaskBinarizeThreshold;0.500:*,*:vsGrainFactoryMotionMaskScaleF;false:*,*:vsGrainFactoryMotionMaskScaleFactor;1.00:*,*:vsGrainFactoryUseMerge;false:*,*:vsGrainFactoryMergeY;0.000:*,*:vsGrainFactoryMergeU;0.000:*,*:vsGrainFactoryMergeV;0.000:*,*:vsGrainFactoryMergeYUV;true:*,*:vsGrainFactoryMergeYUVValue;0.000:*,*:vsGrainFactoryApplyOnlyTo;false:*,*:vsGrainFactoryOnlyRange;false:*,*:vsGrainFactoryRanges;:*,*:vsGrainFactoryApplyOnlyToEvery;false:*,*:vsGrainFactoryApplyOnlyToEveryOffsets;:*,*:vsGrainFactoryApplyOnlyToEveryCycle;5:*,*:vsGrainFactoryOnRegion;false:*,*:vsGrainFactoryOnRegionX;0:*,*:vsGrainFactoryOnRegionY;0:*,*:vsGrainFactoryOnRegionWidth;0:*,*:vsGrainFactoryOnRegionHeight;0:*,*:vsGrainFactoryGimmick;false:*,*:vsGrainFactoryGimmickFlipVertical;false:*,*:vsGrainFactoryGimmickFlipHorizontal;false:*,*:vsGrainFactoryGimmickResize;false:*,*:vsGrainFactoryGimmickResizeX;48:*,*:vsGrainFactoryGimmickResizeY;48:*,*:vsGrainFactoryGimmickResizer;cubic:*,*:vsGrainFactoryGimmickResizerUndo;true:*,*:vsGrainFactoryGimmickRestrictBitdepth;do not:*,*:vsGrainFactoryGimmickPreColor;false:*,*:vsGrainFactoryGimmickPreColorValue;no change:*,*:vsGrainFactoryGimmickRotate;off:*,*:vsGrainFactoryGimmickCompareEffect;falseEtwas lesbarer formatiert:
Cu Selur RE: Rektlvls - Autofahrer - 03.10.2025 (02.10.2025, 20:04)Selur Wrote: Versuch mal mit der aktuellen dev (Hybrid_dev_2025.10.02-1800) und erstell mal einen Debug output davon, vielleicht sieht man dann was da schief geht. Jo, jetzt klappts. Nochmal tausend Dank, du bist echt ein super Dev/Maintainer, aktiv und hilfsbereit ![]() Beste Grüße! |