[Kwintv] Fwd: Re: v4lgrab and qtvision

Rizsanyi Zsolt kwintv@mail.kde.org
Tue, 19 Nov 2002 00:52:05 +0100


Hi!

I have recently read about the v4lgrab project at apps.kde.org. It's aim is to 
make a v4l recording software with the ability to schedule the recording in 
advance. The project seemed to work on features I would like in qtvision.
So I have contacted the author, and asked if he would like to merge his 
program with qtvision.
After some discussion I have got this reply. Some of our discussion is also 
quoted.

So if you have something to add, then please free to do it.

Regards
Zsolt

----------  Forwarded Message  ----------

Subject: Re: v4lgrab and qtvision
Date: Saturday 16 November 2002 01:41
From: Marcus Schneider <marcus.schneider@gmx.net>
To: Rizsanyi Zsolt <rizsanyi@neobee.net>

Hi Rizsanyi,

I'm in discussion with the others. I also take a look on qtvision and begin a
reorganisation of the source code.
At the next meating (the last one is at vacation) with discus this and I
think, it sounds possible and a good idea!

Thanx!

Take a look at the v0_3_0 branch...

Greets ;-)
Marcus Schneider.

Am Thursday 14 November 2002 18:48 schrieben Sie:
> On Sunday 10 November 2002 22:35, you wrote:
> > Hi Rizsanyi,
> >
> > I think it's a good idea, but it is not simple like it's sounds. Normaly
> > a tv-viewer use the overlay interface of Video4Linux. This garant you a
> > direct mem transfer to the graphic card memory without any interruptions.
> > It does not garantues you that you notice evey frame in your application.
> > So we decide to use the frame grabbing interface. This transfer a
> > snapshot of one picture from the device to memory of the CPU. This
> > snapshot is triggered by the application and so the application knows,
> > when it can compress this image. When you want to see this image on the
> > screen, you also must transfer it to the graphic card memory, and this
> > needs a lot of processor time. So when you enable the preview in the
> > v4lgrab app, you see this mechanism but you also see what performance
> > this needs. So I think, you run in some trouble on PCs with a lower
> > memory transfer rate or a smaller CPU eg. my PC. When you have a great
> > idea what I can do to remove this problem send a mail, it's welcome!
>
> I understand your problems. But it would be nice if the two projects could
> be merged at least partially.
> QtVision is designed to have a base library which provides some generic
> support of video stuff and plugin support. This is libqtvision.
>
> And then there are more applications using this base. They build on this
> library to do the task they are written to.
>
> So in my opionion the merging could go this way:
> - you make your application by using libqtvision -- this way you get a good
> base for your app - you can use the plugins of qtvision like the ones for
> loading various channel files and the v4l plugin (of course you have
> support for that, but then you could merge your efforts so it will work on
> more machines and so on). AFAIK the qtvision v4l plugin already supports
> non overlay mode, so you could already use it.
>
> - some parts of your current application would be merged to libqtvision so
> not only your app could use it, but all other libqtvision based apps
> In the end v4lgrab application would be pretty small, because all of its
> functionality is in libqtvision.
>
> The benefits are:
> -- v4lgrab gets support for all the various channel file formats and most
> of its parts gets testing by all the qtvision users/developers
> -- qtvision gets recording support, which is a planned feature and it would
> be a waste of programmer time to do that twice for no reason
>
> In the end there will be qtvision AND v4lgrab. People who need tv output
> while recording would use qtvision, but who do not want that would use
> v4lgrab.
>
> Of course it would be some effort to merge your existing code to
> libqtvision but IMHO it is worth it.
>
> Regards
> Zsolt

--
Marcus Schneider
Email: marcus.schneider@gmx.net
OSD: http://v4lgrab.sourceforge.net

-------------------------------------------------------