Difference between revisions of "Live CD"
Line 107: | Line 107: | ||
mencoder rtsp://camera.ip:7070 -ovc copy -fps <fps> -frames 1000 -o $f.avi | mencoder rtsp://camera.ip:7070 -ovc copy -fps <fps> -frames 1000 -o $f.avi | ||
done | done | ||
− | You can enter | + | You can enter these strings "as is" at the command prompt. |
==== ElphelOgm ==== | ==== ElphelOgm ==== | ||
Line 139: | Line 139: | ||
It is called from the startup script on our Live CD. | It is called from the startup script on our Live CD. | ||
− | If you have installed netcardconfig-knoppix | + | If you have installed netcardconfig-knoppix separately from our distro, it is possible you need to insert a call to the script in a system startup script. |
Our version uses arping to check the IP address. | Our version uses arping to check the IP address. | ||
Line 150: | Line 150: | ||
It is called from the startup script on our Live CD after netcardconfig. | It is called from the startup script on our Live CD after netcardconfig. | ||
− | If you have installed elphel-pack | + | If you have installed elphel-pack separately from our distro, you possibly need to insert a call for the script in a system startup script. |
==== camsearch ==== | ==== camsearch ==== | ||
This shell script scans the LAN using broadcast ping and detects elphel cameras. | This shell script scans the LAN using broadcast ping and detects elphel cameras. | ||
Line 187: | Line 187: | ||
You can get a package file from any installed package: | You can get a package file from any installed package: | ||
dpkg-repack <package-name> | dpkg-repack <package-name> | ||
− | And convert it to tar.gz format which is used in Slackware, and | + | And convert it to tar.gz format which is used in Slackware, and which is easy to install in any GNU/Linux system without a package manager: |
alien -t <file-name.deb> | alien -t <file-name.deb> | ||
Line 212: | Line 212: | ||
So patches can modify the content of initrd. | So patches can modify the content of initrd. | ||
− | Diff patches | + | Diff patches will be tested before application: they will be tried with --dry-run and -p0 and p1 options. |
Executables are first run with --dry-run, with this option the files will be checked but it will not modify files. | Executables are first run with --dry-run, with this option the files will be checked but it will not modify files. |
Revision as of 13:19, 28 December 2005
353/363 | Using the cameras | Camera software | Live CD | Camera hardware | Diagnostic & repair | Development documentation | 333 prices | Information | FAQ | About Elphel, Inc
The Live CD is based on Knoppix which is based on Debian.
Contents
Structure
The Live CD contains multipurpose GNU/Linux software and special software for elphel cameras. The software is organized as debian packages. Our debian packages are presented on our SourceForge page in the Live-CD and Players sections.
The root file system of Knoppix is compressed and the cloop kernel module is needed to decompress it on-the-fly when it is necessary. The CD contains the compressed root file system, boot loader and flash tarballs for different models of our cameras.
If you already have a Debian or Knoppix system installed, you can add some of our debs to work with our cameras.
- We recommend installing the following packages from our SourceForge page:
- elphel-pack has utilities to configure the network specifically for the cameras (for rtp stream receiving), search for cameras on the LAN, update flash, and a helper for Mozilla/Firefox to work with .sdp files.
- netcardconfig-knoppix elphel clone to configure network cards and to make a simple bridge from several cards.
- patched MPlayer to watch and to record the rtp stream from our cameras.
To install the selected package(s) you may use the following command:
# dpkg -i --force-overwrite <deb-file-name>
Our version of netcardconfig-knoppix is dependant on the iputils-arping package. You may install it with:
# apt-get install iputils-arping
Our other packages and applied patches contain common minor improvements and bug fixes for the base distro.
Usage
Boot and use
Currently we have a Live CD only for the i386 architecture.
The Boot CD allows you to use Linux with the necessary network settings and utilities for our cameras without any modification of data on your hard drive.
Insert our CD in the CD drive and let the computer boot from this CD. It is possible you may need to change some BIOS settings to do it.
You may simply wait until the system is ready.
First you will see the Knoppix boot menu. To continue the boot you can wait longer or simply press Enter. The most common intervention during the boot process is setting the screen resolution to match your monitor (details below - [[1]]):
knoppix screen=1600x1200
In most cases Knoppix starts succesfully and automatically detects the computer hardware.
Then network cards will next be configured. The config script may ask you whether to make a bridge if your computer has several network cards. Press Enter or wait longer for the default configuration.
Then it automatically searches for elphel cameras on your LAN and makes a static html page with links.
After the boot completes you will see the page with cameras.
Knoppix cheat codes (boot parameters)
Special parameters can be set at the boot prompt.
- The first word must be a name of a boot variant.
- knoppix
- Default mode.
- expert
- Verbose interactive mode.
- debug
- Debug mode.
- failsafe
- Boot without hardware autodetection.
- memtest
- RAM test.
- Some further parameters separated by spaces can follow in any order.
- screen=1280x1024
- Use this if you have a monitor resolution higher than 1024x768 pixels and autodetection does not work.
- lang=XX
- Specify the two-letter designation of your language.
See the file "KNOPPIX/knoppix-cheatcodes.txt" on the Live CD for more in-depth information. Or online - here
Common software for video
mplayer
This is a movie player. It can play files and streams with many different video and audio formats.
To watch an rtp stream from our cameras you may use the following command:
mplayer rtsp://camera-ip:7070/
Where camera-ip is the ip address of the camera.
To play a file recorded with mencoder or any other videofile you may use the following command:
mplayer path-to-file
Or you may use the KDE menu to run mplayer in dialog mode
You can use the keyboard to control playing
- space pause/continue
- Q quit
See the mplayer man page and site for more information.
mencoder
This program is included in the mplayer package. It can transcode video and audio to and from many different formats. For more about this see the man page. Type:
man mencoder
To record the rtp stream from our cameras it is better to use mencoder in copy mode (without reencoding):
mencoder rtsp://camera.ip:7070 -ovc copy -fps <fps> -o filename.avi
where:
- camera.ip - DNS name or IP address of the camera;
- <fps> - approximate value of the frame frequency (this parameter is mandatory);
- filename.avi - the name of an output file.
Close the terminal window or press Ctrl+C to finish recording.
The following program written in unix shell will split recording video into blocks with the specified number of frames:
while true ; do f=`date -Iseconds` mencoder rtsp://camera.ip:7070 -ovc copy -fps <fps> -frames 1000 -o $f.avi done
You can enter these strings "as is" at the command prompt.
ElphelOgm
A receiver for the multicast RTP stream. It generates ogg/mjpeg stream on stdout. You can use it with mplayer or another video player to watch the RTP stream from the camera:
ElphelOgm -a <multicast address> -p <multicast port> | mplayer -nocache -
Or to record stream to a file:
ElphelOgm -a <multicast address> -p <multicast port> -f <fps> > video.ogm
Other tested players: VLC(some performance).
See also detailed description and roadmap
ogm2mov
This program is used to recode ogg/mjpeg file to QuickTime .mov format. Usage:
ogm2mov -o <output file name> <input_file_name or "-" for stdin>
The program cannot write to a pipe, only to a file.
GenReS plugin for Firefox
This is a plugin for Mozilla/Firefox to allow embedding of external applications like mplayer in the browser window.
See also description for javascript programmers.
Special software
netcardconfig
netcardconfig is an improved version of knoppix network configurator. It needs root privileges. It has two modes: interactive and batch.
...
It is called from the startup script on our Live CD. If you have installed netcardconfig-knoppix separately from our distro, it is possible you need to insert a call to the script in a system startup script. Our version uses arping to check the IP address.
netcamconfig
Run "netcamconfig" as user "root" to apply additional network settings and some kernel parameters.
This script adds aliases for network cards with the most popular LAN ip adresses, adds route records for multicast ip addresses and changes kernel parameters to prevent long i/o operations blocking the hard drive,
It is called from the startup script on our Live CD after netcardconfig. If you have installed elphel-pack separately from our distro, you possibly need to insert a call for the script in a system startup script.
camsearch
This shell script scans the LAN using broadcast ping and detects elphel cameras. It creates the file "cameras.html" in the current directory with links to found cameras and information about software versions. It is called from the system startup script after network configuration and can be restarted using the "Find cameras again" link on the KDE desktop.
flashit
This program uses Axis low-level Ethernet packets see "Theory"(some details do not apply to the camera) to communicate with a network bootloader hard-wired in the CPU internal ROM. This makes firmware upgrade a safe process - even if the process was interrupted and the camera was left in non-bootable state, it is always possible to start over again.
When the program is started without arguments (e.g. by just clicking the icon on the desktop) it offers a choice of images available on the DVD. You may also download flash image files (elphel3?3*-flash.tar.bz2) from the files section on Elphel project page at SourceForge.net, save them and use as an argument to flashit (i.e. drag-and-drop the file icon over flashit).
To use the flashit utility, the camera should be started in firmware updgrade mode - the green button on the back panel should be held pressed down when the power is applied to the camera. You may do this in any sequence - if the program was started first, you will see the program output messages immediately after the camera is started in this special mode. The flashing process takes several minutes - both LEDs on the network connector stay on until it is over.
sdp-helper
This script is designed for calling from a browser. It accepts a temporary "sdp" file downloaded from camera and calls mplayer to view the stream or mencoder to record it. On the CD it processes files with the mime type text/sdp. The script deletes the given temporary file.
Installing to hard drive
Working with packages
Knoppix is based on Debian. So it uses the debian package system. To list the installed packages use:
dpkg -l [<shell-like-template>]
To install a new package from file:
dpkg -i <deb-filename>
To install from servers:
apt-get install <package-name>
To remove a package:
dpkg -r <package-name>
To get a description:
dpkg -s <package-name>
When booting from CD/DVD you can install/remove packages, but all changes will be temporary until reboot. Due to use of unionfs with ramfs you may temporarily change any file in the compressed filesystem, but changes are stored in RAM.
You can get a package file from any installed package:
dpkg-repack <package-name>
And convert it to tar.gz format which is used in Slackware, and which is easy to install in any GNU/Linux system without a package manager:
alien -t <file-name.deb>
How to Make a New CD Image
Here we describe the usage of the Live CD maker which can be downloaded from our SourceForge page. The tar archive contains several shell scripts and directories with patches and files for the CD.
Debs
This directory contains packages to install on the new CD and files with a list of packages and file names to remove. The script recognizes deb, rpm, and compressed tar archives. Use of debs is preferred.
Files "00remove-debs" and "00remove-files" contain, respectively, a list of debian packages, and files to remove before installing and updating new packages. Files "zzremove-debs" and "zzremove-files" are used similarly only after installation of new packages.
When the result is a DVD remastering the script uses some filenames but with -DVD suffixes.
Patches
there are 4 types of objects:
- diff patches, to be applied as patches to the knoppix root;
- tar.bz2 archives, to be unpacked in the knoppix root file system;
- executable files which will run with knoppix root as the current directory;
- directories which are ignored by the script, and can contain data for the executables.
Before application the initrd image is unpacked to the knoppix root and repacked after. So patches can modify the content of initrd.
Diff patches will be tested before application: they will be tried with --dry-run and -p0 and p1 options.
Executables are first run with --dry-run, with this option the files will be checked but it will not modify files.
Files to Be Placed on CD
The directory "newcd" contains files wich will be placed on the CD as is. Put here new flash tarballs and HTML files which can be accessed without booting from the CD.
Scripts
download-debs
livecd-make
Other Files
Diagnostic
Road map
Free Software and Open Hardware. Elphel, Inc., 2005