10-27-2003, 05:15 PM
|
Free Member
|
|
Join Date: Aug 2002
Location: Canada
Posts: 200
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
I just posted my LogoTools plugin. It replaces LogoBlend as well as adds a number of other helper filters.
New Filters:
NoLogo - replaces LogoBlend
NoLogoM - like NoLogo but with better control over the removal - great for problem logos.
AddLogo - add a logo
IfLogo - logo detection
IfNoLogo - logo overcorrection detection (what if I removed the logo when it wasn't there?)
LogoMask - mix two frames based using the logo as a mask.
You can get the filter at:
http://www.geocities.com/mrtibsvideo/Logotools.html
|
Someday, 12:01 PM
|
|
Site Staff / Ad Manager
|
|
Join Date: Dec 2002
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
|
|
|
10-27-2003, 05:52 PM
|
Free Member
|
|
Join Date: May 2003
Posts: 10,463
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
AddLogo ! Great ! A lot of people claimed for taht also.
Congratulation.
|
10-27-2003, 06:03 PM
|
Free Member
|
|
Join Date: Aug 2002
Location: Canada
Posts: 200
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
I admit that it seems stupid but perhaps someone may need it. I included it because the code was already there and one way to remove a logo is to cover it up with another logo.
Uses for AddLogo include:
1. Add the logo where it is missing to make removal easier.
2. Add a second logo and remove both for situations where multiple logos appear at different times.
3. Create a "inverted" logo and add it to the frame to help with removal.
4. Cover up a Kafka removal with a logo to hide the errors.
|
10-28-2003, 10:03 AM
|
Free Member
|
|
Join Date: Oct 2003
Location: London, England (UK)
Posts: 1,035
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Thanks for these logo removal tools Mr Tibs im off to download them now.
__________________
Regards.
Michael.
|
10-29-2003, 08:50 PM
|
Free Member
|
|
Join Date: Aug 2002
Location: Canada
Posts: 200
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
One more filter added to the DLL:
NoLogoAuto - same as NoLogo with no fiddling - requires the logo to be on a completely black frame.
Example:
NoLogoAuto(clip,logoclip,framenumber)
|
10-30-2003, 09:40 AM
|
Free Member
|
|
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by MrTibs
One more filter added to the DLL:
NoLogoAuto - same as NoLogo with no fiddling - requires the logo to be on a completely black frame.
Example:
NoLogoAuto(clip,logoclip,framenumber)
|
 What specifically replaces "clip"?
 What specifically replaces "logoclip"?
 I know these must seem like dumb questions.
I have a sample of 10 frames.
The name of the sample film is "tenframes.avi".
The 5th frame is white logo on black.
LoadPlugin("C:\aa\MPEG2Dec3.dll")
LoadPlugin("C:\aa\old\loadpluginex2.dll")
LoadPlugin("C:\aa\old\LogoTools.dll")
avisource("c:\aa\tenframes.avi")
#NoLogoAuto(clip,logoclip, logo frame number)
NoLogoAuto(clip,"C:\aa\tenframes.avi", 5)
I get TMPGEnc error: 'I don't know what "clip" means'
|
10-30-2003, 03:23 PM
|
Free Member
|
|
Join Date: Aug 2002
Location: Canada
Posts: 200
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Clip is the default video clip.
I.E.
Quote:
clip=Avisource("C:\aa\tenframes.avi")
NoLogoAuto(clip,clip,5)
|
Personally, I usually trim my original video capture and make short video sample with the logo on a black frame then save it as a huffy clip like "abc_logo.avi". My logo script would look something like this:
Quote:
Avisource("c:\capture.avi")
Trim(100,110)
#noise removal
TemporalSmoother(3)
|
I would then use Vdub to save that file as "abc_logo.avi".
Then to filter out the logo:
Quote:
clip=Avisouce("c:\Capture.avi")
logoclip=Avisource("C:\abc_logo.avi")
NoLogoAuto(clip,logoclip,5)
|
I generally, keep video sequences for each logo I encounter.
|
10-30-2003, 04:17 PM
|
Free Member
|
|
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by MrTibs
Clip is the default video clip.
I.E.
Quote:
clip=Avisource("C:\aa\tenframes.avi")
NoLogoAuto(clip,clip,5)
|
Personally, I usually trim my original video capture and make short video sample with the logo on a black frame then save it as a huffy clip like "abc_logo.avi". My logo script would look something like this:
Quote:
Avisource("c:\capture.avi")
Trim(100,110)
#noise removal
TemporalSmoother(3)
|
I would then use Vdub to save that file as "abc_logo.avi".
Then to filter out the logo:
Quote:
clip=Avisouce("c:\Capture.avi")
logoclip=Avisource("C:\abc_logo.avi")
NoLogoAuto(clip,logoclip,5)
|
I generally, keep video sequences for each logo I encounter.
|
 Given the sample code below, how would NoLogoAuto() fit in? My captures are MPEG2's with d2v from DVD2AVI.
MPEG2Source("C:\My Documents\noisy.d2v")
Trim(33333,44444)
Undot()
Limiter()
converttoYUY2(interlaced=true)
video = SeparateFields().BicubicResize(480, 240)
evenfield = SelectEven(video).TemporalSoften(1,5,8,5,2).peachs moother().Unfilter(60,0)
oddfield = SelectOdd(video).TemporalSoften(1,5,8,5,2).peachsm oother().Unfilter(60,0)
Interleave(evenfield,oddfield)
Weave()
Letterbox(16,16,16,16)
Limiter()
|
10-30-2003, 05:59 PM
|
Free Member
|
|
Join Date: Aug 2002
Location: Canada
Posts: 200
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Here is the modifed script:
Quote:
clip=MPEG2Source("C:\My Documents\noisy.d2v").converttoYUY2(interlaced=tru e)
logoclip=Trim(clip,100,101)
clip=Trim(clip,33333,44444)
Undot()
Limiter()
NoLogoAuto(clip,logoclip,1)
video = SeparateFields().BicubicResize(480, 240)
evenfield = SelectEven(video).TemporalSoften(1,5,8,5,2).peachs moother().Unfilter(60,0)
oddfield = SelectOdd(video).TemporalSoften(1,5,8,5,2).peachsm oother().Unfilter(60,0)
Interleave(evenfield,oddfield)
Weave()
Letterbox(16,16,16,16)
Limiter()
|
The line "logoclip=Trim(clip,100,101)" is to create a separate clip from the original source that contains the logo on a black frame (this assumes that the logo is at frame 100). When I call NoLogoAuto, the logo frame number is 1 since the logoclip is only 1 frame long.
You could try this, but I don't know if it will work:
Quote:
MPEG2Source("C:\My Documents\noisy.d2v").converttoYUY2(interlaced=tru e)
clip=Trim(33333,44444)
#logo on a black frame is at frame number:100
NoLogoAuto(clip,clip,100)
|
|
10-30-2003, 08:29 PM
|
Free Member
|
|
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
My actual script is below. It does run, but does not remove logo. The logo is on a black frame #20070. I had to put "clip" in several statements [undot(clip), etc] to get it to run. I tried both NoLogoAuto statements and even included frame 20070 within clip itself.
LoadPlugin("c:\video\dlls\MPEG2DEC3.dll")
LoadPlugin("C:\video\dlls\old\loadpluginex2.dll")
LoadPlugin("C:\video\dlls\old\LogoTools.dll")
LoadPlugin("c:\video\dlls\undot.dll")
LoadPlugin("c:\video\dlls\unfilter_2.5\unfilter.dl l")
LoadPlugin("c:\video\dlls\peachsmoother.dll")
clip=Mpeg2source("H:\fut16\fut16.d2v").converttoYU Y2(interlaced=true)
logoclip=Trim(clip,20070,20071)
clip=trim(clip,3067,20056)+Trim(clip,25940,49383)+ Trim(clip,20070,20071)
Undot(clip)
Limiter(clip)
#NoLogoAuto(clip,clip,20070)
NoLogoAuto(clip,logoclip,1)
video = SeparateFields(clip).BicubicResize(352, 239)
evenfield = SelectEven(video).TemporalSoften(1,5,8,5,2).peachs moother().Unfilter(60,0)
oddfield = SelectOdd(video).TemporalSoften(1,5,8,5,2).peachsm oother().Unfilter(60,0)
Interleave(evenfield,oddfield)
Weave(clip)
Letterbox(16,16,16,16)
Limiter(clip)
|
10-31-2003, 01:17 AM
|
Free Member
|
|
Join Date: Aug 2002
Location: Canada
Posts: 200
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Your script will not only not remove the logo but would also not apply most of your filters. Here is what you script should look like:
Quote:
LoadPlugin("c:\video\dlls\MPEG2DEC3.dll")
LoadPlugin("C:\video\dlls\old\loadpluginex2.dll")
LoadPlugin("C:\video\dlls\old\LogoTools.dll")
LoadPlugin("c:\video\dlls\undot.dll")
LoadPlugin("c:\video\dlls\unfilter_2.5\unfilter.dl l")
LoadPlugin("c:\video\dlls\peachsmoother.dll")
clip=Mpeg2source("H:\fut16\fut16.d2v").converttoYU Y2(interlaced=true)
logoclip=Trim(clip,20070,20071)
clip=trim(clip,3067,20056)+Trim(clip,25940,49383)+ Trim(clip,20070,20071)
NoLogoAuto(clip,logoclip,1)
#we no longer need to specify our default clip.
Undot()
Limiter()
video = SeparateFields().BicubicResize(352, 239)
evenfield = SelectEven(video).TemporalSoften(1,5,8,5,2).peachs moother().Unfilter(60,0)
oddfield = SelectOdd(video).TemporalSoften(1,5,8,5,2).peachsm oother().Unfilter(60,0)
Interleave(evenfield,oddfield)
Weave()
Letterbox(16,16,16,16)
Limiter()
|
|
10-31-2003, 01:31 AM
|
Free Member
|
|
Join Date: Apr 2002
Posts: 167
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Sorry, I go to link but dont see how to get Avisynth 2.5 version. I see it says to use LoadPluginEx.dll, but where is that.
I click on how to and it takes me to a page which says see zip file.
Does that mean the zip file for avisynth 2.0 file?
|
10-31-2003, 02:26 AM
|
Free Member
|
|
Join Date: Sep 2003
Posts: 47
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
that means that there is no Avisynth 2.5 version. you have to use the 2.0 version for 2.5 through the plugin "LoadPluginEx.dll", which can be downloaded somewhere else.
|
10-31-2003, 04:00 AM
|
Free Member
|
|
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by MrTibs
Your script will not only not remove the logo but would also not apply most of your filters. Here is what you script should look like:
Quote:
LoadPlugin("c:\video\dlls\MPEG2DEC3.dll")
LoadPlugin("C:\video\dlls\old\loadpluginex2.dll")
LoadPlugin("C:\video\dlls\old\LogoTools.dll")
LoadPlugin("c:\video\dlls\undot.dll")
LoadPlugin("c:\video\dlls\unfilter_2.5\unfilter.dl l")
LoadPlugin("c:\video\dlls\peachsmoother.dll")
clip=Mpeg2source("H:\fut16\fut16.d2v").converttoYU Y2(interlaced=true)
logoclip=Trim(clip,20070,20071)
clip=trim(clip,3067,20056)+Trim(clip,25940,49383)+ Trim(clip,20070,20071)
NoLogoAuto(clip,logoclip,1)
#we no longer need to specify our default clip.
Undot()
Limiter()
video = SeparateFields().BicubicResize(352, 239)
evenfield = SelectEven(video).TemporalSoften(1,5,8,5,2).peachs moother().Unfilter(60,0)
oddfield = SelectOdd(video).TemporalSoften(1,5,8,5,2).peachsm oother().Unfilter(60,0)
Interleave(evenfield,oddfield)
Weave()
Letterbox(16,16,16,16)
Limiter()
|
|
Getting TMPGEnc error:
Evaluate: Unrecognized exception!
(H:\testtibb\testtibb16.AVS, line 17)
And a couple questions (please stay patient, I am learning and do appreciate your aid):
 Is it possible to process in two steps? In other words, to produce a filtered mpg or m2v as I have been doing, then run again, without affecting compression, etc, and removing the logo in a second process.
I guess what I'm asking is whether you can process a previously encoded mpg and remove the logo without affecting anything else.
 Or can you delogo process a capture without affecting the existing encoding, then encode with filters to produce the final mpg?
|
10-31-2003, 06:42 AM
|
Free Member
|
|
Join Date: May 2003
Location: Germany
Posts: 3,189
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Well until now I didn't try my filtering routine in combination with MrTips Delogo routine ... so I can't give you a solution immideately.
But ...
Quote:
Evaluate: Unrecognized exception!
|
Sometimes can be solved if you just restart your PC
I had these Problems too when Avisynth got "too hot" (sound stupid but I don't know how to explain using other words *g*) during much tryings and changings.
What happens when you load this last script in Vdub???
Also same Error?
MOMENT!! STOP now I see!
Code:
LoadPlugin("c:\video\dlls\MPEG2DEC3.dll")
LoadPlugin("C:\video\dlls\old\loadpluginex2.dll")
LoadPlugin("C:\video\dlls\old\LogoTools.dll")
LoadPlugin("c:\video\dlls\undot.dll")
LoadPlugin("c:\video\dlls\unfilter_2.5\unfilter.dll")
LoadPlugin("c:\video\dlls\peachsmoother.dll")
clip=Mpeg2source("H:\fut16\fut16.d2v").converttoYUY2(interlaced=true)
logoclip=Trim(clip,20070,20071)
clip=trim(clip,3067,20056)+Trim(clip,25940,49383)+Trim(clip,20070,20071)
NoLogoAuto(clip,logoclip,1)
#we no longer need to specify our default clip.
Undot()
Limiter()
video = SeparateFields().BicubicResize(352, 239)
evenfield = SelectEven(video).TemporalSoften(1,5,8,5,2).peachsmoother().Unfilter(60,0)
oddfield = SelectOdd(video).TemporalSoften(1,5,8,5,2).peachsmoother().Unfilter(60,0)
Interleave(evenfield,oddfield)
Weave()
Letterbox(16,16,16,16)
Limiter()
You only put the mpeg2source within a varaible "clip"... and this variable "clip" will only be called in the delogo routine!
So .... after this threre doesn't exist anymore a self based mpeg2source-line which provide the frames to the following filter routines!
Im thinking right !???
Maybe Im confused but this sounds logical ... I would like to attend, but at work (where I'm now) I'm working on a MAC
|
10-31-2003, 08:50 AM
|
Free Member
|
|
Join Date: Aug 2002
Location: Canada
Posts: 200
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Hm...
Once NoLogo is called, it returns the filtered clip back to the default clip. Clearly, Undot and Limiter don't have trouble so I'm not sure why the problem.
Perhaps NoLogo isn't returning the clip properly.
You could try this:
Quote:
clip=NoLogoAuto(clip,logoclip,1)
#we no longer need to specify our default clip.
Undot(clip)
|
Edit: I tested your script with an MJpeg source in Avisynth 2.0 and it worked quite well. (Nice script by the way.) I'll test in 2.5 later today.
|
10-31-2003, 09:25 AM
|
Free Member
|
|
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by MrTibs
Hm...
Once NoLogo is called, it returns the filtered clip back to the default clip. Clearly, Undot and Limiter don't have trouble so I'm not sure why the problem.
Perhaps NoLogo isn't returning the clip properly.
You could try this:
Quote:
clip=NoLogoAuto(clip,logoclip,1)
#we no longer need to specify our default clip.
Undot(clip)
|
Edit: I tested your script with an MJpeg source in Avisynth 2.0 and it worked quite well. (Nice script by the way.) I'll test in 2.5 later today.
|
The script is by Incredible. It is the only script I've found that will make a smooth copy of Futurama. There is a scene in the one I use for test that is a takeoff of twilight zone and has a digital clock moving on a black space background. With his script, the motion is perfect, with all others, there are various degrees of small motion jerks.
Also, I have been testing requant with a mpg from this script and same source. Requant is fine up to 82.5% compression, so you might want to experiment with it some. It's fast and simple to use.
 Is there any way to delogo an encoded mpg without affecting the size, bitrates, etc? Like things I've encoded in the past and didn't keep the large capture files?
Really appreciate everything - NickSteel
|
10-31-2003, 10:07 AM
|
Free Member
|
|
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
[quote="MrTibs"]Hm...
Perhaps NoLogo isn't returning the clip properly.
You could try this:
Quote:
clip=NoLogoAuto(clip,logoclip,1)
#we no longer need to specify our default clip.
Undot(clip)
|
Just tried this. Script ran, but logo was unaffected.
|
10-31-2003, 11:52 AM
|
Free Member
|
|
Join Date: Aug 2002
Location: Canada
Posts: 200
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
OK, now we are getting somewhere.
Change the frame number in NoLogoAuto to a negative. This will put NoLogoAuto into debug mode and show you where it thinks the logo is.
Quote:
clip=NoLogoAuto(clip,logoclip,-1)
|
|
10-31-2003, 12:25 PM
|
Free Member
|
|
Join Date: Nov 2002
Posts: 863
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by MrTibs
OK, now we are getting somewhere.
Change the frame number in NoLogoAuto to a negative. This will put NoLogoAuto into debug mode and show you where it thinks the logo is.
Quote:
clip=NoLogoAuto(clip,logoclip,-1)
|
|
I didn't have the clip=NoLogoAuto(clip,logoclip,1) command in, only the Undot(clip) when I said the script ran without removing logo. When using both clip=NoLogoAuto(clip,logoclip,1) and Undot(clip),
TMPGEnc gives "Evaluate: Unrecognized exception! (H:\testtibb\testtibb16.AVS, line 17"
LoadPlugin("c:\video\dlls\MPEG2DEC3.dll")
LoadPlugin("C:\video\dlls\old\loadpluginex2.dll")
LoadPlugin("C:\video\dlls\old\LogoTools.dll")
LoadPlugin("c:\video\dlls\undot.dll")
LoadPlugin("c:\video\dlls\unfilter_2.5\unfilter.dl l")
LoadPlugin("c:\video\dlls\peachsmoother.dll")
clip=Mpeg2source("H:\fut16\fut16.d2v").converttoYU Y2(interlaced=true)
logoclip=Trim(clip,20070,20071)
clip=trim(clip,3067,20056)+Trim(clip,25940,49383)+ Trim(clip,20070,20071)
#NoLogoAuto(clip,logoclip,-1)
#we no longer need to specify our default clip.
clip=NoLogoAuto(clip,logoclip,-1)
Undot(clip)
Limiter()
video = SeparateFields().BicubicResize(352, 239)
evenfield = SelectEven(video).TemporalSoften(1,5,8,5,2).peachs moother().Unfilter(60,0)
oddfield = SelectOdd(video).TemporalSoften(1,5,8,5,2).peachsm oother().Unfilter(60,0)
Interleave(evenfield,oddfield)
Weave()
Letterbox(16,16,16,16)
Limiter()
|
All times are GMT -5. The time now is 06:19 AM — vBulletin © Jelsoft Enterprises Ltd
|