VideoHelp Forum




+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 31
  1. I have a video with hard subs. I also already wrote small programs to generate Avisynth scripts automatically that read frames from video. Each time a sub shows up, I have that exact frame and write Avisynth code to treat it. I use to put some blur to hide the sub, but I'd like to improve this work.

    If I use DeLogo VDub filter, I can overlay exactly the words using some options, like DeBlend, Alpha and Repair, with BMP24 images containing only pure black (transparent) and pure red (blur). But I can't use DeLogo into a Avisynth script with too many trims of frames and different images.

    So, I ask for some help to solve that. I have 2 choices:
    1 - Someone point me the direction to use DeLogo into a script, with images and trims of video
    2 - A way to merge a image on a video, using some Alpha tricks to hide the hard subs.

    I do know how to integrate the functions of RegionRemove filter into a script, but not DeLogo. RegionRemove does not have options to use images to blend/merge. And it puts an ugly rectangle around the subs.

    I can generate automatically all the frames and images for the script. I need just the syntax of it.

    Samples of frame with/without hard sub, using DeLogo filter and the mask:


    Click image for larger version

Name:	BadSister1.bmp
Views:	665
Size:	900.1 KB
ID:	17335

    Click image for larger version

Name:	BadSister-mask_811.bmp
Views:	653
Size:	900.1 KB
ID:	17337

    Click image for larger version

Name:	BadSister2.bmp
Views:	628
Size:	900.1 KB
ID:	17336



    Any ideas?
    Thank you.
    Quote Quote  
  2. Member budwzr's Avatar
    Join Date
    Apr 2007
    Location
    City Of Angels
    Search Comp PM
    Ideas for what? It looks as good as the rest of the frame
    Quote Quote  
  3. Using rectangles blurs:
    (code generated automatically)

    Code:
    Mpeg2Source("Videofile.d2v")
    ConvertToRGB32()
    v1 = Trim(0,4)
    aux1 = Trim(5,37)
    h = StackVertical(Crop(aux1, 150, 374, 420, 1), Crop(aux1, 150, 453 ,420, 1))
    v = StackHorizontal(Crop(aux1, 150, 374, 1, 80), Crop(aux1,  569 , 374, 1, 80))
    ov = Merge(h.BilinearResize(420, 80), v.BilinearResize(420, 80))
    v2 = Overlay(aux1, ov, 150, 374)
    v3 = Trim(38,39)
    aux1 = Trim(40,99)
    h = StackVertical(Crop(aux1, 150, 374, 420, 1), Crop(aux1, 150, 453 ,420, 1))
    v = StackHorizontal(Crop(aux1, 150, 374, 1, 80), Crop(aux1,  569 , 374, 1, 80))
    ov = Merge(h.BilinearResize(420, 80), v.BilinearResize(420, 80))
    v4 = Overlay(aux1, ov, 150, 374)
    filme=v1+v2+v3+v4
    filme
    ConvertToRGB()
    Using RegionRemove into a script:

    Code:
    Loadplugin("DGDecode.dll")
    Mpeg2Source("VideoFile.d2v")
    
    function VD_RRemover(clip clip,
      \  int "removeWidth", int "removeHeight", 
      \  int "removeX", int "removeY",
      \  bool "softEdges", bool "softONOFF", 
      \  bool "ignoreTop", bool "ignoreBottom", 
      \  bool "ignoreLeft", bool "ignoreRight",
      \  int "softPixels", 
      \  int "softFRAME",
      \  string "ranges")
    {
      LoadVirtualdubPlugin("RegionRemove.vdf", "_VD_RRemover", 1)
      return clip._VD_RRemover(default(removewidth,580), default(removeHeight,58), 
        \  default(removeX,70), default(removeY,318),
        \  default(softEdges,false)?1:0, default(softONOFF,false)?1:0, 
        \  default(ignoreTop,false)?1:0, default(ignoreBottom,false)?1:0,
        \ default(ignoreLeft,false)?1:0, default(ignoreRight,false)?1:0, 
        \  default(softPixels,0), 
        \  default(softFRAME,0),
        \  default(ranges,""))
    }
    ConvertToRGB() 
    filtered=VD_RRemover()
    ReplaceFramesSimple(last, filtered, mappings= \
    "[4908 4963]
    [5052 5423]
    [6056 6486]
    [6564 7187]
    [7345 7412]
    [7442 7697]
    ...
    ...
    ...
    "
    But how to use DeLogo into a script

    or

    use merge/blend/whatelse to overlay an image onto a video to blur exact word of a sub?
    Last edited by jairovital; 18th Apr 2013 at 19:33. Reason: Fix [QUOTE] to [CODE]
    Thank you.
    Quote Quote  
  4. Originally Posted by budwzr View Post
    Ideas for what? It looks as good as the rest of the frame
    Originally Posted by jairovital View Post
    So, I ask for some help to solve that. I have 2 choices:
    1 - Someone point me the direction to use DeLogo into a script, with images and trims of video
    2 - A way to merge a image on a video, using some Alpha tricks to hide the hard subs.
    How to write the script?
    Thank you.
    Quote Quote  
  5. Originally Posted by budwzr View Post
    Ideas for what? It looks as good as the rest of the frame
    But how to use DeLogo into a script

    or

    use merge/blend/whatelse to overlay an image onto a video to blur exact word of a sub?
    Thank you.
    Quote Quote  
  6. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    Originally Posted by jairovital View Post
    But how to use DeLogo into a script

    or

    use merge/blend/whatelse to overlay an image onto a video to blur exact word of a sub?
    Here is an old post that proposes a script for loading DeLogo in Avisynth:
    https://forum.videohelp.com/threads/221665-Removing-Logos-using-DeLogo-vdub-filter?p=12...=1#post1284492

    Note that DeLogo works "OK" only with alpha-blended (semi-transparent) logos, not so well with "solid" subtitles or logos.
    Last edited by sanlyn; 28th Mar 2014 at 18:53.
    Quote Quote  
  7. post #4 shows how to use vdub's delogo in an avs script , but not sure how you would organize the trims() nicely. Looks like it would be a headache
    http://forum.doom9.org/showthread.php?t=27256


    Other avisynth logo removal filters tend to work with greyscale (white/black) mattes, not red . You can have a look at rm_logo


    But it's not clear to me if you have all these red/black .bmp's corresponding to each text dialog already ? Or are you manually painting it each line ?
    Quote Quote  
  8. Explainign more:

    First, I use MSU SubtitleRemover plugin to detect hard subs. It generates a TXT mask file with all frames when subtitles appears and disappears. Also, it generates the images (BMP) mask files, corresponding those all frames.

    The problem with MSU plugin is that it can remove well the hard subs IF the scene does not change too much. Otherwise, the result is very bad. So, I want to remove using another method, DeLogo filter, that has a good result. But, how to apply it in a batch proccessing, using diffent frames and images? So, I created that thread.

    Using the TXT file, I can generate, automatically, the Avisynth script, using all the frames.

    Sanlyn and poisondeathray found interesting posts:

    Code:
    #Delogo.  After all the pictures, the numbers are:
    # Repair-depth:  x*10
    # Repair Power:  x*10
    # interlaced:    1 (true) or 0 (false)
    # Pixel Ratio:   0
    ConvertToRGB()
    LoadVirtualDubPlugin("\path\to\VirtualDub\plugins\delogo.vdf","delogo")
    delogo(0, "", "deblend.bmp", "alpha.bmp", "color.bmp", "repair.bmp", 20, 44, 0, 0)
    Code:
    VirtualDub.video.filters.Add("DeLogo 1.2.1");
    VirtualDub.video.filters.instance[0].Config(1, "500-999", "D:/2.bmp", "D:/2.bmp", "D:/1.bmp", "D:/2.bmp", 34, 56, 0,0);
    LoadVirtualDubPlugin("c:\VirtualDub-1_4_10\plugins\delogo.vdf","delogo")
    ConvertToRGB32
    delogo(1, "500-999", "D:/2.bmp", "D:/2.bmp", "D:/1.bmp", "D:/2.bmp", 34, 56, 0,0)
    ConvertToyuy2
    I'll try later and post results.
    Thank you.
    Quote Quote  
  9. Originally Posted by poisondeathray View Post
    post #4 shows how to use vdub's delogo in an avs script , but not sure how you would organize the trims() nicely. Looks like it would be a headache
    Poisondeathray, it's not post #4, but #3 and it's not DeLogo, but RegionRemove filter.

    I'm looking for the syntax for DeLogo. RegionRemove syntax I already have and it works fine with my batch script. The problem is that it creates an uggly rectangle and DeLogo is more smooth.
    Thank you.
    Quote Quote  
  10. Originally Posted by jairovital View Post
    Originally Posted by poisondeathray View Post
    post #4 shows how to use vdub's delogo in an avs script , but not sure how you would organize the trims() nicely. Looks like it would be a headache
    Poisondeathray, it's not post #4, but #3 and it's not DeLogo, but RegionRemove filter.
    I meant it's post #4 in the linked thread
    I guess I should have linked it directly
    http://forum.doom9.org/showpost.php?p=142909&postcount=4


    Sorry, I don't know how you would do this with the MSU txt and/or mask files as input automatically or batch
    Quote Quote  
  11. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    I think that most of MSU's VirtualDub plugins can't be used in Avisynth. I tried a lonmg time ago, but MSU's filters don't save data as do in .vcf files.

    To get values for DeLogo, you have to load the filter into VirtualDub, test it on your video, save the settings in a .vcf file, then use the data in the .vcf file to apply in the Avisynth script. Loading VDUb plugins into Avisynth seems like a hassle; you have to convert to RGB and try the settings in Vdub anyway, so why not run it in VirtualDub? But....it depends on what your script needs and your workflow.
    Last edited by sanlyn; 28th Mar 2014 at 18:54.
    Quote Quote  
  12. I tried the code above and, so what, it WORKS!

    Now, I have to put this code inside my program to generate the scritp for the whole video, using all frames.
    I'm quite confuse with ReplaceFrameSimple and I ask some help from Avisynth gurus to show how to write the script.

    Let's say I need to use ReplaceFrameSimple for 3 segments of subtitle, like this:

    Code:
    Frames
    Segment  From     To
    1         500    1000
    2        1500    2000
    3        2700    3000
    Code:
    ConvertToRGB()
    LoadVirtualDubPlugin("\path\to\VirtualDub\plugins\delogo.vdf","delogo")
    delogo(0, "", "", "", "", "mask_500.bmp", 20, 44, 0, 0)
    delogo(0, "", "", "", "", "mask_1500.bmp", 20, 44, 0, 0)
    delogo(0, "", "", "", "", "mask_2700.bmp", 20, 44, 0, 0)
    I know it's wrong. But how to apply these images to those segments using ReplaceFrameSimple? I made some tests with just Repair option and it is enough, so alpha, blend and color images are null.

    I suspect the final draw of the script seems like this:
    Code:
    filtered=delogo()
    ReplaceFramesSimple(last, filtered, mappings= \
    "[500 1000]
    [1500 2000]
    [2700 3000]
    Any help?
    Last edited by jairovital; 19th Apr 2013 at 18:24.
    Thank you.
    Quote Quote  
  13. Or, like this:
    Code:
    LoadVirtualDubPlugin("\path\to\VirtualDub\plugins\delogo.vdf","delogo")
    
    Mpeg2Source("Videofile.d2v")
    ConvertToRGB()
    
    v1 = Trim(500,1000)
    
    delogo(0, "", "", "", "", "mask_500.bmp", 20, 44, 0, 0)
    filtered=delogo()
    ReplaceFramesSimple(v1, filtered, mappings=[500 1000]
    
    v2 = Trim(1500,2000)
    
    delogo(0, "", "", "", "", "mask_1500.bmp", 20, 44, 0, 0)
    filtered=delogo()
    ReplaceFramesSimple(v2, filtered, mappings=[1500 2000]
    
    v3 = Trim(2700,3000)
    
     delogo(0, "", "", "", "", "mask_2700.bmp", 20, 44, 0, 0)
    filtered=delogo()
    ReplaceFramesSimple(v3, filtered, mappings=[2700 3000]
    Is it correct?
    Thank you.
    Quote Quote  
  14. Finishing the code above, I concatenate all segments and show the result:

    Code:
    LoadVirtualDubPlugin("\path\to\VirtualDub\plugins\delogo.vdf","delogo") 
    Mpeg2Source("Videofile.d2v")
    ConvertToRGB() 
    
    v0 = Trim(0, 499)
    
    v1 = Trim(500,1000) 
    delogo(0, "", "", "", "", "mask_500.bmp", 20, 44, 0, 0)
    filtered=delogo()
    ReplaceFramesSimple(v1, filtered, mappings=[500 1000]
    
    v2 = Trim(1001,1499)
    
    v3 = Trim(1500,2000) 
    delogo(0, "", "", "", "", "mask_1500.bmp", 20, 44, 0, 0)
    filtered=delogo()
    ReplaceFramesSimple(v3, filtered, mappings=[1500 2000]
    
    v4 = Trim(2001,2699)
    
    v5 = Trim(2700,3000) 
    delogo(0, "", "", "", "", "mask_2700.bmp", 20, 44, 0, 0)
    filtered=delogo()
    ReplaceFramesSimple(v5, filtered, mappings=[2700 3000]
    
    v = v1 + v2 + v3 + v4 + v5
    v
    Thank you.
    Quote Quote  
  15. Almost there...

    I'm using this code:
    Code:
    a=DirectShowSource("D:\RemoveSub\test.avi")
    
    LoadVirtualDubPlugin("E:\DVDTools\VirtualDub 1.9\plugins\delogo.vdf","delogo") 
    ConvertToRGB(a) 
    
    v0 = Trim(a,0, 499)
    
    v1 = Trim(500,1000) 
    delogo(0, "", "", "", "", "mask_149.bmp", 20, 44, 0, 0)
    filtered=delogo()
    v1=ReplaceFramesSimple(a, filtered, mappings= \
    "[0 500]")
    
    v2 = Trim(a,1001,1499)
    
    v3 = Trim(1500,2000) 
    delogo(0, "", "", "", "", "mask_1606.bmp", 20, 44, 0, 0)
    filtered=delogo()
    v3=ReplaceFramesSimple(a, filtered, mappings= \
    "[0 500]")
    
    v4 = Trim(a,2001,2699)
    
    v5 = Trim(2700,3000) 
    delogo(0, "", "", "", "", "mask_1677.bmp", 20, 44, 0, 0)
    filtered=delogo()
    v5=ReplaceFramesSimple(a, filtered, mappings= \
    "[0 300]")
    
    v = v0 + v1 + v2 + v3 + v4 + v5
    v
    The problem shows up when using ReplaceFrameSimple. If I use DeLogo alone, the result is very good. Using ReplaceFrameSimple, I get this:

    Click image for larger version

Name:	BadSister373.bmp
Views:	515
Size:	900.1 KB
ID:	17431

    What's the problem?

    Poisondeathray?
    Sanlyn?

    Anybody?
    Thank you.
    Quote Quote  
  16. Go step by step to determine where the problem is

    First, I would use AVISource() instead of DirectShowSource() , because the latter isn't necessary frame accurate


    What does V1 give you (Using delogo alone, with the replace frames) . If it's still messed up, go back a line and check filtered alone, if that's still messed up, then go back one more step


    What does this give you ?
    Code:
    LoadVirtualDubPlugin("E:\DVDTools\VirtualDub 1.9\plugins\delogo.vdf","delogo") 
    a=AVISource("D:\RemoveSub\test.avi").ConvertToRGB()
    
    v0 = Trim(a,0, 499)
    
    v1 = Trim(a, 500,1000) 
    filteredv1 = v1.delogo(0, "", "", "", "", "mask_149.bmp", 20, 44, 0, 0)
    v1r = ReplaceFramesSimple(a, filteredv1, mappings="[0 500]")
    
    v0 ++ v1r
    Last edited by poisondeathray; 20th Apr 2013 at 10:43.
    Quote Quote  
  17. Originally Posted by poisondeathray View Post
    Go step by step to determine where the problem is

    First, I would use AVISource() instead of DirectShowSource() , because the latter isn't necessary frame accurate
    Yes, you're right and I myself never use DirectShowSource because I do know it's not the best choice. But I'm try to load Huffyuv video with AviSource and AvspMod is returning "Couldn't locate a decompressor for fourcc ffds". I can open the video alone with Vdub fine, without problem, but never with AviSource. Do you know why?


    Originally Posted by poisondeathray View Post
    What does V1 give you (Using delogo alone, with the replace frames) . If it's still messed up, go back a line and check filtered alone, if that's still messed up, then go back one more step
    It gives me exactly what I want, i.e., the hard subtitle blurred by the image mask.
    Using this code, I get the following images:

    Code:
    LoadVirtualDubPlugin("E:\DVDTools\VirtualDub 1.9\plugins\delogo.vdf","delogo") 
    a=DirectShowSource("D:\test.avi")
    ConvertToRGB(a) 
    
    v1=delogo(0, "", "", "", "", "mask_149.bmp", 20, 44, 0, 0)
    v1
    Click image for larger version

Name:	BadSister1.bmp
Views:	511
Size:	900.1 KB
ID:	17444

    Click image for larger version

Name:	BadSister2.bmp
Views:	467
Size:	900.1 KB
ID:	17445


    Originally Posted by poisondeathray View Post
    What does this give you ?
    Code:
    LoadVirtualDubPlugin("E:\DVDTools\VirtualDub 1.9\plugins\delogo.vdf","delogo") 
    a=AVISource("D:\RemoveSub\test.avi").ConvertToRGB()
    
    v0 = Trim(a,0, 499)
    
    v1 = Trim(a, 500,1000) 
    filteredv1 = v1.delogo(0, "", "", "", "", "mask_149.bmp", 20, 44, 0, 0)
    v1r = ReplaceFramesSimple(a, filteredv1, mappings="[0 500]")
    
    v0 ++ v1r
    It gives:
    VirtualDubFilterProxy: only RGB32 supported for Virtualdub filters
    I tried to use ConvertToRGB32(a) and ConvertToRGB32(filteredv1) and got the same error mesage on line with filteredv1=.

    But I guess we are getting close to the solution.

    Once solving this syntax drama, my Delphi program can handle the full script. DeLogo Plugin works fine into a Avisynth script, exactly how I want to. The next target is to manage the action just to the group of segments of frames, and not the same image applying for the whole video.
    Thank you.
    Quote Quote  
  18. What kind of huffyuv is it ? There are several different variants. ffvhuff, huffyuv, huffyuv-mt , a few others. Not all of them will open with AVISource() . Each has a different fourcc. Mediainfo view=>text will show it

    FFVideoSource() should be able to open all variants , and better alternative than directshowsource

    LoadVirtualDubPlugin("E:\DVDTools\VirtualDub 1.9\plugins\delogo.vdf","delogo")

    a=DirectShowSource("D:\test.avi") ConvertToRGB(a) v1=delogo(0, "", "", "", "", "mask_149.bmp", 20, 44, 0, 0)

    v1
    I'm confused. V1 works, but rgb24 , and you don't get the rgb32 error message ?

    How many frames is V1 returning ?

    I tried to use ConvertToRGB32(a) and ConvertToRGB32(filteredv1) and got the same error mesage on line with filteredv1=.
    What error message ?

    If you add ConvertToRGB32() to the 2nd line, they should all be RGB32 (Everything references "a", so they should all be RGB32)

    I think you don't even need trim() if you use replaceframes (if you trim it before, there might not be enough frames)

    Code:
    LoadVirtualDubPlugin("E:\DVDTools\VirtualDub 1.9\plugins\delogo.vdf","delogo")
    a=AVISource("D:\RemoveSub\test.avi").ConvertToRGB32()  
    
    v0 = a.Trim(0, 499)  
    
    filteredv1 = a.delogo(0, "", "", "", "", "mask_149.bmp", 20, 44, 0, 0) 
    v1r = ReplaceFramesSimple(a, filteredv1, mappings="[500 1000]").Trim(500,1000)
    
    v0 ++ v1r
    Last edited by poisondeathray; 20th Apr 2013 at 18:14.
    Quote Quote  
  19. Originally Posted by poisondeathray View Post
    What kind of huffyuv is it ? There are several different variants. ffvhuff, huffyuv, huffyuv-mt , a few others. Not all of them will open with AVISource() . Each has a different fourcc. Mediainfo view=>text will show it

    FFVideoSource() should be able to open all variants , and better alternative than directshowsource
    Good job! FFVideoSource works fine.

    Originally Posted by poisondeathray View Post
    I'm confused. V1 works, but rgb24 , and you don't get the rgb32 error message ?

    How many frames is V1 returning ?
    If I use the code reffered on post #17, v1 returns the whole video, i.e., 1728 frames, applying the image mask (blurring the subs) to all frames. Just one subtitle matches that mask, correponding frame 149 and adjacents.

    But I need different images, one for corresponding subtitle.

    I tried to use ConvertToRGB32(a) and ConvertToRGB32(filteredv1) and got the same error mesage on line with filteredv1=.
    Originally Posted by poisondeathray View Post
    What error message ?
    VirtualDubFilterProxy: only RGB32 supported for Virtualdub filters


    Originally Posted by poisondeathray View Post
    If you add ConvertToRGB32() to the 2nd line, they should all be RGB32 (Everything references "a", so they should all be RGB32)
    I will try.
    Thank you.
    Quote Quote  
  20. I made some edits above to the last message, try that last script

    I don't think you need the trims before . Since both return the whole video, you're just replacing frames 500-1000 from the 1728 frame original version with the delogoed version (so the "delogoed version" has all frames delogoed). Once the frames are replaced, then you can trim() it after
    Last edited by poisondeathray; 20th Apr 2013 at 18:15.
    Quote Quote  
  21. Originally Posted by poisondeathray View Post
    I made some edits above to the last message, try that last script

    I don't think you need the trims . Since both return the whole video, you're just replacing frames 500-1000 from the orignal version with the delogoed version
    Poisondeathray, you're the best, not only for your huge knowledge, but for your big patience! It's a pleasure to change ideas with you.

    Now, back to work.

    Yes, you're right. I don't need trims for ReplaceFrameSimple. Yesterday, taking shower, I thouth that. And your last script works!
    But... but...

    Always we have a "but".

    When video reaches frame 500, it comes back to the start of it, I think it's beacause ReplaceFrameSimple comes to action. How to deal that?
    Thank you.
    Quote Quote  
  22. I edited my edit; sorry . Have a look again and read the description in post #20

    Code:
    LoadVirtualDubPlugin("E:\DVDTools\VirtualDub 1.9\plugins\delogo.vdf","delogo") 
    a=AVISource("D:\RemoveSub\test.avi").ConvertToRGB32()    
    
    v0 = a.Trim(0, 499)    
    
    filteredv1 = a.delogo(0, "", "", "", "", "mask_149.bmp", 20, 44, 0, 0)  
    v1r = ReplaceFramesSimple(a, filteredv1, mappings="[500 1000]").Trim(500,1000)  
    
    v0 ++ v1r
    Quote Quote  
  23. I mean, video runs fine, but it starts over again when RFS (ReplaceFrameSimple) was called to run from 500 ahead. But it goes back to frame # zero.
    Thank you.
    Quote Quote  
  24. Hummm.

    Apply Trim AFTER.
    Thank you.
    Quote Quote  
  25. Bingo!

    Yes, now everything is OK.
    I can blur each hard sub according, and say goodbye for the fixed blur rectangle!



    Many thanks, mate.
    Last edited by jairovital; 20th Apr 2013 at 18:46.
    Thank you.
    Quote Quote  
  26. Maybe you could post instructions on your delphi program, so others doing the same thing can have help ?
    Quote Quote  
  27. Originally Posted by poisondeathray View Post
    Maybe you could post instructions on your delphi program, so others doing the same thing can have help ?

    Sure, sure. Next monday, I'll work hard to change my Delphi code to accommodate this new method to replace blurs. Then, I'll post here some directions about that.

    Have a good weekend!
    Thank you.
    Quote Quote  
  28. Here, a brief description of the steps to blur hard subtitles using separated mask files.

    I wrote a small program using Delphi7 to automate the written process to generate the Avisynth script, involving thousand of frames, at one step.

    First, I need to detect the segments of the video with hard subs. I use MSU_SubtitleRemover to do that. This filter generate individual mask files and a text file at the end of its processing.

    The structure of this text file consists of each line to represent the number of each frame of the video. When the segment has no sub, the line is zero. When it detects a sub, it writes the number of the last line of that segment containing hard sub and repeat it. When it reaches another segment without sub, it back to write zero. And reapeat this, on and on. This an example:
    Code:
    0
    0
    0
    0
    0
    94
    94
    94
    94
    94
    94
    94
    94
    94
    0
    0
    0
    0
    0
    171
    171
    171
    171
    171
    171
    0
    0
    0
    0
    221
    221
    221
    221
    221
    221
    221
    221
    0
    0
    ...
    Also, filter creates corresponding images of that frames with subs, like this:

    Code:
    mask_94.bmp
    mask_171.bmp
    mask_221_bmp
    ...
    The program reads the mask file and organize the frames using the disposal above.

    This is an image mask example:

    Click image for larger version

Name:	mask_171.bmp
Views:	504
Size:	1.19 MB
ID:	17514

    DeLogo filter needs a BMP 24 bits image with pure black (0,0,0) and pure red (255,0,0), representing transparent and blur colors, using Repair option. I don't know if using Analyse, Alpha, DeBlend and Color options make better results. I'm using only Repair option with acceptable result.

    The last lines of the script is dedicated to concatenate all segments, with and without subtitles and to show the result video.
    Like this:
    Code:
    filme=v1+v2+v3+v4+v5+v6+v7+v8+v9+v10+v11+v12+v13+v14+v15+v16+v17+v18+v19+v20+v21+v22+v23+v24+v25+v26+v27+v28+v29+v30+v31+v32+v33+v34+v35+v36+v37+v38+v39+v40+v41+v42+v43+v44+v45+v46+v47+v48+v49+v50+v51+v52+v53+v54+v55+v56+v57+v58+v59+v60+v61+v62+v63+v64++\
    v65+v66+v67+v68+v69+v70+v71+v72+v73+v74+v75+v76+v77+v78+v79+v80+v81+v82+v83+v84+v85+v86+v87+v88+v89+v90+v91+v92+v93+v94+v95+v96+v97+v98+v99+v100+v101+v102+v103+v104+v105+v106+v107+v108+v109+v110+v111+v112+v113+v114+v115+v116+v117+v118+v119+v120++\
    v121+v122+v123+v124+v125+v126+v127+v128+v129+v130+v131+v132+v133+v134+v135+v136+v137+v138+v139+v140+v141+v142+v143+v144+v145+v146+v147+v148+v149+v150+v151+v152+v153+v154+v155+v156+v157+v158+v159+v160+v161+v162+v163+v164+v165+v166+v167+v168+v169+v170++\
    v171+v172+v173+v174+v175+v176+v177+v178+v179+v180+v181+v182+v183+v184+v185+v186+v187+v188+v189+v190+v191+v192+v193+v194+v195+v196+v197+v198+v199+v200+v201+v202+v203+v204+v205+v206+v207+v208+v209+v210+v211+v212+v213+v214+v215+v216+v217+v218+v219+v220++\
    v221+v222+v223+v224+v225+v226+v227+v228+v229+v230+v231+v232+v233+v234+v235+v236+v237+v238+v239+v240+v241+v242+v243+v244+v245+v246+v247+v248+v249+v250+v251+v252+v253+v254+v255+v256+v257+v258+v259+v260+v261+v262+v263+v264+v265+v266+v267+v268+v269+v270++\
    v271+v272+v273+v274+v275+v276+v277+v278+v279+v280+v281+v282+v283+v284+v285+v286+v287+v288+v289+v290+v291+v292+v293+v294+v295+v296+v297+v298+v299+v300+v301+v302+v303+v304+v305+v306+v307+v308+v309+v310+v311+v312+v313+v314+v315+v316+v317+v318+v319+v320++\
    v321+v322+v323+v324+v325+v326+v327+v328+v329+v330+v331+v332+v333+v334+v335+v336+v337+v338+v339+v340+v341+v342+v343+v344+v345+v346+v347+v348+v349+v350+v351+v352+v353+v354+v355+v356+v357+v358+v359+v360+v361+v362+v363+v364+v365+v366+v367+v368+v369+v370++\
    v371+v372+v373+v374+v375+v376+v377+v378+v379+v380+v381+v382+v383+v384+v385+v386+v387+v388+v389+v390+v391+v392+v393+v394+v395+v396+v397+v398+v399+v400+v401+v402+v403+v404+v405+v406+v407+v408+v409+v410+v411+v412+v413+v414+v415+v416+v417+v418+v419+v420++\
    v421+v422+v423+v424+v425+v426+v427+v428+v429+v430+v431+v432+v433+v434+v435+v436+v437+v438+v439+v440+v441+v442+v443+v444+v445+v446+v447+v448+v449+v450+v451+v452+v453+v454+v455+v456+v457+v458+v459+v460+v461+v462+v463+v464+v465+v466+v467+v468+v469+v470++\
    v471+v472+v473+v474+v475+v476+v477+v478+v479+v480+v481+v482+v483+v484+v485+v486+v487+v488+v489+v490+v491+v492+v493+v494+v495+v496+v497+v498+v499+v500+v501+v502+v503+v504+v505+v506+v507+v508+v509+v510+v511+v512+v513+v514+v515+v516+v517+v518+v519+v520++\
    v521+v522+v523+v524+v525+v526+v527+v528+v529+v530+v531+v532+v533+v534+v535+v536+v537+v538+v539+v540+v541+v542+v543+v544+v545+v546+v547+v548+v549+v550+v551+v552+v553+v554+v555+v556+v557+v558+v559+v560+v561+v562+v563+v564+v565+v566+v567+v568+v569+v570++\
    v571+v572+v573+v574+v575+v576+v577+v578+v579+v580+v581+v582+v583+v584+v585+v586+v587+v588+v589+v590+v591+v592+v593+v594+v595+v596+v597+v598+v599+v600+v601+v602+v603+v604+v605+v606+v607+v608+v609+v610+v611+v612+v613+v614+v615+v616+v617+v618+v619+v620++\
    v621+v622+v623+v624+v625+v626+v627+v628+v629+v630+v631+v632+v633+v634+v635+v636+v637+v638+v639+v640+v641+v642+v643+v644+v645+v646+v647+v648+v649+v650+v651+v652+v653+v654+v655+v656+v657+v658+v659+v660+v661+v662+v663+v664+v665+v666+v667+v668+v669++\
    v670+v671+v672+v673+v674+v675+v676+v677+v678+v679+v680+v681+v682+v683+v684+v685+v686+v687+v688+v689+v690+v691+v692+v693+v694+v695+v696+v697+v698+v699+v700+v701+v702+v703+v704+v705+v706+v707+v708+v709+v710+v711+v712+v713+v714+v715+v716+v717+v718+v719++\
    v720+v721+v722+v723+v724+v725+v726+v727+v728+v729+v730+v731+v732+v733+v734+v735+v736+v737+v738+v739+v740+v741+v742+v743+v744+v745+v746+v747+v748+v749+v750+v751+v752+v753+v754+v755+v756+v757+v758+v759+v760+v761+v762+v763+v764+v765+v766+v767+v768+v769++\
    v770+v771+v772+v773+v774+v775+v776+v777+v778+v779+v780+v781+v782+v783+v784+v785+v786+v787+v788+v789+v790+v791+v792+v793+v794+v795+v796+v797+v798+v799+v800+v801+v802+v803+v804+v805+v806+v807+v808+v809+v810+v811+v812+v813+v814+v815+v816+v817+v818++\
    v819+v820+v821+v822+v823+v824+v825+v826+v827+v828+v829+v830+v831+v832+v833+v834+v835+v836+v837+v838+v839+v840+v841+v842+v843+v844+v845+v846+v847+v848+v849+v850+v851+v852+v853+v854+v855+v856+v857+v858+v859+v860+v861+v862+v863+v864+v865+v866+v867+v868++\
    v869+v870+v871+v872+v873+v874+v875+v876+v877+v878+v879+v880+v881+v882+v883+v884+v885+v886+v887+v888+v889+v890+v891+v892+v893+v894+v895+v896+v897+v898+v899+v900+v901+v902+v903+v904+v905+v906+v907+v908+v909+v910+v911+v912+v913+v914+v915+v916+v917+v918++\
    v919+v920+v921+v922+v923+v924+v925+v926+v927+v928+v929+v930+v931+v932+v933+v934+v935+v936+v937+v938+v939+v940+v941+v942+v943+v944+v945+v946+v947+v948+v949+v950+v951+v952+v953+v954+v955+v956+v957+v958+v959+v960+v961+v962+v963+v964+v965+v966+v967+v968++\
    v969+v970+v971+v972+v973+v974+v975+v976+v977+v978+v979+v980+v981+v982+v983+v984+v985+v986+v987+v988+v989+v990+v991+v992+v993+v994+v995+v996+v997+v998+v999+v1000+v1001+v1002+v1003+v1004+v1005+v1006+v1007+v1008+v1009+v1010+v1011+v1012+v1013+v1014++\
    v1015+v1016+v1017+v1018+v1019+v1020+v1021+v1022+v1023+v1024+v1025+v1026+v1027+v1028+v1029+v1030+v1031+v1032+v1033+v1034+v1035+v1036+v1037+v1038+v1039+v1040+v1041+v1042+v1043+v1044+v1045+v1046+v1047+v1048+v1049+v1050+v1051+v1052+v1053+v1054+v1055+v1056++\
    v1057+v1058+v1059+v1060+v1061+v1062+v1063+v1064+v1065+v1066+v1067+v1068+v1069+v1070+v1071+v1072+v1073+v1074+v1075+v1076+v1077+v1078+v1079+v1080+v1081+v1082+v1083+v1084+v1085+v1086+v1087+v1088+v1089+v1090+v1091+v1092+v1093+v1094+v1095+v1096+v1097+v1098++\
    v1099+v1100+v1101+v1102+v1103+v1104+v1105+v1106+v1107+v1108+v1109+v1110+v1111+v1112+v1113+v1114+v1115+v1116+v1117+v1118+v1119+v1120+v1121+v1122+v1123+v1124+v1125+v1126+v1127+v1128+v1129+v1130+v1131+v1132+v1133+v1134+v1135+v1136+v1137+v1138+v1139+v1140++\
    v1141+v1142+v1143+v1144+v1145+v1146+v1147+v1148+v1149+v1150+v1151+v1152+v1153+v1154+v1155+v1156+v1157+v1158+v1159+v1160+v1161+v1162+v1163+v1164+v1165+v1166+v1167+v1168+v1169+v1170+v1171+v1172+v1173+v1174+v1175+v1176+v1177+v1178+v1179+v1180+v1181+v1182++\
    v1183+v1184+v1185+v1186+v1187+v1188+v1189+v1190+v1191+v1192+v1193+v1194+v1195+v1196+v1197+v1198+v1199+v1200+v1201+v1202+v1203+v1204+v1205+v1206+v1207+v1208+v1209+v1210+v1211+v1212+v1213+v1214+v1215+v1216+v1217+v1218+v1219+v1220+v1221+v1222+v1223+v1224++\
    v1225+v1226+v1227+v1228+v1229+v1230+v1231+v1232+v1233+v1234+v1235+v1236+v1237+v1238+v1239+v1240+v1241+v1242+v1243+v1244+v1245+v1246+v1247+v1248+v1249+v1250+v1251+v1252+v1253+v1254+v1255+v1256+v1257+v1258+v1259+v1260+v1261+v1262+v1263+v1264+v1265+v1266++\
    v1267+v1268+v1269+v1270+v1271+v1272+v1273+v1274+v1275+v1276+v1277+v1278+v1279+v1280+v1281+v1282+v1283+v1284+v1285+v1286+v1287+v1288+v1289+v1290+v1291+v1292+v1293+v1294+v1295+v1296+v1297+v1298+v1299+v1300+v1301+v1302+v1303+v1304+v1305+v1306+v1307+v1308++\
    v1309+v1310+v1311+v1312+v1313+v1314+v1315+v1316+v1317+v1318+v1319+v1320+v1321+v1322+v1323+v1324+v1325+v1326+v1327+v1328+v1329+v1330+v1331+v1332+v1333+v1334+v1335+v1336+v1337+v1338+v1339+v1340+v1341+v1342+v1343+v1344+v1345+v1346+v1347+v1348+v1349+v1350++\
    v1351+v1352+v1353+v1354+v1355+v1356+v1357+v1358+v1359+v1360+v1361+v1362+v1363+v1364+v1365+v1366+v1367+v1368+v1369+v1370+v1371+v1372+v1373+v1374+v1375+v1376+v1377+v1378+v1379+v1380+v1381+v1382+v1383+v1384+v1385+v1386+v1387+v1388+v1389+v1390+v1391+v1392++\
    v1393+v1394+v1395+v1396+v1397+v1398+v1399+v1400+v1401+v1402+v1403+v1404+v1405+v1406+v1407+v1408+v1409+v1410+v1411+v1412+v1413+v1414+v1415+v1416+v1417+v1418+v1419+v1420+v1421+v1422+v1423+v1424+v1425+v1426+v1427+v1428+v1429+v1430+v1431+v1432+v1433+v1434++\
    v1435+v1436+v1437+v1438+v1439+v1440+v1441+v1442+v1443+v1444+v1445+v1446+v1447+v1448+v1449+v1450+v1451+v1452+v1453+v1454+v1455+v1456+v1457+v1458+v1459+v1460+v1461+v1462+v1463+v1464+v1465+v1466+v1467+v1468+v1469+v1470+v1471+v1472+v1473+v1474+v1475+v1476++\
    v1477+v1478+v1479+v1480+v1481+v1482+v1483+v1484+v1485+v1486+v1487+v1488+v1489+v1490+v1491+v1492+v1493+v1494+v1495+v1496+v1497+v1498+v1499+v1500+v1501+v1502+v1503+v1504+v1505+v1506+v1507+v1508+v1509+v1510+v1511+v1512+v1513+v1514+v1515+v1516+v1517+v1518++\
    v1519
    filme
    @Poisondeathray:
    When I reopened the project again, to work, I realized that ReplaceFrameSimple is useless. No need to use it, once I apply a Trim after each DeLogo line. Too much work with ReplaceFrameSimple and no use for it...

    Attached, the mask file and the final script.
    Image Attached Files
    Last edited by jairovital; 22nd Apr 2013 at 14:46.
    Thank you.
    Quote Quote  
  29. I almost forgot!

    The final script seems like this:

    Code:
    v = AviSource("C:\Temp\The bad sister - com imagem e som.avi")
    v = ConvertToRGB32(v)
    LoadVirtualDubPlugin("E:\DVDTools\VirtualDub 1.9\plugins\delogo.vdf","delogo")
    v1 = Trim(v,0,80)
    aux1 = v.delogo(0, "", "", "", "", "mask_94.bmp", 20, 44, 0, 0)
    v2 = Trim(aux1, 81,93)
    v3 = Trim(v,94,110)
    aux1 = v.delogo(0, "", "", "", "", "mask_171.bmp", 20, 44, 0, 0)
    v4 = Trim(aux1, 111,170)
    v5 = Trim(v,171,174)
    aux1 = v.delogo(0, "", "", "", "", "mask_221.bmp", 20, 44, 0, 0)
    v6 = Trim(aux1, 175,220)
    
    [...]
    
    [...]
    
    filme=v1+v2+v3+v4+v5+v6+v7+v8+v9+v10+v11+v12+v13+   ...   +v60+v61+v62+v63+v64++\
    
    [...]
    
    [...]
    
    filme
    Thank you.
    Quote Quote  
  30. Resulting video:

    Click image for larger version

Name:	BadSister_Final1.bmp
Views:	458
Size:	1.19 MB
ID:	17516


    Click image for larger version

Name:	BadSister_Final2.bmp
Views:	523
Size:	1.19 MB
ID:	17517
    Thank you.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!