Kino

Summary

  • kino 0.51 downloaded from CVS on 22 May 2002
    • libdv downloaded from CVS
    • automake 1.5 installed
    • pkgconf 0.8.0 installed

Software

Guides

Status

kino 0.75 is installed

kino 0.51 is installed, with several nice new features (unsplit, undo, redo, new file formats). For feedback, post to Dan Dennedy on the kino discussion board.

Known bugs: large index dv2 (OpenDML option in Kino) AVI writing is broken in Kino 0.51 and dvgrab 1.1 betas 1&2. Dan Dennedy has likely fixed kino in CVS.

NTSC: libdv has a new setting, which is used in kino's Display menu:

The decoder's add_ntsc_setup option should only be used by North American NTSC users when viewing the video on your computer monitor. It should never be used when transcoding, image processing, or rendering.

For details, see http://www.adamwilt.com/DV-FAQ-tech.html#Setup. You may want to ask if this means I should always leave it on, or switch if off when I'm saving files for instance.

Make a playlist fast: Wow! You can do kino * and it reads in all the files in the directory! You must be kidding -- saves me lots of work.

Alternatively, drag and drop the files to add them to your current document in kino. Works well from Nautillus, possibly from Konqueror..

From raw dv to mpeg4: The simplest digital video routine is to import from the camcorder using dv1394in (cf dvgrab). Kino will read very large files, at least up to 20GB. It should split them into scenes automatically, but this doesn't happen reliably; I've submitted the bug to kino's bugzilla.

Transcode will read raw dv files produced in this manner and turn them into mpeg4 using xvid or divx:

transcode -i test.dv -x dv,dv -z -k -o test-divx.avi -y af6

I haven't tested this -- not the af6 codec used.

From mpeg4 to raw dv: Finally, it's possible to go the other way and generate raw dv files from mpeg4 files -- I can't imagine the results will be that great, but apparently transcode will do it, using the transcode dvraw export module, and Kino will read the raw DV files produced. The trick is to present dvraw with exactly the correct dimensions and audio format for DV:

$ transcode -z -i foo.xvid -y dvraw -o foo.dv

...produces a raw DV stream that Kino loads and plays.

Slow motion/fast forward: go to FX > Frames > Overwrite and click on the Advanced button. In here, you will find a Speed and Reverse button. When checked, Speed is used to determine how often to repeat a frame (with a value of 0.5 repeating each frame twice and 2 showing every 2nd frame). The Reverse check button means that the frames are
delivered in reverse order (but that functionality is a bit broken in kino 0.51).

Workflow: this may be the way to go for me -- just get the raw footage and pipe it straight to divx. Of course you'll still want scene changes. So the think to do is to change the default dvgrab script to just grab raw footage, but include the scene splits. This will make the files viewable in QuickTime on the Mac, but not in Windows.

Next, you need to set up transcode to handle the raw footage -- it's not clear if you need the very latest or (more likely) if your version is recent enough. You then create divx directly from the raw footage. Monitor if this improves the desynch problems you were having.

You'll be able to distinguish the new files from the old by using the dv extension. Also find out if mplayer will play divx files if you use a dvx extension (or the like).

And the good news: kino has a facility for slow motion viewing! This means you don't need to export thousands of stills unless you want to print them... Can you print from kino?

Installation history

On 17 May I started to update kino on gubbio. I started using Mozilla, which is beautiful (the 0.94 version, not the latest), but doesn't have tabbed windows (the latest might?).

I then read on the kino message board at http://www.schirmacher.de/dcforum/DCForumID1/196.html that the latest CVS version of kino requires the CVS of libdv. This means you should install a parallel version of kino -- call it kinoCVS -- and not destroy the current installation, if you can pull that off.

Anonymous CVS Access

This project's SourceForge CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set. The module you wish to check out must be specified as the modulename. When prompted for a password for anonymous, simply press the Enter key.

cvs -d:pserver:anonymous@cvs.kino.sourceforge.net:/cvsroot/kino login
cvs -z3 -d:pserver:anonymous@cvs.kino.sourceforge.net:/cvsroot/kino co modulename

So what are the modules you need? Here is the whole tree: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/kino/. I created a new directory on the gigadrive on gubbio, /cvs (or /mnt/hde/cvs), and from there I logged in the kino CVS at sourceforge as above:

cvs -d:pserver:anonymous@cvs.kino.sourceforge.net:/cvsroot/kino login

I got the password request and just pressed return. Then I tried to get the whole thing, like this:

cvs -z3 -d:pserver:anonymous@cvs.kino.sourceforge.net:/cvsroot/kino co kino

It worked! I got the message "cvs server: Updating kino" -- which is just what I had hoped. This also means I can stay abreast with the bleeding edge on kino in this manner, (So my guess was right on this occasion -- it's terrible of course how GPL projects tend to lack instructions.) Then I got a long list of files (below).

I then checked how much space this was taking with the command du -h:

20k ./kino/CVS
16k ./kino/help/CVS
184k ./kino/help
16k ./kino/intl/CVS
180k ./kino/intl
16k ./kino/macros/CVS
160k ./kino/macros
16k ./kino/pixmaps/CVS
184k ./kino/pixmaps
16k ./kino/po/CVS
48k ./kino/po
16k ./kino/src/CVS
1.1M ./kino/src
2.5M ./kino
2.5M .

So the whole thing is 2.5Mb, which is really not much. Since df shows I'm up to 93% full on hdc7, the partition Linux is on, I decided to put the cvs on the gigadrive, where there is still oodles of space.

I did a du -s -h on the hdc7 drive and found that /usr/src took up 608Mb of space. I decided to move all of that into the gigadrive, at /mnt/giant/src, with the command mv src /mnt/giant. That took the space taken on hdc7 back down to 79%, which is much better. So the hdc7 /usr/src directory no longer exists; it is now on /mnt/giant/src.

In order to find all the source files I removed /mnt from UPDATEDB_PRUNEPATHS= in /etc/rc.config and then ran updatedb. Other disks aren't mounted at startup, so this shouldn't be a problem on gubbio. (On 19 June 2002 I reinstated /mnt in the prunepath, since I've now started installing from /usr again and have lots of drives permanently mounted).

Before building kino, however, I need libdv from the CVS. I try this:

cvs -z3 -d:pserver:anonymous@cvs.libdv.sourceforge.net:/cvsroot/libdv co libdv

This worked again! So cvs is beautiful, and very fast too. The full file list is appended below; it is divided into what is surely modules that can be downloaded separately:

cvs server: Updating libdv
cvs server: Updating libdv/config
cvs server: Updating libdv/docs
cvs server: Updating libdv/encodedv
cvs server: Updating libdv/libdv
cvs server: Updating libdv/playdv

So it may be that I don't need /encodedv and /playdv for instance. I certainly haven't used them so far.

Building libdv and kino

First I need to build libdv. I suddenly got worried that the build will somehow assume that the program will be located on /mnt/giant, which isn't always mounted, but no, I doubt that'll be a problem. The program should just build relative to the root, and none of the libraries will be located on /mnt/giant -- that means you'll have to be sure to install libdv before you build kino, but that sort of goes without saying.

The README file has this:

This is LibDV, a GPL codec for DV video. See http://libdv.sourceforge.net/
LibDV now uses the GNU "Autotools" for building.

BUILDING from CVS checkout
==========================

The CVS repository does not contain files generated by the autotools, so you need to run the bootstrap script*:

./bootstrap

When I tried to run ./bootstrap I got this:

gubbio:/mnt/hde/cvs/libdv # ./bootstrap

You must have automake 1.5 or greater to bootstrap libdv.
Get the latest version from ftp://ftp.gnu.org/gnu/automake/

You must have pkg-config 0.7.0 or greater to bootstrap libdv.
I got mine from ftp://ftp.gtk.org/pub/gtk/v1.3/dependencies/
./bootstrap: pkg-config: command not found
./bootstrap: pkg-config: command not found
./bootstrap: [: -lt: unary operator expected

I found out that automake and pkg-config are both in SuSE package d. (I was very pleasantly surprised to see that Mozilla remembers passwords! This saves me a lot of hassle in logging into grain.)

I then went to http://www.sirt.arizona.edu/mirror/suse/i386/update/7.3/ to see if SuSE has updates of these packages. First of all, it doesn't look like SuSE has provided updates; secondly, I can't get access to any of the servers.

I got automake 1.5 (advised by avifiles to avoid 1.6) and pkg-config 0.8.0 from the ftp site above and extracted to giant/src/packages/SOURCES.

Building automake and pkg-config

I then read the INSTALL file for generic instructions -- in addition to the usual ./configure, make, make install, and make clean, I learned that I can do a make check -- it too ages running dozens of tests.

The simplest way to compile this package is:

1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself.

Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for.

2. Type `make' to compile the package.

3. Optionally, type `make check' to run any self-tests that come with the package.

4. Type `make install' to install the programs and any data files and documentation.

5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.

Note that you can also run make uninstall after an installation!

In order to place automake in the /usr/bin directory and not the default /usr/local/bin, I ran this switch:

./configure --prefix=/usr

The automake ./configure was short and sweet, and the make lighting. I then ran make check and it ran a slew of tests, all of which passed, except the following:

XFAIL: auxdir2.test
XFAIL: cond17.test
XFAIL: condd.test
XFAIL: specflags8.test
XFAIL: subdir5.test

When it was finally done, I got "All 355 tests behaved as expected (5 expected failures)" so I guess I'm fine.

In the meantime, as this was taking a long time, I ran make install for automake, which went fine. The program has been put into /usr/share and /usr/bin.

I then ran ./configure on pkg-config with the same --prefix=/usr switch -- this is vital, or the program won't really be updated. There were no warnings. Then make -- a heavily compilation task that took a while, but there were no warnings. I then did make install and saw it got put in /usr/bin. I did a make clean and was done.

Building libdv

Having compiled and installed automake and pkg-config, I then returned to libdv and ran ./bootstrap again on libdv and it ran fine.

Now I'm ready to ./configure libdv. I followed the instructions and did

./configure

I didn't use the --enable-maintainer-mode or the --prefix=/usr flags.

Then I did a make install on libdv -- it installed itself in /usr/local/lib -- and a make clean.

Building kino

Then I go to kino. I start by running ./autogen.sh to generate the Makefiles and then runs ./configure. It works fine -- I then compile with make and run make install. The new kino is great!

 

 

top
Debate
Evolution
CogSci

Maintained by Francis F. Steen, Communication Studies, University of California Los Angeles


CogWeb