videoFred
16th February 2005, 08:19
Hello everybody,
I have some questions about Fizicks exellent depan plugin.
I'm transfering Super-8 films with a home made system:
a modified Eumig projector with a 1024x768 machine vision camera.
I transfer frame by frame.
This way, I have progressive 1024 x 768 AVI-files, Huffyuv codec, 15FPS.(HUGE files!)
No hotspot, no flickering, very good quality.
You find a Mpeg1 20MB example here.(right click, save target...)
ftp://ftp.filmshooting.com/upload/video/mpg/videoFred_examples.mpg
Discription of my system: (Dutch, but with many pictures)
Look for the machine camera, not the webcam (previous system)
The frames and movies where made with the old webcam system.
http://users.telenet.be/ho-slotcars/s8_index.htm
I use this depan script to stabilise the films:
avisource("006.avi")
loadplugin("depan.dll")
loadplugin("MSharpen.dll")
loadplugin("FluxSmooth.dll")
i=converttoYV12()
mdata=DePanEstimate(i)
DePanStabilize(i,data=mdata,cutoff=0.5)
converttoYUY2
FluxSmoothST(8,12)
MSharpen(0,125,true,false,false)
This works very, very well. It works very fast, and in one pass.
I prefer this script above Gunnars VirtualDubs deshaker because the film looks more natural with this script. But Gunnars deshaker is also very good.
Then I save my stabilised and resized (720x576) clip again with Huffyuv, still 15FPS.
After stabilising, scenes with much panning are shaking.
I have this same effect with Gunnars deshaker, too.
Fizicks script for framerate conversion is the perfect solution for this:
function fps3to5(clipYV12)
{
# change FPS from 3 to 5 (or 15 to 25, or 18 to 30 and so on), i.e. with factor=5/3
# uses global motion compensation
# input must be YV12 progressive (or separated fields probably ?)
data = DePanEstimate(clipYV12,trust=0)
t3_5 = DePan(clipYV12, data, offset=-2./5)
t6_5 = DePan(clipYV12, data, offset=1./5).trim(2,0)
t9_5 = DePan(clipYV12, data, offset=-1./5).trim(1,0)
t12_5 = DePan(clipYV12, data, offset=2./5).trim(3,0)
Interleave(clipYV12, t3_5, t6_5, t9_5, t12_5)
SelectEvery(15,0,1,2,3,4)
}
AviSource("001.avi")
assumefps(15)
LoadPlugin("depan.dll")
ConvertToYV12()
fps3to5()
Panning is now S-M-O-O-T-H!!!!!!!!!!
Actualy, I think this is the best script for smooth panning....
You see this on the example movie: panorama from the old city.(1972,Brugge,Flanders,Belgium)
Scenes with moving objects are more difficult: the objects are shaking.
The solution is: the trust parameter from DePanEstimate.
If I set this to 50 or more, objects are not shaking anymore.
AND NOW THE BIG PROBLEM:
Scenes with both panning and moving objects.
By playing around with the trust parameter I get either the pannig or the moving objects right, but not both.
A possible solution is this one:
I wrote a script that runs depan twice on the same clip, once with trust=0 and once with trust=50 or more.
Then, I take parts of both clips and put them together again. Of cource, I need to know in advance where to apply the different trust parameters.
function afps3to5(clipYV12)
{
# change FPS from 3 to 5 (or 15 to 25, or 18 to 30 and so on), i.e. with factor=5/3
# uses global motion compensation
# input must be YV12 progressive (or separated fields probably ?)
data = DePanEstimate(clipYV12,trust=0)
t3_5 = DePan(clipYV12, data, offset=-2./5)
t6_5 = DePan(clipYV12, data, offset=1./5).trim(2,0)
t9_5 = DePan(clipYV12, data, offset=-1./5).trim(1,0)
t12_5 = DePan(clipYV12, data, offset=2./5).trim(3,0)
Interleave(clipYV12, t3_5, t6_5, t9_5, t12_5)
SelectEvery(15,0,1,2,3,4)
}
function bfps3to5(clipYV12)
{
# change FPS from 3 to 5 (or 15 to 25, or 18 to 30 and so on), i.e. with factor=5/3
# uses global motion compensation
# input must be YV12 progressive (or separated fields probably ?)
data = DePanEstimate(clipYV12,trust=60)
t3_5 = DePan(clipYV12, data, offset=-2./5)
t6_5 = DePan(clipYV12, data, offset=1./5).trim(2,0)
t9_5 = DePan(clipYV12, data, offset=-1./5).trim(1,0)
t12_5 = DePan(clipYV12, data, offset=2./5).trim(3,0)
Interleave(clipYV12, t3_5, t6_5, t9_5, t12_5)
SelectEvery(15,0,1,2,3,4)
}
AviSource("001.avi")
assumefps(15)
LoadPlugin("depan.dll")
ConvertToYV12()
A=afps3to5()
B=bfps3to5()
C=TRIM(A,0,250)
D=TRIM(B,250,0)
C+D
This works fine on scenes with panning at the begin and moving people at the end or otherwise.
But maybe someone could give me some more tips or settings to try out?
Also, is it possible to change framerate 18-25?
Fred.
I have some questions about Fizicks exellent depan plugin.
I'm transfering Super-8 films with a home made system:
a modified Eumig projector with a 1024x768 machine vision camera.
I transfer frame by frame.
This way, I have progressive 1024 x 768 AVI-files, Huffyuv codec, 15FPS.(HUGE files!)
No hotspot, no flickering, very good quality.
You find a Mpeg1 20MB example here.(right click, save target...)
ftp://ftp.filmshooting.com/upload/video/mpg/videoFred_examples.mpg
Discription of my system: (Dutch, but with many pictures)
Look for the machine camera, not the webcam (previous system)
The frames and movies where made with the old webcam system.
http://users.telenet.be/ho-slotcars/s8_index.htm
I use this depan script to stabilise the films:
avisource("006.avi")
loadplugin("depan.dll")
loadplugin("MSharpen.dll")
loadplugin("FluxSmooth.dll")
i=converttoYV12()
mdata=DePanEstimate(i)
DePanStabilize(i,data=mdata,cutoff=0.5)
converttoYUY2
FluxSmoothST(8,12)
MSharpen(0,125,true,false,false)
This works very, very well. It works very fast, and in one pass.
I prefer this script above Gunnars VirtualDubs deshaker because the film looks more natural with this script. But Gunnars deshaker is also very good.
Then I save my stabilised and resized (720x576) clip again with Huffyuv, still 15FPS.
After stabilising, scenes with much panning are shaking.
I have this same effect with Gunnars deshaker, too.
Fizicks script for framerate conversion is the perfect solution for this:
function fps3to5(clipYV12)
{
# change FPS from 3 to 5 (or 15 to 25, or 18 to 30 and so on), i.e. with factor=5/3
# uses global motion compensation
# input must be YV12 progressive (or separated fields probably ?)
data = DePanEstimate(clipYV12,trust=0)
t3_5 = DePan(clipYV12, data, offset=-2./5)
t6_5 = DePan(clipYV12, data, offset=1./5).trim(2,0)
t9_5 = DePan(clipYV12, data, offset=-1./5).trim(1,0)
t12_5 = DePan(clipYV12, data, offset=2./5).trim(3,0)
Interleave(clipYV12, t3_5, t6_5, t9_5, t12_5)
SelectEvery(15,0,1,2,3,4)
}
AviSource("001.avi")
assumefps(15)
LoadPlugin("depan.dll")
ConvertToYV12()
fps3to5()
Panning is now S-M-O-O-T-H!!!!!!!!!!
Actualy, I think this is the best script for smooth panning....
You see this on the example movie: panorama from the old city.(1972,Brugge,Flanders,Belgium)
Scenes with moving objects are more difficult: the objects are shaking.
The solution is: the trust parameter from DePanEstimate.
If I set this to 50 or more, objects are not shaking anymore.
AND NOW THE BIG PROBLEM:
Scenes with both panning and moving objects.
By playing around with the trust parameter I get either the pannig or the moving objects right, but not both.
A possible solution is this one:
I wrote a script that runs depan twice on the same clip, once with trust=0 and once with trust=50 or more.
Then, I take parts of both clips and put them together again. Of cource, I need to know in advance where to apply the different trust parameters.
function afps3to5(clipYV12)
{
# change FPS from 3 to 5 (or 15 to 25, or 18 to 30 and so on), i.e. with factor=5/3
# uses global motion compensation
# input must be YV12 progressive (or separated fields probably ?)
data = DePanEstimate(clipYV12,trust=0)
t3_5 = DePan(clipYV12, data, offset=-2./5)
t6_5 = DePan(clipYV12, data, offset=1./5).trim(2,0)
t9_5 = DePan(clipYV12, data, offset=-1./5).trim(1,0)
t12_5 = DePan(clipYV12, data, offset=2./5).trim(3,0)
Interleave(clipYV12, t3_5, t6_5, t9_5, t12_5)
SelectEvery(15,0,1,2,3,4)
}
function bfps3to5(clipYV12)
{
# change FPS from 3 to 5 (or 15 to 25, or 18 to 30 and so on), i.e. with factor=5/3
# uses global motion compensation
# input must be YV12 progressive (or separated fields probably ?)
data = DePanEstimate(clipYV12,trust=60)
t3_5 = DePan(clipYV12, data, offset=-2./5)
t6_5 = DePan(clipYV12, data, offset=1./5).trim(2,0)
t9_5 = DePan(clipYV12, data, offset=-1./5).trim(1,0)
t12_5 = DePan(clipYV12, data, offset=2./5).trim(3,0)
Interleave(clipYV12, t3_5, t6_5, t9_5, t12_5)
SelectEvery(15,0,1,2,3,4)
}
AviSource("001.avi")
assumefps(15)
LoadPlugin("depan.dll")
ConvertToYV12()
A=afps3to5()
B=bfps3to5()
C=TRIM(A,0,250)
D=TRIM(B,250,0)
C+D
This works fine on scenes with panning at the begin and moving people at the end or otherwise.
But maybe someone could give me some more tips or settings to try out?
Also, is it possible to change framerate 18-25?
Fred.