- UID
- 9663
- 阅读权限
- 60
- 居住地
- 北京市 西城区 德胜街道
- 注册时间
- 2011-2-22
认证会员
- 注册时间
- 2011-2-22
|
研究了一下午,终于弄明白了如何分离。
用到的软件
Avisynth 2.6 Alpha 3 - http://avisynth.org/
InterFrame plugin - http://www.spirton.com/interframe/
VirtualDub - http://www.virtualdub.org/
ffms2.DLL
安装Avisynth,把nterFrame plugin里面的DLL和ffms2.DLL复制到C:\Program Files\AviSynth 2.5\plugins\下。
代码:
SetMemoryMax(1024)
A = FFVideoSource("RAW.MOV")
A = ConvertToRGB(A, matrix="PC.601", interlaced=false)
A = Converttoyv12(A) # convert to yv12 needed for Interframe
A = selecteven(A) # select even or odd frames and interpolate them
A = assumefps(A, 25) # Interframe doesn't work with 12,5 fps
A = InterFrame(A, NewNum=50, NewDen=1, GPU=false, FlowPath="C:\Program Files\AviSynth 2.5\plugins\")
A = assumefps(A, 25)
A = trim(A, 1, 0)
A = ConvertToRGB(A)
A = ImageWriter(A, "frames\A", type = "jpg")
B = FFVideoSource("RAW.MOV")
B = ConvertToRGB(B, matrix="PC.601", interlaced=false)
B = Converttoyv12(B) # convert to yv12 needed for Interframe
B = selectodd(B) # select even or odd frames and interpolate them
B = assumefps(B, 25) # Interframe doesn't work with 12,5 fps
B = InterFrame(B, NewNum=50, NewDen=1, GPU=false, FlowPath="C:\Program Files\AviSynth 2.5\plugins\")
B = assumefps(B, 25)
B = ConvertToRGB(B)
B = ImageWriter(B, "frames\B", type = "jpg")
return Interleave(A,B)
把所要分离的文件命名为RAW.MOV,把上面的代码保存为hdr_split.avs,放到一个文件夹下,建一个子文件夹frames。
运行VirtualDub,打开hdr_split.avs,播放视频,AviSynth 就会把视频分离为a**.jpg和b**.jpg两个序列帧。然后就可以用HDR软件合成了。 |
|