I am using AviUtl. I have one video with a logo that is 1920x1080 flv format captured by OBS. It is really a 720P video and 25 Hz, I think. But I can't capture it again. I have another without the logo in 640x480 DX50 format. The OBS capture was at 60 Hz and the 480P video is encoded at 29.97. I want to make a mask to display the lower resolution video through where the logo is. But I need to re-code one of them so that the frames match up. And I need to zoom the 480 to 1080. The zoom is easy. But how do I get the frame rates to match?
They almost match up in AviUtl which surprises me. If the lower quality one was 30Hz I think AviUtl would match them up OK. Just guessing about that.
+ Reply to Thread
Results 1 to 6 of 6
Avisynth has various frame conversion filters which should do the trick.
With the FLV / 60Hz version, do you see a pattern of repeated / duplicated frames, and could you describe it schematically, with letters or numbers ?
For instance : A B C D D E F G H H... where two identical letters would represent strictly identical frames. Never tried that editor (its size is surprisingly small for what appears to be a quite advanced piece of software), if it doesn't make it practical to check a video frame by frame, then use VirtualDub2 for that purpose.
Or better yet, post a short sample for both.
I'm not confident enough to suggest a specific course of action based on the provided information, let's hope an Avisynth expert chimes in.
It'd be an idea to upload a sample of each video.
If the flv version is 25fps captured at 60Hz it'll have lots of repeated fields or frames. It should be easy to remove them with Avisynth and the TIVTC plugin. I've never used AviUtl, but it looks like it'll import Avisynth scripts, so if need be you could use Avisynth for some things and AviUtl for the rest.
If the SD version was the same frame rate originally (24fps or 25fps converted to 29.97fps) it might be possible to convert it back too.
Having said that, I've seen a reasonable amount of video that looks identical, but when I've tried to match them up they aren't. Sometimes one version will have a frame or two less before a scene change than the other version, and sometimes that happens in more than one place, so if they don't match exactly you might need to find where they lose sync and manually remove or duplicate frames to compensate. Of course if you edit the version with the audio you plan on keeping, it has to be edited to match too, although maybe AviUtl can do that automatically?
In answer to your upscaling question from your other thread....
If the SD version was encoded with DivX, chances are there's no shortage of encoder artefacts that'll be more obvious after upscaling. It might pay to use a not-so-sharp upscaler, or blur it bit before upscaling, but it's hard to know without seeing the video.
Thanks for the replies. But I think it is too "impossible" to do what I want. (Unless that TIVTC filter can work) I would have to go through almost frame-by-frame to eliminate the frames where it looses sync. That will be like every 20 frames. I only want to display the one video though where the logo is. So for much of the video a slight mismatch will not be noticeable. The wall is not moving even though the actors are. But every scene change will matter. A mismatch there will be noticeable. A scene where the background is moving will also matter.
The 60Hz OBS capture has a pattern like: aabbccdd ... hhh ... There are extra frames throughout. If I re-coded it to 30Hz to eliminate the aabbcc to abc there will still be an extra frame that will throw off the sync.
Maybe that TIVTC filter can fix both the aabbcc and the hhh extra frames? Will that fix-up the audio too? That would get me close enough that the extra frame-by-frame tweeking would be manageable. Maybe I could use the audio from the 29.97 video and only tweek frames on the 60 Hz one.
The easiest is to just use the logo filter that dithers through were the logo is. Or, this one is a mily-white logo. I can try and learn how to make the dark mask to compensate.
TIVTC should be able to remove the extra frames quite easily. Because you had to fit 25 frames into 60 refreshes while capturing, for each group of 5 frames, three should be repeated once and two repeated twice. So the pattern should be AA BB CCC DD EEE or something similar. Even if the pattern isn't totally consistent though, they should be removable. If the capture process repeated fields rather than frames it's a bit more complicated, but TIVTC can deal with it.
Removing those types of duplicates doesn't effect the A/V sync because the frame rate is reduced to compensate so the video duration doesn't change.
I know nothing about how the SD version was converted to 29.97, or if it was converted to 59.94i for DVD originally and has since been encoded at 29.94fps. If it was also originally 25fps it can be converted to NTSC in different ways and the original frame rate mightn't be recoverable. I don't know as I haven't seen it. If not, you could remove enough duplicates from the HD version to match the 29.97 frame rate.
None of that will necessarily effect whether the two videos match up. Sometimes they're just edited a tad differently.
If AviUtl has a decent plugin for removing logos that's probably the way to go. Transparent logos are generally easy to remove. Opaque logos are a bit more challenging but often they can also removed with reasonable results. There's a few Avisynth plugins for that sort of thing, although there's initially something of a learning curve when you start using Avisynth. A few days ago I could have uploaded some before and after screenshots, but I've deleted the original files. I can show you mask I created for the logo removal plugin though, and a few screenshots where if you look closely you can see where it was.
Of course you'd want to remove all those duplicate frames first anyway. Delogoing can be a bit slow so there's no point delogoing 60 frames every second when you only need to do 25.
[Attachment 61734 - Click to enlarge]
[Attachment 61735 - Click to enlarge]
[Attachment 61736 - Click to enlarge]
[Attachment 61737 - Click to enlarge]
Most likely that in both captures there are dropped frames, so you can't perfectly decimate and you would need to go frame by frame whole video and adjust where frames mismatch.