Log in

View Full Version : capturing live at 50fps from a miniDV


thiseas
4th May 2007, 11:37
Anyone knows how to capture live video from a miniDV camcorder to a pc (miniDV connected via firewire) at 50fps(PAL)?

There are software like dartfish or quintic (sports analysis software)that are able to do that. The down side is that those programms come with a whole bunch of different options and do a whole bunch of different things that I dont need and are very expensive.

I am a tennis coach and I want to offer players the advantage of instant replay. I bring to the court my camcorder, connect it to a laptop ant I record the action directly on the hard drive. Then the player can watch it frame by frame and even compare himself with the videos of tennis pros that I have stored in my pc. 25fps are just not enough for this purpose.

thx in advance

Blue_MiSfit
4th May 2007, 21:15
Well, that's tricky.

PAL DV is of course 25fps, which is really 50 interlaced fields per second. So - there ARE 50 temporal images per second, but capturing and extracting them in real time is a little tricky, especially if you want good quality.

To simply see the true motion, a standard bob deinterlace (which returns 50 progressive fps assuming PAL DV input) will suffice.

In AviSynth it looks like this:

AviSource("my dv.avi") #load the source AVI
AssumeBFF() #DV is bottom field first interlaced
Bob() #Bob-deinterlace it to return 50p


Of course, this assumes that you have already captured your video to an AVI file (can be done easily with VirtualDub or any number of other free DV capture applications). I'm not aware of any program that can automagically apply a bob deinterlace in real time to a DV stream, and offer instant replay (aside from those payware apps you mentioned).

So, it can be done pretty easily for free, but not instantly. Nearly though, as you can just drop that AVS script I gave you into a media player, and it will render in real time. A dumb Bob() is very fast. A smart Tdeint(mode=1) or MVBob() (much better bob deinterlacers) are not so fast :)

Let us know if you have other questions.

Oh, and welcome to Doom9! Happy first post! :D

~MiSfit

ericfree
4th May 2007, 23:26
You might want to check out ReplayerStudio (www.ReplayerStudio.com) for some very useful instant replay (and cataloging) features that I haven't seen in any other media player. It won't help you create the 50fps though, but it will play it, and it does accept the frameserving from an AVS script.

WorBry
5th May 2007, 07:38
A smart Tdeint(mode=1) or MVBob() (much better bob deinterlacers) are not so fast :)


Yadif is maybe fast enough

http://forum.doom9.org/showthread.php?p=978581#post978581

Mencoder (for windows) GUI's, such as AVIDemux and MediaCoder also now support Yadif. Not sure about MPlayer frontends. Maybe Lord_Mulder and Sirber could comment?

I wonder also if the FFDShow folks might get interested in incorporating Yadif in the decoder deinterlace options. That would be handy.

WorBry
5th May 2007, 10:43
Mencoder (for windows) GUI's, such as AVIDemux and MediaCoder also now support Yadif. Not sure about MPlayer frontends.

Hmmm....I see SMPlayer supports Yadif and frame-stepping

http://forum.doom9.org/showthread.php?t=121229

Its not 50p output, but its maybe the cleanest 50i to 25p you're going to get on the fly right now. Certainly better than the bob-weave-blend approach that many players employ.

I've also put a feature request in the FFDShow Try-outs thread:

http://forum.doom9.org/showthread.php?p=999502#post999502

In the same vein you might also look at TomsMoComp, which is available in the FFDshow Deinterlace options.

Sorry if this does not answer your original query about capture at 50p , but deinterlacing post-capture is probably your best bet for an open-source software solution.

Edit: VLC Player deinterlaces with a bobber and can capture live video via firewire. Cant say I've tried it myself.

LoRd_MuldeR
5th May 2007, 15:30
Mencoder (for windows) GUI's, such as AVIDemux and MediaCoder also now support Yadif.

Avidemux is not a MEncoder front-end! Avidemux is a fully independent application.
Nevertheless Avidemux uses code from FFmpeg/libavcodec, like MEncoder & MPlayer do too.

Sirber
5th May 2007, 15:56
Yadif is maybe fast enough

http://forum.doom9.org/showthread.php?p=978581#post978581

Mencoder (for windows) GUI's, such as AVIDemux and MediaCoder also now support Yadif. Not sure about MPlayer frontends. Maybe Lord_Mulder and Sirber could comment?

I wonder also if the FFDShow folks might get interested in incorporating Yadif in the decoder deinterlace options. That would be handy.I don't use deinterlace filter much, but if someone want to use it I can add it to my gui.

WorBry
5th May 2007, 18:20
Avidemux is not a MEncoder front-end! Avidemux is a fully independent application.
Nevertheless Avidemux uses code from FFmpeg/libavcodec, like MEncoder & MPlayer do too.

Apologies; my ignorance.

I don't use deinterlace filter much, but if someone want to use it I can add it to my gui.

I, for one, would appreciate that; maybe others would too

thiseas
18th May 2007, 12:31
Well, that's tricky.

PAL DV is of course 25fps, which is really 50 interlaced fields per second. So - there ARE 50 temporal images per second, but capturing and extracting them in real time is a little tricky, especially if you want good quality.

To simply see the true motion, a standard bob deinterlace (which returns 50 progressive fps assuming PAL DV input) will suffice.

In AviSynth it looks like this:

AviSource("my dv.avi") #load the source AVI
AssumeBFF() #DV is bottom field first interlaced
Bob() #Bob-deinterlace it to return 50p


~MiSfit

Thanks a lot MiSfit. I tried the script and it worked just fine. It is excactly what I was looking for.:thanks:

WorBry
19th May 2007, 11:21
Still think Yadif will give you a cleaner looking bob, but hey its up to you.

Yadif plugin:
http://avisynth.org.ru/yadif/yadif.html

LoadcPlugin("C:\Program Files\AviSynth 2.5\plugins\Yadif.dll")

AVISource("my dv.avi")
AssumeBFF()
Yadif(mode=1, order=0)