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.
|