An example will explain what the title of the post means:
As the video plays first comes this frame:
As you can see in this first frame the colour of the next frame is shown, while the characters appear colourless!!!
After this first frame comes this second frame:
As you can see the colour of the character here appears to be synchronized, but in fact it's still ahead of the picture (because the movement of this part of the video is not very fast. In other quick movements the colour remains shown ahead of the picture untill the quick movement slows down)
Any solution to transfer the colour back so that it's synchronised with the picture?
P.S.: I'm using virtualdub and only a little avisynth. Please give me thorough instructions if this is only solved by avisynth.
Also, tell me if you need part of the video to examine![]()
+ Reply to Thread
Results 1 to 14 of 14
-
-
Someone probably mishandled interlaced YV12. I'm not aware of any fix in VirtualDub. A sample of your original video will determine whether or not there's any hope for an AviSynth fix.
Typically, animation has many duplicate frames so there's some possibility of using the chroma from the prior frame. But it may be hard to do this in an automated fashion. -
Some of the sample has the problem and some doesn't. I don't know of any way, either, to do it automatically. All I can do to fix it is to use MergeChroma on selected frame ranges together with ReplaceFramesSimple. So, unless you're willing to go through the entire thing frame-by-frame fixing what needs fixing, I don't know of any alternatives. Maybe jagabo or someone else does.
-
Yes, I couldn't see any obvious pattern to the frames with the problem either. You can use MergeChroma(Trim(1,0), last) to fix the frames with the problem but it creates the problem on frames that don't have it. I wonder if there's a way one could compare the chroma channels to the luma channel and see how well the edges line up. Then use that to decide whether to keep the original frame or the fixed frame.
Y, U, and V stacked horizontally and embossed, which is a better match:
Last edited by jagabo; 18th Jun 2013 at 16:24.
-
Thanks for the useful info guys, you really know your ways around videos.
The first question that pops in mind is whether or not time-shifting the chroma channel solves the problem.
For example if the channels are like this:
frame 1: Y1 U2 V2
frame 2: Y2 U3 V3
frame 3: Y3 U4 V4
would it be possible to shift the U and V back like this:
frame 1: Y1 U1 V1
frame 2: Y2 U2 V2
frame 3: Y3 U3 V3 -
Yes, it does. The problem is that some frames don't have time shifted chroma. So if you shift the whole video you fix the bad frames but you create bad frames out of the good frames. Try this script:
Code:AviSource("Darkwing.Duck.intro.avi") StackHorizontal(Trim(1,0), MergeChroma(Trim(1,0),last))
Here's a script the fixes the first few sections:
Code:src = AviSource("Darkwing.Duck.intro.avi") # get source video shifted = Trim(src,1,0) # make another video, shifted by one frame shifted = MergeChroma(shifted,src) # apply the chroma of the source video to luma of the shifted video src = Trim(src,1,0) # sync src and shifted ReplaceFramesSimple(src, shifted, mappings="[0 80] [86 87]") # replace frames 0-80 and 86-87 of the original video with the same frames of the chroma shifted video # use more calls to ReplaceFramesSimple() to fix more frames...
Last edited by jagabo; 18th Jun 2013 at 17:14.
-
I loaded the script on virtualdub and it was impressive! Whenever the right video was chroma shifted, the left was fixed and vice versa!!! There was always a good frame in one (or both) of these
so, if I get this right, there is no way to detect the chroma shifted frames (so that they can be replaced) -
Could anyone use this script and tell me if it works (because I don't know how to load it on virtualdub...):
http://forum.doom9.org/showthread.php?t=166834 -
It doesn't do what you want. It's designed to fix chroma that has been shifted a few pixels right/left/up/down within the current frame, not when you have the chroma for the current frame a frame earlier or later.
-
-
Thanks for the help and the info jagabo and manono.
I finally decided to toss this video source and I found another for the TV series which doesn't have the problem.
It would be too much time consuming to go through every frame and check.
Cya around! -
You're my hero for being smart enough to figure that out. I'm serious. We normally get a lot of people who place no value at all on their spare time and would spend 6 months on this just to get maybe 2-3 hours of video fixed when if they would spend, say, $10 to just by the DVDs at Amazon they wouldn't have to fix anything. At least you looked for better source.
-
I know you found another source so you don't really need this. But the problem struck me as interesting so I did a little work on it. My automated selection process using the idea put forth in post #5 gave the result in the attached video (original left, processed right). It's hard to see the difference with realtime playback. Open the video in an editor and step through a frame at a time. Most of the problem frames were fixed by the script, a few were not, and a few were made worse. If anyone is interested I'll upload the script.
Last edited by jagabo; 28th Jun 2013 at 18:09.
Similar Threads
-
60Hz video with ~30Hz chroma
By Brad in forum RestorationReplies: 6Last Post: 29th Mar 2013, 13:58 -
ffmpeg Convert dv video to h.264 and change chroma subsampling
By wotdefcuk in forum Video ConversionReplies: 7Last Post: 23rd Jan 2013, 17:02 -
HOW Merge a video mask green chroma with other video?
By wolfox in forum Video ConversionReplies: 1Last Post: 17th Sep 2012, 08:21 -
remove chroma from a digital video and add new color to the luma
By rudolf016 in forum RestorationReplies: 3Last Post: 24th Feb 2012, 11:11 -
Chroma-Keyed Video with Transparent Background on a Website
By ambassador in forum Video Streaming DownloadingReplies: 1Last Post: 23rd Jun 2008, 21:50