We rented a 35mm print of the Wizard of Oz We scanned 48 frames just before Dorothy is returned to Kansas.
We enlarged the vistavision to 1280×720 square pix image sequences and gathered them into QT Pro to output the full-frame 720p image. We're satisfied with the final result out of both VisualHub and MPEGStreamclip. Need to compare the two media in the gallery for a final evaluation.
Most time-based compressors make L4 into hamburger. Watch for softness and macroblock dropouts about 30 seconds into playback. Unacceptable. I considered lowering the frame rate and keeping everything progressive (attempting to pad with black frames) but the animation isn't completely consistent.
Linda at CalArts produced a PAL MiniDV for us to show in the September Bijou screening. We've had good luck in the past screening MiniDV (at the HFA and in VO3 at the Carpenter Center) but this really looked terrible. We blame the projector but we actually don't know why it looked so bad.
L2 for Toronto. I used rb-magick to prepare 1280x720pix frames (uncompressed PNGs) from the final edit (an uncompressed progressive quicktime sequence). We ran experiments of different algorithms (Blackman, Lanczos) for enlarging the frames. We liked the results from the Blackman method best. Once the frames were ready I pulled the sequence into Quicktime, re-introduced the audio track, and produced the final 25fps video. This was saved as an uncompressed .mov file and placed in a HDCAM PAL sequence in Final Cut Pro for the post-production house (FinishEdit in Boston).
L2 for London, +series for general screenings Uncompressed PAL quicktime movies were layed into FCP PAL sequences. The fcp project files and media were put on a drive and left with a post-production house (Point360 in Burbank) for shipping to London. The quality of this tape is unknown.
We tried VisualHub and MPEGStreamclip to produce these videos. Both command open-source video software suites (FFMPEG, MEncoder, LAME, etc.) to generate media, but MPEGStreamclip gives you more control over the settings. Note that the resulting files need to have the “loop” flag set using QT Pro and re-saved before being introduced to iTunes and trnasferred to the AppleTV device. The indirectness of this method makes us both uncomfortable.
The uncompressed SD video was put into VisualHub and the iPod setting was used to produce an H264 encoded video. A second file was generated with MPEGStreamclip.
We tried hard to avoid this transfer mainly because we want people to focus on one area of compression artifacts at a time. Yet the pressures of distributing to the North American market have forced us to make an NTSC version. Here are some frame-grabs from both media. Note the aspect-ratio change and a few mouse-teeth and blended frames.
Thanks to Graeme Nattress for the effective software!
requires special treatment. Here's a script I whipped up to expand L4 from 25fps to 29.97:
import os, shutil # expand L4 to 29.97 fps from 25fps # by adding a black frame every 6 frames # (this is python) # cd into the directory containing the frames then: # build an array of all frames palframes = [] # drop the filenames into the list for i in range(1, 22278): filename = 'L4_%05d.tga' % (i) palframes.append(filename) # insert a black frame every six frames n = 1 for i in range(1,4967): palframes.insert(n,"black.tga") n=n+6 # now make a new sequence that includes the black frames in sequence i = 1 for eachframe in palframes: newframe = 'NTSC/L4_%05d.tga' % (i,) if os.path.isfile (eachframe): print "shutil.copy(%s,%s)" %(eachframe,newframe) shutil.copy(eachframe,newframe) i=i+1
import os, shutil,stat, os.path, glob # expand 6fps animation to 29.97 # by multiplying the frames # build an array of all frames ntscframes = [] # get the existing frames (@ 6fps) pathName = '/Volumes/vertov/Movies/_egehr/6pfs/' png_files = glob.glob(os.path.join(pathName,'*.png')) png_files.sort() # drop the filenames into the list for i in range(0,26553): filename = 'L4_%05d.png' % (i) ntscframes.append(filename) ntscframes.sort() # reverse the sequence (for popping) ntscframes.reverse() for eachframe in png_files: # make five copies for f in range(0,5): if os.path.isfile (eachframe): newframe = ntscframes.pop() # make five new frames print "copy %s to %s" %(eachframe,newframe) shutil.copy(eachframe,newframe)
# then run this mencoder \ mf://*.png -mf w=648:h=486:fps=29.97:type=png \ -o ../sv_ntsc_GRAY.avi \ -vf scale=648:486,harddup \ -ovc lavc \ -ofps 29.97 \ -oac lavc \ -lavdopts vismv=1:debug=32:gray \ -noslices ; mplayer \ -lavdopts vismv=1:debug=32 \ -vo png:z=1 ../sv_ntsc_GRAY.avi
After completing this programming pass we went back to the Serene Velocity source video (which was originally encoded at NTSC speed 29.97fps) and remade the whole video from scratch. It went something like this.
Discussion