--- title: deinterlacing 2323 telecine video into fields for visual analysis author: tracey pooh type: post date: 2012-02-19 featured: deinterlace.jpg featuredalt: (uninter)"lacer" program having fun with featured-click: /lacer/ categories: - video tags: - coding - deinterlace - mplayer - video comment: --- Having some challenging fun working on trying to deinterlace some toughie clips from my [brother's](http://rjfilms.com) upcoming feature film. His camera recorded in 24fps (24000/1001 to you fellow geeks 😎 and smartly did a "2323" writing/stretching of it to 60i (60 half-frames). After correcting back to 24fps progressive most of his clips, he's found ~10-20% are not able to be put back together visually properly even with CineTools and manually specifying the "cadence" and sequence starting frames, etc... I started with code that I wrote to take a small segment of a video and split the interlaced frames into 1/2 height "fields" and then drop them down to grayscale to compare them all to each other to find the best matches (to verify the cadence is right and/or the fields aren't "off by 1", etc..) It uses mplayer and ImageMagick ("convert" and "compare") for pretty high-quality extraction of frames from the source video into the 1/2 height "fields". So I just do about 0.3 seconds to get 10 frames, and thus 20 1/2 frame fields for analyzing. It will output the best matches of frames. For example: ```bash bash lacer.txt good.mov 0.5 0.8 ``` I then extended it into a web page (screenshot above, where I'm left-shifting one field by 4 pixels for visual inspection) **[/lacer/](/lacer/)** try it out online! (sources: [lacer.js](/lacer/lacer.js) [lacer.txt](/lacer/lacer.txt)) that uses some CSS cleverness (clip property is your BFF!) to interlace together a pair of fields. #### It supports: - field swapping (move one 1/2 image to be the 1st, 3rd, 5th, etc. lines -- if it was previously the 2nd, 4th, 6th, etc. lines) - left and right shifting a field - pairing arbitrary fields - showing a "raw" 60i telecined sequence - showing the 60i sequence as a "deinterlaced" 24P sequence