[Kdenlive-devel] capturing
Rolf Dubitzky
Dubitzky at physi.uni-heidelberg.de
Mon Mar 22 08:12:10 UTC 2004
On Sunday 21 March 2004 22:05, Edwin Schepers wrote:
> I have a digital camera. I'll have a look at pgrab. I don't have any
> knowledge (outside some kde programming), but that will only take time
> (well, only... :-)
> I never grabbed with Linux, but I'll get it working.
> Then I could start making a gui in kdenlive.
That sound very good. I don't know how much you know about kdenlive/piave, but
you probably have already understood, that kdenlive is the GUI part which
depends _only_ on KDE/Qt and piave is the render engine which has all kinds
of nasty dependencies on the file, audio, and video formats, audio systems,
video systems and ieee1394 interface. The two components comunicate via a
pretty simple protocol over sockets. This protocol needs to be extended to
handle all that is necessary for capturing (which is trivial). I am _very_
interested in cpturing capabilties, so if you are really interested, I can
implement all the necessary changes in piave and code all the communication
to the actual hardware (most of this is already done anyway).
So if you start creating a GUI component in kdenlive, all you need to do is
send commands via the (existing) communication channel to piave. You don't
need to bother with the underlying hardware. (In fact, you must not, since
kdenlive should be independent of hardware dependencies)
So the first command to send would probably be something like
<captureGetDevices>
to see what is actually attched to the PC. piave would answer something like
the following (run "pgrab -v 2" to see if/how your cam is reported)
<captureDevices>
<ohci1394>
<device devid="0" name="Sony DCR-TRV30E" type="AVC (subtype=VCR)" />
</ohci1394>
</captureDevices>
The device id is an integer for further reference of the device. The name is
actually read from the device itself and can be displayed to the user. In
case more than one device is attached, you can offer a selection box or
whatever.
Then kdenlive could then send commands like
<capturePlay devid="0">
and
<captureRecord devid="0">
<captureStop devid="0">
.
.
.
I havn't really thought it through, that's just what comes from thetop of my
head. Shouldn't be too dificult to come up with a reasonable syntax and set
of commands.
Cheers, Rolf
--
contacts: http://www.physi.uni-heidelberg.de/~dubitzky
More information about the Kdenlive
mailing list