VideoHelp Forum
+ Reply to Thread
Page 1 of 6
1 2 3 ... LastLast
Results 1 to 30 of 172
Thread
  1. Member Rockel83's Avatar
    Join Date
    Apr 2022
    Location
    Holland
    Search PM
    Hello all!

    I'm just back from a beautifull trip out of South America. And I took my SJCam M20 (verry small screen) with me to record some footages of the beautifull places I wanted to visit.

    Unfortunatelly... I now see that after some time somehow the "timestamp" option got activated on the camera. And it's showing me a timestamp on 3 of the 9 SD-Cards (so a lot).
    It wasn't verry noticeable on the small screen of the camera itself. But it's verry clear (and annoying) watching the videos on my laptop right now back at home. And even more annoying is that the camera always had problems keeping the exact date and time after battery change. So the timestamp is even showing some wrong dates of 2016. I'm actually quite sick of this now...

    I was wondering if people know some great software to remove this kind of timestamps (in the lower left corner of the video) without degrading much of the video quality (1080P).

    Probably the only posibility is cropping? But if so, does annyone knows some great, easy and fast software to doe so, without changing much of the video quality. I would like to keep it 1080P because of future editing.

    Or are there some great (free) editing tools out there to blur out or maybe somekind of "magic brush tool" to remove such things as timestamps, without changing the resolution at all?

    Thanks in advance!
    Quote Quote  
  2. Best post a small sample of such a source.
    If one can create a proper mask capturing the time stamps one could try to color those time stamps with a fixed color anduse some sort fo inpainting on it. Note that this is probably not fast and you won't get rid of them completely.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  3. Member Rockel83's Avatar
    Join Date
    Apr 2022
    Location
    Holland
    Search PM
    Thanks for the reply!

    You mean a foto with sample?

    This is a screenshot of the timestamp (located botom left, but it's hard to miss haha).

    Image
    [Attachment 64537 - Click to enlarge]


    But it's actually found on a lot of video's, over 100. With a lot of diversity of landscapes and backgrounds.
    Quote Quote  
  4. Video Damager VoodooFX's Avatar
    Join Date
    Oct 2021
    Location
    At Doom9
    Search PM
    Originally Posted by Rockel83 View Post
    You mean a foto with sample?
    "Sample" means snippet cut of video.
    You can upload up to 512MB per file here or Wetransfer supports up to 2GB for free.
    Quote Quote  
  5. Yes, a sample would be needed. The InpaintDelog in VoodooFXs signature, might be able to do the work.
    I did a small test, overlaying the time stamps with a rectangle and inpaint the whole rectangle in Vapoursynth:
    Code:
    # Imports
    import vapoursynth as vs
    import os
    import sys
    # getting Vapoursynth core
    core = vs.core
    # Import scripts folder
    scriptPath = 'i:/Hybrid/64bit/vsscripts'
    sys.path.insert(0, os.path.abspath(scriptPath))
    # Loading Plugins
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/libimwri.dll")
    core.std.LoadPlugin(path="i:/Hybrid/64bit/vsfilters/Support/TColorMask.dll")
    # source: 'C:/Users/Selur/Desktop/Timestamp.jpg'
    # current color space: YUV420P8, bit depth: 8, resolution: 1920x1080, fps: 25, color matrix: 709, yuv luminance scale: full, scanorder: progressive
    # Loading C:\Users\Selur\Desktop\Timestamp.jpg using vsImageReader
    clip = core.imwri.Read(["C:/Users/Selur/Desktop/Timestamp.jpg"])
    clip = core.std.Loop(clip=clip, times=100)
    
    # paint green rectangle over time stamps
    import animate
    def allGreen(clip,*args):
      return core.std.BlankClip(clip=clip, color=[0,(2 ** clip.format.bits_per_sample) - 1,0])
    end = clip.num_frames-1
    mapping = [
      (0, end),   [allGreen],
    ]
    clip = animate.run(clip, mapping, selection=(506,46,10,1012))
    
    # use vsgan to inpaint the green
    from vsgan import ESRGAN
    vsgan = ESRGAN(clip=clip,device="cuda")
    model = "I:/Hybrid/64bit/vsgan_models/1x_NMKD-YandereInpaint_375000_G.pth"
    vsgan.load(model)
    vsgan.apply() 
    clip = vsgan.clip
    
    # Output
    clip.set_output()
    l]
    which doesn't look bad (recangle need to be a bit wider), but removing something from a pictue and from a clip consisting of xy pictures per second are different things,... (temporal coherence is a ....) Also it would be better to have a proper mask instead of a static rectangle.
    -> InpaintDelogo might be the right approach, but this at least shows the idea

    Cu Selur

    Ps.: there should be tons of tools out there that can do inpainting nowadays, so you probably don't have to mess with Avisynth or Vapoursynth if they are totally new to you.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  6. Member Rockel83's Avatar
    Join Date
    Apr 2022
    Location
    Holland
    Search PM
    Wow, thanks Selur!

    This actually looks verry good!
    Only I'm not verry familiar with the terms inpainting, Avisynth nor Vapoursynth. I should search some more info about this.

    This also works with other background or colors? For instance when making a compilation of different shots?

    I only did some editing with PinnacleStudio 24 before.
    Quote Quote  
  7. The Vapoursynth filter I used only replaces content that is full green (rgb 0/255/0), iirc. the Avisynth Inpainting filters work directly on masks, VoodooFX probably can tell you more about it.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  8. Video Damager VoodooFX's Avatar
    Join Date
    Oct 2021
    Location
    At Doom9
    Search PM
    Originally Posted by Rockel83 View Post
    This actually looks verry good!
    Actually it doesn't look good, and on actual video it will look much worse because of the temporal discrepancies.

    With masking on digits only it can be much better, but without sample of video we will never know.

    Once I removed a more complex timestamp:

    Before:


    After:


    Gif of timestamp [from top to bottom: original/mask/result]
    Quote Quote  
  9. Nice mask!
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  10. Member Rockel83's Avatar
    Join Date
    Apr 2022
    Location
    Holland
    Search PM
    Originally Posted by VoodooFX View Post
    Originally Posted by Rockel83 View Post
    This actually looks verry good!
    Actually it doesn't look good, and on actual video it will look much worse because of the temporal discrepancies.

    With masking on digits only it can be much better, but without sample of video we will never know.

    Once I removed a more complex timestamp:

    Before:


    After:


    Gif of timestamp [from top to bottom: original/mask/result]
    This giff on the bottom looks good!
    Sorry, I'm new on this. But how will I achief something like this?

    I've uploaded a small part of a recording in a museum here. The background around the timestamp is changing quite a lot here.

    This should be the WeTransfer link of the file:
    https://we.tl/t-Th2O59JrCY
    Quote Quote  
  11. Without proper masking just removing a rectangle around the timestamps (and no cleaning etc. before and after), like I did before:

    -> really ugly, but VoodooFX probably can do much better

    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  12. Video Damager VoodooFX's Avatar
    Join Date
    Oct 2021
    Location
    At Doom9
    Search PM
    Originally Posted by Rockel83 View Post
    This giff on the bottom looks good!
    Sorry, I'm new on this. But how will I achief something like this?

    I've uploaded a small part of a recording in a museum here. The background around the timestamp is changing quite a lot here.
    No need to quote all images.

    You would need to install Avisynth and some plugins [like InpaintDelogo].
    It's not complicated, but it's a bit hard to grasp for the first time avisynth newbies as it's not usual point and click software. Just ask in forums or here and people will help you.

    Here is AvS script for your video, just quick example [doesn't mask last digit]:
    Code:
    LWLibAvVideoSource("D:\testtt\Pachacamac E.MP4").RequestLinear(rlim=200+1,clim=200+1)
    
    # For full timestamp Loc="4,990,-1380,-4"
    InpaintDelogo(Loc="4,990,-1428,-4", Show=0, DynMask=3, DynTune=150, Dyn3Seq=600, ClpBlend=200, DynInflate=2, Dyn3buffer=1)
    If you manage to run this, then later I'll explain how to mask that last digit too.
    To see mask use Show= 4, and DynInflate=0 to see non inflated mask.

    Before:


    After:


    Whole video:
    Image Attached Files
    Quote Quote  
  13. ^ So, is the mask dynamic? You don't need to define a separate file with the mask? EDIT: forget it, I just clicked on your signature You say that mask can be provided manually - this generally should improve the results if the mask is well defined? Also, if the video is jittery (left/right, up/down), will the script try to find the mask in a frame every time and account for small shifts, or will it always look at the same location? Or, should one just use a larger rectangle, and the script will look for the mask within this rectangle, even if the mask moves from frame to frame?
    Last edited by ConsumerDV; 27th Apr 2022 at 19:15.
    Quote Quote  
  14. Video Damager VoodooFX's Avatar
    Join Date
    Oct 2021
    Location
    At Doom9
    Search PM
    Originally Posted by ConsumerDV View Post
    ^ So, is the mask dynamic? You don't need to define a separate file with the mask?
    Yes, "DynMask" specifies a method to get a dynamic mask, "DynMask=1" is for your own dynamic mask.

    Btw, the last digit in this video stays steady for 1s [60fps] so only max "Dyn3Seq=60" can be used, that is not enough to get a clean mask in this video as background sometimes is brighter than timestamp, currently InpaintDelogo doesn't use colors to get mask, maybe I could add some parameter for colors to help.

    Anyway there is "maskPatch" parameter, it can be used to cover all variations of the last digit.

    Originally Posted by ConsumerDV View Post
    You say that mask can be provided manually - this generally should improve the results if the mask is well defined?
    If you have some better masking method then let me know.

    Originally Posted by ConsumerDV View Post
    Also, if the video is jittery (left/right, up/down), will the script try to find the mask in a frame every time and account for small shifts, or will it always look at the same location? Or, should one just use a larger rectangle, and the script will look for the mask within this rectangle, even if the mask moves from frame to frame?
    I'm not sure I understand what you mean. Post some example.

    EDIT:
    "Logo" for DynMask=2 can jump whatever it wants.
    "Logo" for DynMask=3 must be steady for some time, after that time it can jump.
    "Logo" for DynMask=4 can jump whatever it wants, but it must have dark halo.
    Quote Quote  
  15. Originally Posted by VoodooFX View Post
    Originally Posted by ConsumerDV View Post
    You say that mask can be provided manually - this generally should improve the results if the mask is well defined?
    If you have some better masking method then let me know.
    I am asking a question about your tool. You wrote: "Prepare the mask manually, or start InpaintDelogo with "Automask=1" and "Analyze=2"". Hence my question: if I prepare the mask manually, does it provide a better result? I suppose, it depends on the quality of the mask.

    Originally Posted by VoodooFX View Post
    Originally Posted by ConsumerDV View Post
    Also, if the video is jittery (left/right, up/down), will the script try to find the mask in a frame every time and account for small shifts, or will it always look at the same location? Or, should one just use a larger rectangle, and the script will look for the mask within this rectangle, even if the mask moves from frame to frame?
    I'm not sure I understand what you mean. Post some example.
    It is a theoretical question, I do not have an example at the moment. Imagine film with gate weave - titles and logos will be moving left-right. If I provide manual mask, then do I need to provide a bounding rectangle wide enough for the mask in its leftmost and righmost position, and the script will find it? Or does the script expect the mask to be stationary? I guess, in case of automask this question does not make much sense

    EDIT: I saw your edit, thanks!
    Quote Quote  
  16. Video Damager VoodooFX's Avatar
    Join Date
    Oct 2021
    Location
    At Doom9
    Search PM
    Originally Posted by ConsumerDV View Post
    I am asking a question about your tool. You wrote: "Prepare the mask manually, or start InpaintDelogo with "Automask=1" and "Analyze=2"". Hence my question: if I prepare the mask manually, does it provide a better result? I suppose, it depends on the quality of the mask.
    "Automask" is only for non-dynamic logos. Manual/non-manual doesn't make mask better nor worse.

    Originally Posted by ConsumerDV View Post
    Imagine film with gate weave - titles and logos will be moving left-right. If I provide manual mask, then do I need to provide a bounding rectangle wide enough for the mask in its leftmost and righmost position, and the script will find it? Or does the script expect the mask to be stationary? I guess, in case of automask this question does not make much sense.
    If it's not dynamic mask then cover all logo movements in one mask. Provide 10px or more boundary from mask edge if possible.
    For inpainting a mask can move whatever it wants, for deblending is should be stationary.
    Script doesn't "find" masks, whatever that means, yeah, it doesn't make sense to me.
    Quote Quote  
  17. Member Rockel83's Avatar
    Join Date
    Apr 2022
    Location
    Holland
    Search PM
    Originally Posted by VoodooFX View Post
    Originally Posted by Rockel83 View Post
    This giff on the bottom looks good!
    Sorry, I'm new on this. But how will I achief something like this?

    I've uploaded a small part of a recording in a museum here. The background around the timestamp is changing quite a lot here.
    You would need to install Avisynth and some plugins [like InpaintDelogo].
    It's not complicated, but it's a bit hard to grasp for the first time avisynth newbies as it's not usual point and click software. Just ask in forums or here and people will help you.

    Here is AvS script for your video, just quick example [doesn't mask last digit]:
    [CODE]
    LWLibAvVideoSource("D:\testtt\Pachacamac E.MP4").RequestLinear(rlim=200+1,clim=200+1)
    Thanks Voodoo!
    This looks good!

    So to achiev this I need to use Avisynth, Inpaintdelogo and a scrypt like yours?

    Never worked with software so it's completely new to me. But the results looks verry good so far!

    It actually looks verry complex btw. But probably because this software or method is completely new for me.
    Last edited by Rockel83; 28th Apr 2022 at 08:54.
    Quote Quote  
  18. Video Damager VoodooFX's Avatar
    Join Date
    Oct 2021
    Location
    At Doom9
    Search PM
    Originally Posted by Rockel83 View Post
    So to achiev this I need to use Avisynth, Inpaintdelogo and a scrypt like yours?
    Yes.
    Quote Quote  
  19. Member Rockel83's Avatar
    Join Date
    Apr 2022
    Location
    Holland
    Search PM
    Originally Posted by VoodooFX View Post
    Originally Posted by Rockel83 View Post
    So to achiev this I need to use Avisynth, Inpaintdelogo and a scrypt like yours?
    Yes.
    Thanks! I will look for this software tonight after work.
    Probably will have some further questions later. It actually looks a bit complex at first glance. But worthwhile to give it a shot. Because I like the possible results!
    Quote Quote  
  20. Video Damager VoodooFX's Avatar
    Join Date
    Oct 2021
    Location
    At Doom9
    Search PM
    In v2.10 I added new 'DynColor' parameter, the script below removes your whole timestamp:

    Code:
    LWLibAvVideoSource("D:\Pachacamac E.MP4")
    InpaintDelogo(Loc="4,990,-1380,-4" ,  DynMask=3, DynTune=150, DynColor=$FFB900, Dyn3Seq=52, DynInflate=2)
    Image Attached Files
    Quote Quote  
  21. Member Rockel83's Avatar
    Join Date
    Apr 2022
    Location
    Holland
    Search PM
    Originally Posted by VoodooFX View Post
    In v2.10 I added new 'DynColor' parameter, the script below removes your whole timestamp:

    Code:
    LWLibAvVideoSource("D:\Pachacamac E.MP4")
    InpaintDelogo(Loc="4,990,-1380,-4" ,  DynMask=3, DynTune=150, DynColor=$FFB900, Dyn3Seq=52, DynInflate=2)
    Thanks again!

    I was bussy for a while so unfortunatelly had other prioroties.
    But I'm able to pick things up again now.

    I've tried to look for the requirements of your sollution. But I'm always struggeling somehow with Github. I should figger out how to use it correctly...

    I've managed to find and download "AviSynthPlus_3.7.2_20220317" on Github. It should be the latest version I believe?

    It seems (reading the requirements on InpaintDelogo Github) I also need AvsInpaint besides InpaintDelogo?
    But I can't find where to download these files or installs. Maybe I'm looking completely in the wrong direction here...

    https://github.com/Purfview/InpaintDelogo
    https://github.com/pinterf/AvsInpaint

    Actually I don't have anny idea how to use this software
    Quote Quote  
  22. Video Damager VoodooFX's Avatar
    Join Date
    Oct 2021
    Location
    At Doom9
    Search PM
    Yes, it latest. Those are plugins/filters to AviSynth, you need to copy them to AviSynth's plugins folder, copy all required plugins there.
    On GitHub if plugin is dll then you can find it at the right side in "Releases", if it's text based script like InpaintDelogo then just press on "InpaintDelogo.avsi" then "Raw" and save it.

    Here is the link for LWLibAvVideoSource filter: https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works

    Here are updated params for your video:
    LWLibAvVideoSource("D:\Pachacamac E.MP4")
    InpaintDelogo(Loc="4,990,-1380,-4" , DynMask=3, DynTune=150, DynColor=$FFB900, DynColorTol=40, Dyn3Seq=52, DynInflate=2)
    To preview avs scripts you can use AvsPmod, it's like a GUI for AviSynth.

    Final thing for you will be to do encode of avs script, there are lots of ways to do that, you should find guidance on this forum.
    Quote Quote  
  23. Member Rockel83's Avatar
    Join Date
    Apr 2022
    Location
    Holland
    Search PM
    Thanks for your directions!

    I've installed "AviSynthPlus_3.7.2.exe", got the "AvsInPaint.dll" (x64) file and saved the raw file "InpaintDelogo.avsi" now.

    When looking ino the AviSynthPlus folder, I see 4 plugin folders (plugins/ plugins+/ plugins64/ plugins64+), not sure where to put "AvsInPaint.dll" and "InpaintDelogo.avsi".

    I'm trying to figure out how to get it working reading here http://avisynth.nl/index.php/Getting_started. It mentiones using "VirtualDub" but this file seems to be from 2014. Should I just use this or do you have some better recommendations?

    And what's about this "LWLibAvVideoSource filter"?

    Quote Quote  
  24. Video Damager VoodooFX's Avatar
    Join Date
    Oct 2021
    Location
    At Doom9
    Search PM
    64 bit plugins copy to folder with "64" [...64/ ...64+ doesn't matter, nuances insignificant], copy avsi there too.
    Help on that site is very dated, use AvsPmod instead of VirtualDub2.

    LWLibAvVideoSource filter index/"opens" your video files.
    Quote Quote  
  25. Member Rockel83's Avatar
    Join Date
    Apr 2022
    Location
    Holland
    Search PM
    So now:
    - I've installed "AviSynthPlus_3.7.2"

    Put the following files into the "AviSynthPlus" "plugins64" folder:
    - AvsInPaint.dll
    - InpaintDelogo.avsi
    - LSMASHSource.dll

    And I've downloaded "AvsPmod_v2.7.1.6", which is a standalone program.

    I believe I have everything ready and configured now?

    I believe the next step is as following then: "First, you create a simple text document with special commands, called a script. These commands make references to one or more videos and the filters you wish to run on them. Then, you run a video application, such as VirtualDub, and open the script file. This is when AviSynth takes action. It opens the videos you referenced in the script, runs the specified filters, and feeds the output to video application. The application, however, is not aware that AviSynth is working in the background. Instead, the application thinks that it is directly opening a filtered AVI file that resides on your hard drive."

    But then using your script and using "AvsPmod_v2.7.1.6" instead of "VirtualDub"?

    But does this save/ convert the video without the timestamp (aplying your script)? Or do I still need some video editing software here?

    It feels like still missing something here, maybe not understanding how this is going to save/ convert the video.

    Edit:
    I've made a file called "version.avs" with the following content:
    Code:
    Version()
    LWLibAvVideoSource("D:\# Pachacamac A.MP4")
    InpaintDelogo(Loc="4,990,-1380,-4" , DynMask=3, DynTune=150, DynColor=$FFB900, DynColorTol=30, Dyn3Seq=52, DynInflate=2)
    But when opening this "version.avs" with MediaPLayer, it gives me the following error:

    Image
    [Attachment 65055 - Click to enlarge]


    And with AvsPmod:

    Image
    [Attachment 65056 - Click to enlarge]
    Last edited by Rockel83; 28th May 2022 at 14:45.
    Quote Quote  
  26. Member Rockel83's Avatar
    Join Date
    Apr 2022
    Location
    Holland
    Search PM
    Not knowing what I'm doing wrong here. Ive downloaded the AVSmeter and checked this site for help: https://forum.doom9.org/showthread.php?t=174797

    But it doesn't gives me a proper output to whatever I type.

    Image
    [Attachment 65061 - Click to enlarge]


    Should this be placed in the AviSynth+ directory or whatever?
    Quote Quote  
  27. Video Damager VoodooFX's Avatar
    Join Date
    Oct 2021
    Location
    At Doom9
    Search PM
    You are trying to run it in PowerShell, you need to run it in Command Prompt [cmd.exe].
    Quote Quote  
  28. Member Rockel83's Avatar
    Join Date
    Apr 2022
    Location
    Holland
    Search PM
    Oh cool! That did the trick!

    I tought both had the same functionality... And Powershell was easier to open in a specific dir, holding Shift

    But in CMD I got feedback!

    Image
    [Attachment 65062 - Click to enlarge]
    Quote Quote  
  29. Video Damager VoodooFX's Avatar
    Join Date
    Oct 2021
    Location
    At Doom9
    Search PM
    It should be "InpaintDelogo.avsi" not "InpaintDelogo.avsi.txt", and required plugins are missing, install them all.
    Quote Quote  



Similar Threads

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