Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 18th January 2018, 06:27   #201  |  Link
pcroland
Registered User
 
Join Date: Mar 2014
Location: Hungary
Posts: 115
Sample: https://mega.nz/#!qNAC1YbB!LvoFf9Vdt...FozkQHQPgJIK6I

AviSynth script:
Code:
a=DirectShowSource("X:\DL\Super.Robot.Monkey.Team.Hyperforce.Go.S01.1080i.HDTV.DD5.1.H.264-NOGRP\S01E01 Chiro's Girl.ts")
a=a.ConvertToYV12()
a=a.GradFun3(thr=0.5)
b=a.xlogo("C:\Users\pcroland\Desktop\logo0.bmp",180,860,0)
a=a.Spline36ResizeMod(1280,720)
b=b.Spline36ResizeMod(1280,720)
Interleave(a,b)
With this script this is the result:
https://testfra.me/1e/

AviSynth script:
Code:
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\LoadPluginEx.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\LogoTools.dll")
a=DirectShowSource("X:\DL\Super.Robot.Monkey.Team.Hyperforce.Go.S01.1080i.HDTV.DD5.1.H.264-NOGRP\S01E01 Chiro's Girl.ts")
a=a.ConvertToYV12()
a=a.GradFun3(thr=0.5)
#xlogo("C:\Users\pcroland\Desktop\logo0.bmp",180,860,0)
a=a.ConvertToYUY2()
b=ImageSource("C:\Users\pcroland\Desktop\nologo.png").ConvertToYUY2()
c=NoLogoAuto(a,b,0)
a=a.ConvertToYV12()
a=a.Spline36ResizeMod(1280,720)
c=c.ConvertToYV12()
c=c.Spline36ResizeMod(1280,720)
Interleave(a,c)
Mask: https://i.imgur.com/HV311oS.png

And with this script, this is the result:
https://testfra.me/1f/

It seems that NoLogoAuto() puts on another logo instead of removing it
pcroland is offline   Reply With Quote
Old 19th January 2018, 05:20   #202  |  Link
manono
Moderator
 
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
When using XLogo you can vary the amount of blur. But, as I said, I don't use it so I haven't played with it.

Using LogoTools I mentioned you need the logo with a black background. You don't have one in your sample. Every mask I've ever made was black and white so I don't know for sure whether or not having the green part messes it up because I work with black and white films. From the LogoTools_help.rtf:

Quote:
Notes: The logo needs to be in a compelely black frame.
manono is offline   Reply With Quote
Old 19th January 2018, 17:41   #203  |  Link
pcroland
Registered User
 
Join Date: Mar 2014
Location: Hungary
Posts: 115
Quote:
Originally Posted by manono View Post
When using XLogo you can vary the amount of blur. But, as I said, I don't use it so I haven't played with it.

Using LogoTools I mentioned you need the logo with a black background. You don't have one in your sample. Every mask I've ever made was black and white so I don't know for sure whether or not having the green part messes it up because I work with black and white films. From the LogoTools_help.rtf:
I linked a black frame with the logo:
"Mask: https://i.imgur.com/HV311oS.png"
pcroland is offline   Reply With Quote
Old 19th January 2018, 19:28   #204  |  Link
manono
Moderator
 
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
Quote:
Originally Posted by pcroland View Post
I linked a black frame with the logo:
Was it included as part of the sample video?
manono is offline   Reply With Quote
Old 19th January 2018, 23:47   #205  |  Link
pcroland
Registered User
 
Join Date: Mar 2014
Location: Hungary
Posts: 115
Quote:
Originally Posted by manono View Post
Was it included as part of the sample video?
Here's a sample with a black frame:
https://mega.nz/#!TBw1iRxJ!eoipHj4Tu...9oVMXKwrQY62sI

Script:
Code:
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\LoadPluginEx.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\LogoTools.dll")
a=FFMS2("C:\Users\pcroland\Desktop\MEGA\sample2.mkv").ConvertToYUY2()
b=NoLogoAuto(a,a,768)
Interleave(a,b)
It does the same thing.
pcroland is offline   Reply With Quote
Old 20th January 2018, 08:52   #206  |  Link
manono
Moderator
 
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
Your 'A' is your video and the 'B' is the logo. I also discovered the mask should be black and white, not black and green. Unfortunately, I didn't have much luck at all using LogoTools. Using the basic script:

B=ImageSource("Logo2.bmp").ConvertToYUY2()###BMP with logo and black background
FFVideoSource("Sample2.mkv").ConvertToYUY2()
A=Last

NoLogoAuto(A,B,531)


The logo was replaced with a dark grey something. Using the more complex versions (NoLogo and NoLogoM), the scripts either crashed or gave out with error messages. I don't know why.

So, I switched to using InPaintFunc. The link below is to the version I made. Parts of it look pretty good, other parts pretty bad:

LoadCPlugin("H:\AVISynth\Dlls\AVSInPaint.dll")
LoadPlugin("H:\AVISynth\Dlls\ExInpaint.dll")
LoadPlugin("H:\AVISynth\Dlls\AddGrainC.dll")
LoadPlugin("H:\AVISynth\Dlls\MedianBlur.dll")
Import("H:\AVISynth\plugins\INPaintFunc.avs")

AVISource("sample2.avi")#I had made a quick lossless Lagarith AVI

X=InpaintFunc(mask="logo3.bmp",loc="192,870,-1530,-78",AR=1.0/1.0,mode="DeBlend",speed=10, ppmode=1,pp=50,radius=5.0,preblur=8.0)

Y=X.MedianBlur(2,2,2).AddGrain(5,0,0)###Does most of the blurring
Mask=ImageSource("LogoBlur.bmp")
Overlay(X,Y,0,0,Mask)


Also enclosed are the Logo3.jpg and the LogoBlur.jpg, smaller versions of the BMPs I used. the LogoBlur was used to add more blurring and to feather the blurring to blend in better. If you don't want any of that, then just the basic script is fine:

InpaintFunc(mask="logo3.bmp",loc="192,870,-1530,-78",AR=1.0/1.0,mode="DeBlend",speed=10, ppmode=1,pp=50,radius=5.0,preblur=8.0)

Adjust the parameters as you wish. One thing to know; this thing is very slow, just to open. I suggest trimming off 500 or so frames to test. Only after getting it to work and the way you like should you open the complete video. It might take twice the length of the video just to open, or more. The encoding time isn't so bad. It might be better to use the Inpaint mode to completely recreate the inside of the logo from what's around it. Or, maybe try and get the StainlessS one going.

https://www.sendspace.com/file/wiop9v
Attached Images
  
manono is offline   Reply With Quote
Old 21st January 2018, 16:20   #207  |  Link
pcroland
Registered User
 
Join Date: Mar 2014
Location: Hungary
Posts: 115
Thanks for all the help, it works great
pcroland is offline   Reply With Quote
Old 22nd January 2018, 12:51   #208  |  Link
Yanak
Registered User
 
Join Date: Oct 2011
Posts: 275
@manono about the very slow part of InPaintFunc :

The speed parameter combined with the length ( number of frames) of the video can take some time for the analyze and generate the .ebmp file the first time yes,
speed=10 like in your example will analyze 50% of the video if i recall correctly, speed 20 is for analyzing 100% ( even slower ) , speed 1 analyze 5% of the frames, speed 2 = 10% etc.
Each step of speed parameter adds 5% for the video analyze, speed parameter allowed values goes from 1 to 20.

Depending the length of my videos i modify this parameter a bit, especially at the start during the settings adjustments, later when i fine tuned a bit my settings i can go with the reset parameter or simply delete the .ebmp file created and set analyze to a very high % and generate a new one before encoding

Last edited by Yanak; 22nd January 2018 at 12:53.
Yanak is offline   Reply With Quote
Old 23rd January 2018, 10:05   #209  |  Link
manono
Moderator
 
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
Thank you for the suggestions.
manono is offline   Reply With Quote
Old 26th December 2019, 22:59   #210  |  Link
TCmullet
Registered User
 
Join Date: Nov 2003
Posts: 365
New system, now missing "DistanceFunction"

I was last in this thread Jan. 2017 (page 9). I did get rm_logo to work in a way helpful to me. I believe I had it 100 percent mode=deblend. However, since then, I had to rebuild the system (I lost the C drive). I've been running many scripts since then, but now I need to rerun the same script (same video file project) that I used rm_logo in.

Avisynth says, There is no function named "DistanceFunction". Yet I have all six required dlls in my plugins folder. Any ideas?
TCmullet is offline   Reply With Quote
Old 26th December 2019, 23:24   #211  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Gee TC,

Suggest dont use old Rm_Logo/InpaintFunc, Pinterf updated AvsInPaint a little while ago:- https://github.com/pinterf/AvsInpaint/releases

Also, VoodooFX created a script to rival/beat the best delogo'ers (InpaintDelogo - advanced logo removal script):- https://forum.doom9.org/showthread.php?t=176860

By VoodooFX,
Quote:
rm_logo & InpaintFunc are both semi-broken, slow inpainting, with subpar to unusable results.
Dont know why your "DistanceFunction" aint working, it is from the AvsInpaint.dll

EDIT: I'm guessin' that new Pinterf AvsInpaint.dll is avisynth v2.60 only (v2.58 will not be able to see it).

EDIT: From Pinterf AvsInpaint on GitHub, [perhaps you have broken v1.1]
Quote:
v1.2 (20190705)

Fix broken compatibility with classic Avisynth 2.6 (remove underscore from dll export)

v1.1 (20190624) by pinterf

Fix crash in AVSInpaint-2008.02.23, when using mode "Deblend" or "Both"
(double frame release, revealed when using Avisynth+)
Add version resource
Visual Studio 2019 solution
x64 version
(no new colorspaces)
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 26th December 2019 at 23:48.
StainlessS is offline   Reply With Quote
Old 26th December 2019, 23:40   #212  |  Link
TCmullet
Registered User
 
Join Date: Nov 2003
Posts: 365
Thanks for the news, Stainless. However, I spent hours and hours and hours over days getting rm_logo set up and working. I only need to rerun the script to recreate an output file that got lost. Thankfully I have all the original source files (video, audio, etc.) I can't spend all those hours over again to implement a new system even though it's better.

Is it possible it's caused by lack of libfftw3f-3.dll in my system? I found clues it is. (I had made a cryptic reference back then to "I'm following your advice and moving libfftw3f-3.dll from system32 to syswow64.") There was a link to a different thread where I suspect we got that dll from, but that thread no longer exists. I have found ONE copy of that file loose in a stray folder. I have put it in syswow64 and will reboot soon to try it.

I'm not using Avisynth 2.5.8. I think I installed Avisynth+, but then copied over 2.6.0 on top due to needing MT stuff (Interframe), if that makes any sense. If DistanceFunction is a part of AvsInpaint, then maybe I need to figure out how to run AVSMeter again to find out why it's not being detected.
TCmullet is offline   Reply With Quote
Old 26th December 2019, 23:42   #213  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,829
TCmullet,
I think DistanceFunction is a function from AVSInPaint. If you're using Avisynth 2.6, you need to load it as a C plugin rather than a regular plugin. I think Avisynth+ should load C plugins automatically though.

Edit: For Avisynth 2.6, I keep C Plugins in a separate folder, and only the avsi script I created for loading them lives in the auto-loading plugins folder. I think I borrowed the idea from StainlessS. Something like:

AVSInPainting = "C:\Program Files\AviSynth\C Plugins\AVSInPaint.dll"
exist(AVSInPainting) ? LoadCPlugin(AVSInPainting) : nop()

Last edited by hello_hello; 27th December 2019 at 00:02.
hello_hello is offline   Reply With Quote
Old 26th December 2019, 23:47   #214  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
See my Last edit, also, probably needs VS 2019 CPP runtime.

TC, think workings of InPaintDelogo is very simlar to either rm_logo or InPaintFunc, not sure which.
See Manolito comments in VoodooFX thread, it will be worth your while spending a little while modding.

EDIT: Avs+ v3.4.0 is now MT, so you dont need v2.60MT (avs+ v3.4.0 MT) :- https://github.com/AviSynth/AviSynthPlus/releases

EDIT: Nice one HH
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 26th December 2019 at 23:58.
StainlessS is offline   Reply With Quote
Old 26th December 2019, 23:52   #215  |  Link
TCmullet
Registered User
 
Join Date: Nov 2003
Posts: 365
Quote:
Originally Posted by hello_hello View Post
TCmullet,
I think DistanceFunction is a function from AVSInPaint. If you're using Avisynth 2.6, you need to load it as a C plugin rather than a regular plugin. I think Avisynth+ should load C plugins automatically though.
That was IT! The old rm_logo calls working "purty" again. I had removed the loadCplugin call as I saw that Avisynth+ doesn't need it. But then I relearn I'm not using +. FYI, I had installed plus as a part of the SVP video player, but needed to revert the executable to 2.6MT for my special needs.

Stainless, you edited your post and saved it at the moment I was saving my response. Now that I'm up with rm_logo, I'll go with it for this video rebuild, but will seriously look at the new system if I need delogoing again.

Muchas gracias to you both!
TCmullet is offline   Reply With Quote
Old 27th December 2019, 00:02   #216  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,829
I edited my previous post to add a suggestion for loading C plugins automatically when using Avisynth 2.6, in case you missed it.

Last edited by hello_hello; 27th December 2019 at 00:04.
hello_hello is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 14:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.