Digital Video on Linux

Overview

25 May 02, updated 4 September 05

Players
  • mplayer does a great job playing all files in a directory with gmplayer * -- especially mpeg4, as dv2 files can lose synch (this may be due to processor speed). It also plays DVDs locally.
  • ogle plays DVDs only
  • xine also does a great job playing all divx files in a directory with xine * -- it currently isn't handling dv2 files, but this could change with an update (it appears to find the codec)
  • playdv will play raw dv files captured in kino or dvgrab -- there's no gui, but the sound is great and synchronized. It doesn't look as if it will play really large files.
  • aviplay will play dv2 files with a great gui for scrubbing -- but not frame by frame
  • lqtplay is part of the libquicktime library, plays quicktime movies
    • libquicktime_config is a utility that displays available codecs and configures libquicktime
    • quicktime in OSX or windows will play raw dv files
  • VideoLAN -- plays lots of stuff, made for streaming
  • windows media player will play avi files (dv2 format) located on gubbio (or cyberspace)
Editors
Utilities
  • lirc -- Linux Infrared Remote Control
  • dvgrab for batch capture
  • cat /dev/video0 >dev_video0.mpg (untested, said to work)
  • transcode rocks
  • firewire -- in the kernel; use a recent one
  • dvr (Digital Video Recorder) lets you record several streams at once, and compress on the fly -- this looks like a good tool for video frame grabbing.
  • codecs from the MPlayer project
  • konverter -- mencoder frontend, nice cropping options (see Debian packages)

Software packagers

Guides

HowTo's and interesting projects

Streaming video -- Mpeg4IP -- for encoding, streaming, and playing MPEG-4 encoded audio and video.

See "Bridge the Digital Divide Using Video CD's" -- you can make VCDs using Transcode.

Converting video to stills -- Prof. Steve Mann (of cyborg fame) has a detailed technical description on his site that demonstrates a method of transforming video into a high resolution composite image. Pictures are seamlessly mosaiced together to form one larger picture of the scene. Portions of the video that were "zoomed in" will result in a much clearer region in the final picture. It's on sourceforge; download and play! Mann has been experimenting with such composites using personal video cameras for years.

Update 8 November 2004

To generate video from a list of PNG (PNG RGB, without palette) files to a MSMPEG4V2 AVI file:

ffmpeg -r 10 -i im%3d.png -f avi -vcodec msmpeg4v2 -qscale 5 -y v.avi

I imagine other codecs could be substituted without modifying the other parameters.

Update 8 March 2004

DV bitrates:

PAL  144000*25*8 bps
NTSC 120000*29.97*8 bps
Convert avi to dv:
ffmpeg -i foo.avi -s pal -r pal -ac 2 -ar 48000 test.dv
Note that it may be possible to convert between PAL and NTSC using this line.

For a mencoder frontend, see Konverter

Update 29 December 2003

To capture a streaming movie, issue

mplayer -dumpstream <mrl>
For instance
mplayer -dumpstream mms://windowsmedia.dvlabs.com/adcritic/honda-cog.asf
This is extremely elegant -- the file is captured perfectly, instead of having to be viewed while buffering and sputtering.  The file name is not retained; the video is instead written to ./stream.dump. This can also be used to rip a DVD, but the main use is to make a perfect capture of streaming video. Rename stream.dump to a useful file name and play with xine or mplayer.

I'm not sure how the file types supported by mplayer can be converted. For instance, can you convert an asf file to something else?

Update 24 Jan 2003

See Screencapture.

Effectv -- a whole host of effects!
Debian package effectv -- get it!

CamStream
http://www.smcc.demon.nl/camstream/

CamStream is (going to be) a collection of tools for webcams and other video-devices, enhancing your Linux system with multimedia video. All written in C++ and with a nice GUI frontend. The interface is based on Qt, an excellent GUI framework.

The aim of this project is build a set of programs for:

Webcamming, that is saving an image and uploading it to a server at regular intervals;
Video conferencing;
Webcam broadcast (including server);
Recording movie clips (AVI, Quicktime) from a webcam (and playing them back);
Using a webcam as a security camera.

Motion (for motion detection)
http://motion.sourceforge.net/

Video editors:

kino by Arne Schirmacher, GTK based, the mother of linux DV
modesto a GUI by Mark-André Hopf, based on the TOAD C++ GUI toolkit
kdenlive a KDE based GUI by Jason Wood
VirtualDub GPLed Windows App with great filters.
Cinelerra -- video editor

GStreamer based editor
MainConcept/MainActor commercial stuff

Kdenlive
http://www.uchian.pwp.blueyonder.co.uk/kdenlive.html

Kdenlive is a generic video editor GUI. It provides a monitor window with controls, an overview of clips used in the
current project, and most important, a timeline where you can arange clips to build a project. Clips can be trimmed, cut, and moved in the timeline. KdenLive can communicate via a XML based protokoll to a render engine which handles the actual video data.

PIAVE

http://modesto.sourceforge.net/piave/

PIAVE is a render engine and effect library. It can read DV video files, render effects and transitions between input
streams. Streams can be displayed or piped to a file. Any project can link agains libpiave and use the provided
features. PIAVE also provides a server application which can receive commands from KdenLive.

Avidemux

21 January 2003

File names: /archos/movies/avidemux.info and /fuma/dva/avidemux.info

Ctrl-n -- next frame
Ctrl-p -- previous frame

Ctrl-N -- next keyframe
Ctrl-P -- previous keyframe

Before you can play and edit a vob file in avidemux, it must be indexed.

Generating index files from the command-line (in fact this didn't work -- use the interface)

avidemux --index-mpeg yourvob.vob index.index {audio-tracknumber} --quit
avidemux --index-mpeg *02.vob 02.idx 0 --quit

Note that the sound is normally located on track 0 (English) and 1 (French), not C0.

Exporting to mpeg (copying a clip):

Video and audio processing in copy mode
Select File | Save mpeg | Save mpeg2 video (DVD) -- use extension mpg
Select File | Save audio -- use extension pcm

tcmplex -i Jurassic-2.mpg -p Jurassic-2.pcm -o Jurassic-2.mpeg -m d -d 3

This works. There may be residual issues with PAL/NTSC.

Exporting to divx/xvid:

Video and audio processing in processing mode
Select video and audio codecs and configure them
Select File | Save AVI (A+V)

divx wasn't working, but xvid double-pass with mp3 works great (some of the low sound is erased).

OS and Libraries (development versions required for compilation)

Installed rpm packages

  • For installed applications, see Packager --
    • Applications | Multimedia
    • Development | Libraries | X11 | libmpeg
    • X11 | Applications | Multimedia
    • X11 | KDE | Multimedia

Encoders and decoders -- see compression

Players and plugins

  • Review 8 May 02
  • AVI & DIVX Player -- http://linux.nf/avidivx.html
  • avifile player (from CVS -- works great!)
  • kino (works fine -- also editor)
  • xine -- see review with installation hints. See http://cambuca.ldhs.cetuc.puc-rio.br/xine/ for a daily build of RPMs, which I installed on 9 Feb 02 with no problems. Xine is basically a DVD player.
  • Mplayer (works pretty well -- read this Review. The codecs were place in /usr/local/shared/mplayer)
  • Xanim
  • Plugger (w/ links to lots of multimedia plugins)

Video capture and editing

"Under linux you really can't beat the hauppauge PVR 250 or 350. Both include hardware mpeg2 encoding, the 350 includes hardware mpeg2 decoding. You can find drivers at ivtv.sf.net. It's nice to record tv shows at 640x480 at 2% cpu load." Source

The Leadtek Winfast TV2000 XP Deluxe TV Tuner works fine under Linux (http://lists.suse.com/archive/suse-linux-e/2004-Mar/2436.html), but note that the WinFast DV2000 does not. (June 2004)

Videoconferencing and internet telephony

TV capture (see separate page)

Installation

Questions for making dvbackup work: (see Backups.html)
Can you capture normal video data using "dvconnect >video.dv" ?
Can you play it back using "playdv video.dv" ?
Can you send it back to the camcorder using "dvconnect -s <video.dv" ?

Converter boxes

  • Firewire TV to DV converters:  http://www.synthetic-ap.com/tips/firewireconverters.html
  • DAC-2 DV-YUV converter http://www.videoguys.com/datavid.htm#dac2

Streaming

  • gstreamer
  • DVB -- digital video broadcasting
    • LinuxTV has a streamer for this format -- mpeg-2 broadcasting

Blender (30 Jan 2002)

Blender and BMRT work extremely well under Linux. Blender for linux absolutely smokes.

 

 

 

 

top
Debate
Evolution
CogSci

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


CogWeb