通过 AviSynth 脚本将 2D 画面转制成左右格式的 3D 画面。
代码:
#SetMTMode(2,0)#Uncomment if you have multithreaded avisynth!
factor3D = 20 # Reduce to increase attempt to add 3D.
inputFile = "D:\video.mp4" # Set to filename
## Open the video file for conversion, change the video file name
video2d = FFVideoSource(inputFile)
## Increase video brightnes on dark videos, good for 3D Vision owners
# video2d = video2d.Tweak(Bright=10)
## Convert to RGB32 to avoid the width restrictions
video2d = ConvertToRGB32(video2d)
## Get video width/height and set the frame stretch factor
## Lower the value 100 to increase frame stretch, may introduce ghosting
videoW = width(video2d)
videoH = height(video2d)
ResW = videoW + (videoW / factor3D)
videoH = videoH + (videoH / factor3D)
video2d = LanczosResize(video2d, videoW, videoH)
CropW = (ResW - videoW) / 2
## Create variables for left and right frame with one frame difference
## This is the Plufrich-like simulation that creates illusion of depth from movement
f1 = video2d
f2 = DeleteFrame(video2d, 0)
## Stretch the right frame to further the depth effect
f1 = LanczosResize(f1, ResW, videoH)
f1 = Crop(f1, 0, 0, videoW, videoH)
## Stretch the left frame to further the depth effect
f2 = LanczosResize(f2, ResW, videoH)
f2 = Crop(f2, CropW, 0, videoW, videoH)
## Output the two video frames in a side-by-side / parallel format
## Use this as a default for playing back on 3D Vision (Side by Side L/R)
StackHorizontal(f2, f1)
## Output the two video frames in a Above/Below format (like Sony?)
# StackVertical(f2,f1)
via: 2dto3d.avs