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!![]()
+ Reply to Thread
Results 1 to 30 of 172
-
-
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, marcorocchini -
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).
[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. -
-
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, marcorocchini -
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. -
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 Selurusers currently on my ignore list: deadrats, Stears555, marcorocchini -
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]
-
Nice mask!
users currently on my ignore list: deadrats, Stears555, marcorocchini -
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 -
users currently on my ignore list: deadrats, Stears555, marcorocchini
-
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)
To see mask use Show= 4, and DynInflate=0 to see non inflated mask.
Before:
After:
Whole video:Last edited by VoodooFX; 27th Apr 2022 at 18:42.
-
^ 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.
-
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.
If you have some better masking method then let me know.
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.Last edited by VoodooFX; 27th Apr 2022 at 19:40.
-
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.
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! -
"Automask" is only for non-dynamic logos. Manual/non-manual doesn't make mask better nor worse.
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. -
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.
-
-
-
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 -
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)
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.Last edited by VoodooFX; 29th May 2022 at 19:48.
-
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"?
-
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.Last edited by VoodooFX; 28th May 2022 at 13:12.
-
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)
[Attachment 65055 - Click to enlarge]
And with AvsPmod:
[Attachment 65056 - Click to enlarge]Last edited by Rockel83; 28th May 2022 at 14:45.
-
Post result of "AVSMeter.exe -avsinfo".
-
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.
[Attachment 65061 - Click to enlarge]
Should this be placed in the AviSynth+ directory or whatever? -
You are trying to run it in PowerShell, you need to run it in Command Prompt [cmd.exe].
-
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!
[Attachment 65062 - Click to enlarge] -
It should be "InpaintDelogo.avsi" not "InpaintDelogo.avsi.txt", and required plugins are missing, install them all.
Similar Threads
-
Keeping timestamp of edited / converted Video
By keyboard in forum Newbie / General discussionsReplies: 5Last Post: 30th Apr 2024, 00:10 -
Difference between lossless and lossy changing fps (timestamp vs encoding)
By precipizio in forum Blu-ray RippingReplies: 4Last Post: 23rd Feb 2022, 09:24 -
ffmpeg "Missing key frame while searching for timestamp" message
By the_steve_randolph in forum Newbie / General discussionsReplies: 0Last Post: 19th Aug 2021, 14:38 -
How to fix a timestamp overlap?
By WoundedPear in forum Newbie / General discussionsReplies: 2Last Post: 2nd May 2020, 03:00 -
Polaroid CUBE timestamp flaw?
By terrypin in forum Newbie / General discussionsReplies: 6Last Post: 9th Jun 2017, 16:17