Linux desktop-video capture similar to Lotus ScreenCam or TechSmith Corp.'s Camtasia Studio on MS-Windows
(See also: screen-capture tools list.)
Contents:
- xscript
- XVidCap/gvidcap
- X11rec
- ttyrec
- Xnee
- Vnc2swf
- Pyvnc2swf
- vncrec
- vrecord
- Istanbul
- recordMyDesktop
- Yukon
- CamStudio (Windows app via VNC)
- Wink (proprietary)
- DemoRecorder (proprietary)
xscript
http://www-spi.lip6.fr/~queinnec/VideoC/xscript.html
...with XVidCap/gvidcap:
http://xvidcap.sourceforge.net/:
xscript roduces a series of image files at timed intervals that can be
easily combined into an animated GIF file. Requires XVidCap.
[excerpted from an e-mail:]
Xvidcap:
The other category of video capture program that I found was called xvidcap. It also goes by the name "gvidcap", with minor differences in the graphical interface.
Xvidcap is a standalone program that grabs video from your choice of location on the screen. It produces MPEG files[...].
Wikieducator comments:- GTK UI
- Very clean and easy to use interface
- Good demo movies here: http://xvidcap.sourceforge.net/
- Had problems getting gvidcap running properly on Ubuntu Dapper because of Libavcodec1 library - couldn't source the library.
- Good example of GUI designed for ease of use
X11rec:
http://namazu.org/~satoru/x11rec/index.html.en
Runs xwd to capture a series of window images, and then uses
ImageMagick to string them into either an MNG or animated
GIF. Requires Ruby, ImageMagic, Gifsicle, xwd, xwininfo.
ttyrec:
http://namazu.org/~satoru/ttyrec/
Similar to X11rec, but for consoles.
Xnee:
http://www.gnu.org/software/xnee/
Xnee can record, distribute and replay X (X11) protocol data. This is
useful for automated tests of applications or benchmarking of
applications. ...think of it as a robot. Xnee requires X11 and the
RECORD- and XTest extensions.
Vnc2swf:
http://www.unixuser.org/~euske/vnc2swf/
Vnc2swf is a
screen-recording tool for X11 that captures the live motion of a screen
through VNC protocol and converts it a Macromedia Flash movie (.swf).
Requires a VNC server and
Ming-0.2a, a library for generating SWFs.
(NOTE: vnc2swf doens't work with Ming-0.3)
The purpose of using a VNC server is to convert the raw X11 video stream into a portable format. The Vnc2swf utility then performs the remaining task of capturing the VNC stream and converting to an easily viewable (.swf) video format.
Pyvnc2swf:
http://www.unixuser.org/~euske/vnc2swf/pyvnc2swf.html
Pyvnc2swf is a cross-platform screen recording tool. It captures screen motion through VNC protocol and generates a Shockwave Flash (SWF) movie. Pyvnc2swf suite comes with three Python programs:
- vnc2swf.py - Recorder
- edit.py - Movie editor (This is NOT a general SWF file editor. It supports only movies generated by vnc2swf.)
- play.py - Simple movie viewer
Licence: GNU General Public License.
Wikieducator comments: This is the python version of vnc2swf. This is the most promising find. High quality output but very limited GUI and would be difficult for non-technical users. It would appear that to build an easy-to-use GUI for this technology would be the most cost effective solution, and it's Python-based *smile*.
- The technology uses a VNC server - I tested it on Ubuntu Dapper with X11vnc
- Can be used on Windows, MacOSX, Linux, Unix - http://forums.showmedo.com/viewtopic.php?t=12
- Uses pygame and pymedia (if required for mpeg encoding)
- There are two main files which are used - one for recording and one for editing.
- Using arecord - audio can be recorded directly and some smart scripting can automatically convert .wav into mp3 which is required by the editing file to append the audio to screen movie before exporting to swf.
Useful tutorial on pyvnc2swf on Ubuntu Dapper: http://www.ubuntuforums.org/showthread.php?t=179416&highlight=gvidcap - Smart hack using an executable script to automate some of the process when using pyvnc2swf: http://wolphination.com/linux/2006/06/30/how-to-record-videos-of-your-desktop/ (There are a few minor bugs in the script example).
More comments at: http://www.wikieducator.org/Metawikieducator/Screen_movies#pyvnc2swf_-_http:.2F.2Fwww.unixuser.org.2F.7Eeuske.2Fvnc2swf.2F
vncrec:
http://www.sodan.org/~penny/vncrec/
Brief excerpts from an article by Rob Reilly:
vncrec and vnc2swf are two small programs that run on X11-based Linux machines in conjunction with the popular Virtual Network Computing (VNC) family of remote servers and viewers.
Vncrec produces a native movie file format that can be played back by using the -p option. This setup would work well if you wanted to distribute the video clips along with the vncrec program itself to other Linux users. Vncrec files can also be converted into movie formats like animated GIF, AVI, and MPEG by using such programs as mpeg2enc.
Vnc2swf produces Macromedia Flash formatted movies that can be embedded in a Web page. [...]
vrecord:
http://www.cs.nmsu.edu/~pfeiffer/index_old.html#linux
From: Joe Pfeiffer (pfeiffer@cs.nmsu.edu)
Newsgroups: comp.os.linux.announce
Subject: vrecord 0.1.0
Date: Mon, 17 Jul 2006 08:55:51 -0500
vrecord is a simple command-line utility for video captures, with an option syntax deliberately resembling arecord. Basically, everything I could find did so much more than I needed that it seemed easier to write my own, which I hope will be useful to others.
It's available at http://www.cs.nmsu.edu/~pfeiffer/index_old.html#linux
-- Joseph J. Pfeiffer, Jr., Ph.D. Phone -- (505) 646-1605 Department of Computer Science FAX -- (505) 646-1002 New Mexico State University http://www.cs.nmsu.edu/~pfeiffer
Istanbul:
http://live.gnome.org/Istanbul
Istanbul is a desktop session recorder for the Free Desktop. It records your session into an Ogg Theora video file. To start the recording, you click on its icon in the notification area. To stop you click its icon again. It works on GNOME, KDE, XFCE and others. Istanbul requires at least:
- GStreamer 0.10
- Gst-plugins-base 0.10
- PyGTK 2.6
- Gnome Python Extras >= 2.11.3
- Gst-python 0.10
[RM comment: Betaware as of 2007-02.]
Wikieducator comments:
- Records Ogg Theora files
- Nice implementation with Istanbul icon running on the GNOME toolbar
- Easy install, but buggy and unreliable on my Ubuntu Dapper.
- Numerous reports of bugs on the Net, but will be a neat tool when more mature
- Not mature enough for consideration
recordMyDesktop:
http://recordmydesktop.sourceforge.net/
recordMyDesktop is a desktop session recorder for Linux that attemps to be easy to use, yet also effective at its primary task. As such, the program is separated in two parts; a simple command-line tool that performs the basic tasks of capturing and encoding, and an interface that exposes the program functionality in a usable way. The commandline tool (which essentially is recordMyDesktop) is written in C, while the frontend (gtk-recordMyDesktop) is written in python and pyGtk. recordMyDesktop offers also the ability to record audio, along with video, without the need of any later proccesing or mixing.
Also, recordMyDesktop produces files using only open formats. These are
theora for video and vorbis for audio, using the ogg container.
Yukon:
http://www.neopsis.com/projects/yukon/
Yukon video capturing framework
Yukon is a screen capture application for use with OpenGL software. Simply, Yukon can capture videos of games, graphics renderers and other software into a file that can be later converted to AVI or MPEG with mplayer.
Yukon was made for the X Window System, which is highly used with UNIX, FreeBSD and Linux computers; Yukon works by intercepting the X libraries and capturing the video. Unlike other applications on UNIX, Yukon performs the best because of the way it works.
Yukon is the 'frontend' for seom, a library that implements functions to capture, save and replay videos.
After you have built Yukon, you can to set a couple of options. Now you can capture. After you have the video, you can either use the video player that comes with the seom package, seom-player, a patched x264 to convert the raw video to mp4 or seom-filter to convert the *.seom file to *.y4m which can be read by mencoder.
It should work for all types of applications that use OpenGL, even those
running under WINE or Cedega. If you've gotten an application/game
working together with Yukon, please tell me, I'd like to create a page
with success stories or guides how to get specific apps/games working,
something like the WINE appdb.
CamStudio: (Windows app via VNC)
http://www.camstudio.org/
[Archivist's note: There is an excellent open source video package for MS-Windows called CamStudio, outputting AVI or SWF. CamStudio should not be confused with its proprietary competitor, TechSmith's Camtasia Studio for Windows. TechSmith neither produces nor endorses CamStudio.
Thus far, CamStudio is not known to be buildable on Linux.
However, Wikieducator note: "See interesting work around to record
Linux screen movies with Camstudio: VNC server is used to control the
target display (Linux) for recording.
http://www.irongeek.com/i.php?page=CamStudioOSS/camstudio
Wink: (proprietary)
http://www.debugmode.com/wink/
Wink is a freeware screen-capture and tutorial-creation program written by Satish Kumar. It supports many features such as input-based capture and text annotations. Navigation buttons can be added to any presentation and the bitmaps for all presentation controls can be edited. Wink also has multilingual support and can be used in English, French, German, Italian, Danish, Spanish, Serbian, Japanese, Brazilian Portuguese and Simplified/Traditional Chinese.
Wikieducator comments:
- Nice application with many features - perhaps too sophisticated for the intended purpose
- Can export Flash file for the Web
- Freeware - not open source, so does not meet minimum requirements
- Current Linux version does not provide audio recording capabilities
DemoRecorder: (proprietary)
http://www.demorecorder.com/
Screen Recorder for Linux with sound recording and export to AVI, MPEG, VOB, FLV
Record the Video with DemoRecorder.
- Start DemoRecorder,
- Prepare the start of your scene,
- Press Record,
- Do the things that you want to record,
- Press Break when you are finished.
- Save the video.
Export the Video. (This generates all files necessary for Web-publishing.)
You can do it with the following commandline:
demorec-to-flv-with-player easy_web_example easy_web_example.flv
This does the following things: export the video to FLV and generate the
SWF-Player and HTML-code.
Adam Jenkins kindly pointed out that these pages also track relevant
code:
http://www.wikieducator.org/Metawikieducator/Screen_movies#Desktop_evaluation_of_existing_freeware_.26_FLOSS_tools
http://en.wikipedia.org/wiki/List_of_screen_recording_software