I want to move Chroma relative to Luma

I convert VHS tapes to video and then edit them to make DVDs. A big problem with VHS was that the chroma and luma were hardly ever in the same place, the effect being that on playback, the color was usually shifted down a line or two and to the right a similar distance, which looks really bad. It was most obvious with bright colors. The effect got worse each time a copy of a copy was made. What I’d like to do in Shotcut is to shift the color back into place. One way it can be done is to put the same video on two tracks, filter out the luma on one by setting the contrast to zero and filter out the color on the other by setting the saturation to zero then mix them and move the color track to fix the shift. Is this scenario possible in Shotcut? I did something similar in Sony Vegas or maybe Adobe Premiere years ago, but I don’t have access to that software any more.

The only software I know of that can do this is AviSynth with the ChromaShift plugin. It actually works!

I have also been converting VHS and Hi8 tapes. Some years ago I experimented with AviSynth since there has been years of development and many filters made for video. Alas, it only runs on Windows and I switched to Linux 3 years ago.

If you don’t mind contributing to Billy Gates retirement fund then you could try this. I found that I could spend hours tweaking video with these tools and at my age my time is too valuable for that anymore. I have decided that old video is old video - and we ought to be grateful some old memories are still view-able, warts and all! BTW, it is surprising how non-techie people don’t seem to mind poor quality video - as long as they can see the people or places on screen.


Edit: another possibility is VirtualDub, a command line editor. It also has many filters. If you don’t mind spending 40 bucks a modern, updated app named VideoEnhancer is highly recommended since the Russian author claims it can accually enhance the resolution of video! VirtualDub has available the VHS filter which looks like it can do what you want, although I have never tried it.


Edit2: I just rebooted into Windoze7 (which I am loath to do) and installed VideoEnhancer2. I retrieved the VHS filter plugin, disabled all the options except for Chroma shift and set the vertical and horizontal shift to negative 10. Ran a 720x480 video and saw the rather extreme chroma offset, proving the VirtualDub VHS filter obviously works for this purpose. Setting it to negative 1 or 2 in each dimension ought to fix the problem nicely.


Thanks Ken, I do use VirtualDub on the odd occasion, and gave the current problem file a run through it’s VHS filter along with a bit of cropping and resizing. The result was just about OK, but even on my Win8.1 PC with heaps of ram and speed it crawled along at about 22 fps. It’s an almost 3 hour file, so it would take a loooong time and end up in the wrong codec (h.264) for easy DVD mastering. Its all too slow for regular use and I’m getting more and more VHSs to convert. I decided to re-capture the video with H&V chroma shift courtesy of an A.C.E. tbc even though the VCR has a tbc. The result is visibly better than VirtualDub’s. I’ve never embraced AVIsynth scripting, so I don’t know how quick it can be.

I’d still like to know if ShotCut can do the magic… anybody? I think it was Vegas that had a ‘move video along a path’ function and I just set a short static path for the chroma track. Vegas rendered pretty quick too.

Well, you could put several files into a folder/cue and run them overnight. You could designate the codec - doesn’t have to be h.264. It’s really nice to have a fancy TBC. I just have an HR-S7800U - which works very well.

I still have Sony Vegas Movie Studio 10 on the dual-boot to Windoze here and I don’t remember being able to frameserve AviSynth/VirtualDub into it. I also used to use Adobe Premiere Elements (ver?) and there was a plug-in/add-in that allowed feeding an external script into it. I can only find old forum posts complaining that it no longer works now that Premiere is 64 bit.

I am not a coder so perhaps we can see if a developer drops in with a solution. :slight_smile:


Next day edit: I just tried looking through the video filters in Sony Vegas Movie Studio 10 HD Platinum and could not find a function for altering the timing of the chroma channels. I have only seen this in AviSynth and VirtualDub.

Three days later edit: Avidemux, which is available on Linux, has a Chroma Shift filter.


Thanks for that… Avidemux is the way to go for now

To misalign the chroma on purpose I use two layers, one being desaturated and being the luma layer, and the one over it being the chroma layer, with its track’s blend mode set to HSL Color

1 Like