mirror of https://github.com/tLDP/LDP
939 lines
21 KiB
Plaintext
939 lines
21 KiB
Plaintext
<!doctype linuxdoc system>
|
|
|
|
<!--
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
Changelog:
|
|
05-Mar-2001: Initial Version of Linux-VCR HOWTO
|
|
: Based on HOWTO-template for Big HOWTOs by Stein Gjoen
|
|
-->
|
|
|
|
|
|
<article>
|
|
|
|
<title>VCR-HOWTO - Using your GNU/Linux computer as a VCR
|
|
|
|
<author>Brian Hayward, <tt/twivel@slothmud.org/
|
|
|
|
<date>0.02, 2001-03-10
|
|
|
|
<abstract> <!-- the abstract: a short and precise description -->
|
|
<nidx>VCRHOWTO</nidx> <!-- add indexing keywords as you go along -->
|
|
<!-- nidx means the indexed word is not in output of main text, only in the index -->
|
|
This is a guide to setting up your GNU/Linux workstation as a digital VCR using
|
|
the video4linux driver and a supported tuner card.
|
|
</abstract>
|
|
|
|
|
|
<!-- Table of contents -->
|
|
<toc>
|
|
|
|
<!-- Begin the document -->
|
|
|
|
|
|
<sect>Introduction
|
|
|
|
<p> <!-- always use a p tag (paragraph) immediately after a sect tag -->
|
|
<nidx>VCRHOWTO!introduction</nidx> <!-- here introduction is a sub entry of template, exclamationmark is separator -->
|
|
This is a guide to setting up your GNU/Linux computer as a VCR. Setting up my VCR took a little research, but it
|
|
didn't turn out to be as difficult as I thought. I decided to publish my results so others may benefit from what
|
|
I've done. This is by no means the only method to achieve the same results as there are several applications out
|
|
there that may perform similar tasks. Hopefully any unique procedures for configuring other software or devices
|
|
may be incorporated into this document.
|
|
|
|
<sect1>Copyright
|
|
<p>
|
|
Copyright (c) 2001 by Brian Hayward (Twivel)
|
|
<P>
|
|
Please freely copy and distribute (sell or give away) this document in
|
|
any format. It's requested that corrections and/or comments be forwarded
|
|
to the document maintainer. You may create a derivative work and distribute
|
|
it provided that you:
|
|
|
|
<itemize>
|
|
<item>
|
|
Send your derivative work (in the most suitable format such as
|
|
sgml) to the LDP (Linux Documentation Project) or the like for posting
|
|
on the Internet. If not the LDP, then let the LDP know where it is
|
|
available.
|
|
<item>
|
|
License the derivative work with this same license or use GPL.
|
|
Include a copyright notice and at least a pointer to the license used.
|
|
<item>
|
|
Give due credit to previous authors and major contributors.
|
|
</itemize>
|
|
|
|
<P>
|
|
If you're considering making a derived work other than a translation,
|
|
it's requested that you discuss your plans with the current maintainer.
|
|
|
|
|
|
|
|
<sect1>Disclaimer
|
|
<p>
|
|
|
|
Use the information in this document at your own risk. I disavow any
|
|
potential liability for the contents of this document. Use of the
|
|
concepts, examples, and/or other content of this document is entirely
|
|
at your own risk.
|
|
|
|
All copyrights are owned by their owners, unless specifically noted
|
|
otherwise. Use of a term in this document should not be regarded as
|
|
affecting the validity of any trademark or service mark.
|
|
|
|
Naming of particular products or brands should not be seen as endorsements.
|
|
|
|
You are strongly recommended to take a backup of your system before
|
|
major installation and backups at regular intervals.
|
|
|
|
|
|
<sect1>News
|
|
<p>
|
|
<nidx>VCRHOWTO!news on</nidx>
|
|
This is the first release. No news yet.
|
|
|
|
The latest version of this document can be found at <url url="http://www.slothmud.org/~hayward/vcr-howto" name="Here">.
|
|
|
|
|
|
<sect1>Credits
|
|
<p>
|
|
|
|
The following individuals either helped me directly or indirectly during the
|
|
process of developing this HOWTO. Several tips that were suggested by these
|
|
people have not been added to this document yet, don't worry - all in good time.
|
|
|
|
<tscreen><verb>
|
|
david (at) lupercalia.net -- For talking me into learning SGML
|
|
sjgoen (at) nyx.net -- The template for this HOWTO
|
|
knordberg (at) oru.edu -- Help with design and proof reading of this HOWTO
|
|
serge (at) tux.org -- Lots of Tips for expanding the document
|
|
gferg (at) hoop.timonium.sgi.com -- Help with SGML
|
|
remenyi (at) ace-net.com.au -- Suggestions for expanding this document
|
|
nando (at) antunes.eti.br -- Working on Portuguese Translation.
|
|
linuxpe (at) uol.com.br -- Working on Portuguese Translation.
|
|
sam (at) daemoninc.com -- Tips for expanding this document.
|
|
HeikoL77 (at) web.de -- Links to more information.
|
|
Henry.Kingman (at) zdnet.com -- Links to more information on supported video cards.
|
|
</verb></tscreen>
|
|
|
|
<sect1>Translations
|
|
<p>
|
|
Unfortunately no translations of this document currently exist. Once they become available, I
|
|
will provide links to them here. A Portuguese translation is in the works, this will be completed by
|
|
either Carlos Fernando Scheidecker Antunes or Marcio Montenegro.
|
|
|
|
<p>
|
|
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
|
|
<sect>Technologies
|
|
<nidx>VCRHOWTO!technologies</nidx>
|
|
<p>
|
|
<nidx>VCRHOWTO!technologies</nidx>
|
|
This section describes the different technologies used to build your own Linux VCR.
|
|
|
|
<sect1>Tuner or Capture Card
|
|
<p>
|
|
You will need to install a supported video4linux capture card in your computer. I currently use the Hauppauge
|
|
WinTV tuner card which I purchased from Best Buy, but many other cards should work just as well. I don't have
|
|
a suggestion for which is best, I can only comment that the one I own works for me.
|
|
|
|
<sect1>Kernel video4linux driver
|
|
<p>
|
|
Many GNU/Linux distributions already provide a Linux kernel that is configured to support video4linux devices.
|
|
The Hauppauge WinTV card is supported by the 'bttv' driver. I have to load two modules into the linux kernel
|
|
to support my card, namely the 'tuner' and 'bttv' modules. Check out the <url url="http://roadrunner.swansea.linux.org.uk/v4l.shtml" name="V4L homepage"> for details on
|
|
supported tuner cards. Also check out <url url="http://lhd.zdnet.com/db/searchproduct.cgi?_catid=17" name="ZDnet Linux Hardware"> for
|
|
information about Linux tuner cards.
|
|
<p>
|
|
|
|
<sect1>Frame Capture Software
|
|
<p>
|
|
Recording with your digital VCR of course requires frame capture software. As I become aware of available software
|
|
for capturing audio/video to mpeg/avi formats, I will place it in this list. If you have any suggestions for good
|
|
software please let me know and I'll add it here.
|
|
|
|
<p>
|
|
<sect>Implementation
|
|
<p>
|
|
<nidx>VCRHOWTO!implementation</nidx>
|
|
Now lets go through the steps of actually configuring your computer as a VCR.
|
|
|
|
<sect1>Install and Configure Tuner Card
|
|
<p>
|
|
My particular tuner card required special parameters to the 'tuner' and
|
|
'bttv' modules because it was an older model and wasn't properly auto-detected.
|
|
If you can watch TV through your card via xawtv, then you have correctly
|
|
configured your card. Here are the configuration lines from my /etc/modules.conf
|
|
(or /etc/conf.modules for older distributions).
|
|
<verb>
|
|
options -k bttv radio=1 card=2
|
|
options -k tuner debug=0 type=6
|
|
</verb>
|
|
These parameters will vary depending on the model of your card, see the documentation
|
|
found in the linux source (linux/Documentation/video4linux) to figure out exactly
|
|
how to configure your card. I added these modules to /etc/modules so they would
|
|
automatically load on bootup. You can also manually load them with 'modprobe modulename'
|
|
as root. I'm currently using the 2.4.2 kernel, but I have had success with this
|
|
card with all of the 2.2.x kernels as well. Hint: the user may need to have
|
|
ownership of the /dev/video /dev/video0 files (and maybe other devices as well)
|
|
before the tuner card will function. As always, I suggest not running any apps
|
|
as root.
|
|
|
|
<sect1>Configure xawtv to function properly.
|
|
<p>
|
|
You can either use xawtv from a reasonably current distribution, or download
|
|
the source code from the <url url="http://www.strusel007.de/linux/xawtv/" name="xawtv Homepage">
|
|
Make sure xawtv functions for your tuner card before proceeding.
|
|
|
|
<sect2>Sample .xawtv configuration file.
|
|
<p>
|
|
Here is a sample ".xawtv" configureation file. This should be placed within the
|
|
home directory for the user who will be doing the VCR recording. I suggest adding
|
|
presets to your .xawtv file for all channels(0-NNN) (even non-existing ones) because you
|
|
will use the "v4lctl" command to switch channels later. This command makes use
|
|
of 'preset number' rather than 'channel number', so it's conveniant to have preset
|
|
numbers be the same as actual channel numbers. The following configuration file
|
|
was designed for US-cable, your mileage may vary.
|
|
<verb>
|
|
[global]
|
|
freqtab = us-cable
|
|
pixsize = 128 x 96
|
|
pixcols = 1
|
|
jpeg-quality = 75
|
|
mjpeg-quality = 75
|
|
toggle-mouse = 0
|
|
keypad-ntsc = no
|
|
osd = yes
|
|
|
|
# [Station name]
|
|
# capture = overlay | grabdisplay | on | off
|
|
# input = Television | Composite1 | S-Video | ...
|
|
# norm = PAL | NTSC | SECAM | ...
|
|
# channel = #
|
|
# fine = # (-128..+127)
|
|
# key = keysym | modifier+keysym
|
|
# color = #
|
|
# bright = #
|
|
# hue = #
|
|
# contrast = #
|
|
|
|
[defaults]
|
|
norm = NTSC
|
|
capture = over
|
|
input = Television
|
|
|
|
|
|
[CH0 0]
|
|
channel = 0
|
|
fine = 0
|
|
|
|
[CH1 1]
|
|
channel = 1
|
|
fine = 0
|
|
|
|
[CH2 2]
|
|
channel = 2
|
|
fine = 0
|
|
|
|
[CH3 3]
|
|
channel = 3
|
|
fine = 0
|
|
|
|
[CH4 4]
|
|
channel = 4
|
|
fine = 0
|
|
|
|
[CH5 5]
|
|
channel = 5
|
|
fine = 0
|
|
|
|
[CH6 6]
|
|
channel = 6
|
|
fine = 0
|
|
|
|
[CH7 7]
|
|
channel = 7
|
|
fine = 0
|
|
|
|
[CH8 8]
|
|
channel = 8
|
|
fine = 0
|
|
|
|
[CH9 9]
|
|
channel = 9
|
|
fine = 0
|
|
|
|
[CH10 10]
|
|
channel = 10
|
|
fine = 0
|
|
|
|
[CH11 11]
|
|
channel = 11
|
|
fine = 0
|
|
|
|
[CH12 12]
|
|
channel = 12
|
|
fine = 0
|
|
|
|
[CH13 13]
|
|
channel = 13
|
|
fine = 0
|
|
|
|
[CH14 14]
|
|
channel = 14
|
|
fine = 0
|
|
|
|
[CH15 15]
|
|
channel = 15
|
|
fine = 0
|
|
|
|
[CH16 16]
|
|
channel = 16
|
|
fine = 0
|
|
|
|
[CH17 17]
|
|
channel = 17
|
|
fine = 0
|
|
|
|
[CH18 18]
|
|
channel = 18
|
|
fine = 0
|
|
|
|
[CH19 19]
|
|
channel = 19
|
|
fine = 0
|
|
|
|
[CH20 20]
|
|
channel = 20
|
|
fine = 0
|
|
|
|
[CH21 21]
|
|
channel = 21
|
|
fine = 0
|
|
|
|
[CH22 22]
|
|
channel = 22
|
|
fine = 0
|
|
|
|
[CH23 23]
|
|
channel = 23
|
|
fine = 0
|
|
|
|
[CH24 24]
|
|
channel = 24
|
|
fine = 0
|
|
|
|
[CH25 25]
|
|
channel = 25
|
|
fine = 0
|
|
|
|
[CH26 26]
|
|
channel = 26
|
|
fine = 0
|
|
|
|
[CH27 27]
|
|
channel = 27
|
|
fine = 0
|
|
|
|
[CH28 28]
|
|
channel = 28
|
|
fine = 0
|
|
|
|
[CH29 29]
|
|
channel = 29
|
|
fine = 0
|
|
|
|
[CH30 30]
|
|
channel = 30
|
|
fine = 0
|
|
|
|
[CH31 31]
|
|
channel = 31
|
|
fine = 0
|
|
|
|
[CH32 32]
|
|
channel = 32
|
|
fine = 0
|
|
|
|
[CH33 33]
|
|
channel = 33
|
|
fine = 0
|
|
|
|
[CH34 34]
|
|
channel = 34
|
|
fine = 0
|
|
|
|
[CH35 35]
|
|
channel = 35
|
|
fine = 0
|
|
|
|
[CH36 36]
|
|
channel = 36
|
|
fine = 0
|
|
|
|
[CH37 37]
|
|
channel = 37
|
|
fine = 0
|
|
|
|
[CH38 38]
|
|
channel = 38
|
|
fine = 0
|
|
|
|
[CH39 39]
|
|
channel = 39
|
|
fine = 0
|
|
|
|
[CH40 40]
|
|
channel = 40
|
|
fine = 0
|
|
|
|
[CH41 41]
|
|
channel = 41
|
|
fine = 0
|
|
|
|
[CH42 42]
|
|
channel = 42
|
|
fine = 0
|
|
|
|
[CH43 43]
|
|
channel = 43
|
|
fine = 0
|
|
|
|
[CH44 44]
|
|
channel = 44
|
|
fine = 0
|
|
|
|
[CH45 45]
|
|
channel = 45
|
|
fine = 0
|
|
|
|
[CH46 46]
|
|
channel = 46
|
|
fine = 0
|
|
|
|
[CH47 47]
|
|
channel = 47
|
|
fine = 0
|
|
|
|
[CH48 48]
|
|
channel = 48
|
|
fine = 0
|
|
|
|
[CH49 49]
|
|
channel = 49
|
|
fine = 0
|
|
|
|
[CH50 50]
|
|
channel = 50
|
|
fine = 0
|
|
|
|
[CH51 51]
|
|
channel = 51
|
|
fine = 0
|
|
|
|
[CH52 52]
|
|
channel = 52
|
|
fine = 0
|
|
|
|
[CH53 53]
|
|
channel = 53
|
|
fine = 0
|
|
|
|
[CH54 54]
|
|
channel = 54
|
|
fine = 0
|
|
|
|
[CH55 55]
|
|
channel = 55
|
|
fine = 0
|
|
|
|
[CH56 56]
|
|
channel = 56
|
|
fine = 0
|
|
|
|
[CH57 57]
|
|
channel = 57
|
|
fine = 0
|
|
|
|
[CH58 58]
|
|
channel = 58
|
|
fine = 0
|
|
|
|
[CH59 59]
|
|
channel = 59
|
|
fine = 0
|
|
|
|
</verb>
|
|
<p>
|
|
|
|
<sect1>Install the avifile library
|
|
<p>
|
|
Download the latest avifile package from <url url="http://divx.euro.ru" name="DiVX :-) Homepage">.
|
|
You will need avifile-0.5x and binaries-xxxxxx.zip. You should extract the binaries to
|
|
/usr/lib/win32. The next section describes compiling and installing avifile-0.53-5.
|
|
<p>
|
|
|
|
<sect2>Compiling and installing avifile-0.53-5
|
|
<p>
|
|
<verb>
|
|
# tar xvfz avifile-0.53-5.tar.gz
|
|
# cd avifile-0.53-5
|
|
# ./configure
|
|
# make
|
|
# make install
|
|
# mkdir /usr/lib/win32
|
|
# cd /usr/lib/win32
|
|
# unzip /path/to/binaries-010122.zip
|
|
</verb>
|
|
You will need to be root for the make install step to work.
|
|
If you receive any errors, they were probably due to a missing dependancy during
|
|
the configure step. Resolve any dependancies and try again. This should work
|
|
smoothly on any recent distribution that was installed with 'development' tools.
|
|
<p>
|
|
|
|
<sect1>Installing the VCR frame-grabber program
|
|
<p>
|
|
You can get the latest vcr program (vcr-1.05 at the time I wrote this) from
|
|
<url url="http://www.stack.nl/~brama/vcr/" name="The VCR Homepage">.
|
|
<p>
|
|
|
|
<sect2>Compiling and installing vcr-1.05
|
|
<p>
|
|
You will need to be root for the make install step to work.
|
|
<verb>
|
|
# tar xvfz vcr-1.05.tar.gz
|
|
# cd vcr-1.05
|
|
# ./configure
|
|
# make
|
|
# make install
|
|
<p>
|
|
</verb>
|
|
|
|
<sect2>Sample .vcrrc configuration file
|
|
<p>
|
|
By default, vcr installs everything into /usr/local (unless you changed the
|
|
prefix on the ./configure line). You can now read the man page for
|
|
vcr with: 'man -M/usr/local/man vcr'. This is where I got the initial
|
|
.vcrrc file. I configured this one for my needs and added the same presets
|
|
to this file as I did with the .xawtv file. If you think these files look
|
|
similar, it's because I believe vcr was originally based on the xawtv code base.
|
|
Here is the .vcrrc I use:
|
|
<verb>
|
|
[defaults]
|
|
quality = 100
|
|
keyframes = 15
|
|
codec = DivX ;-) low-motion
|
|
attributes = BitRate=1600,Crispness=100
|
|
source = Television
|
|
norm = ntsc
|
|
verbose = 1
|
|
freqtab = us-cable
|
|
audiofrequency=44
|
|
framerate = 29.97
|
|
|
|
|
|
[CH0 0]
|
|
channel = 0
|
|
fine = 0
|
|
|
|
[CH1 1]
|
|
channel = 1
|
|
fine = 0
|
|
|
|
[CH2 2]
|
|
channel = 2
|
|
fine = 0
|
|
|
|
[CH3 3]
|
|
channel = 3
|
|
fine = 0
|
|
|
|
[CH4 4]
|
|
channel = 4
|
|
fine = 0
|
|
|
|
[CH5 5]
|
|
channel = 5
|
|
fine = 0
|
|
|
|
[CH6 6]
|
|
channel = 6
|
|
fine = 0
|
|
|
|
[CH7 7]
|
|
channel = 7
|
|
fine = 0
|
|
|
|
[CH8 8]
|
|
channel = 8
|
|
fine = 0
|
|
|
|
[CH9 9]
|
|
channel = 9
|
|
fine = 0
|
|
|
|
[CH10 10]
|
|
channel = 10
|
|
fine = 0
|
|
|
|
[CH11 11]
|
|
channel = 11
|
|
fine = 0
|
|
|
|
[CH12 12]
|
|
channel = 12
|
|
fine = 0
|
|
|
|
[CH13 13]
|
|
channel = 13
|
|
fine = 0
|
|
|
|
[CH14 14]
|
|
channel = 14
|
|
fine = 0
|
|
|
|
[CH15 15]
|
|
channel = 15
|
|
fine = 0
|
|
|
|
[CH16 16]
|
|
channel = 16
|
|
fine = 0
|
|
|
|
[CH17 17]
|
|
channel = 17
|
|
fine = 0
|
|
|
|
[CH18 18]
|
|
channel = 18
|
|
fine = 0
|
|
|
|
[CH19 19]
|
|
channel = 19
|
|
fine = 0
|
|
|
|
[CH20 20]
|
|
channel = 20
|
|
fine = 0
|
|
|
|
[CH21 21]
|
|
channel = 21
|
|
fine = 0
|
|
|
|
[CH22 22]
|
|
channel = 22
|
|
fine = 0
|
|
|
|
[CH23 23]
|
|
channel = 23
|
|
fine = 0
|
|
|
|
[CH24 24]
|
|
channel = 24
|
|
fine = 0
|
|
|
|
[CH25 25]
|
|
channel = 25
|
|
fine = 0
|
|
|
|
[CH26 26]
|
|
channel = 26
|
|
fine = 0
|
|
|
|
[CH27 27]
|
|
channel = 27
|
|
fine = 0
|
|
|
|
[CH28 28]
|
|
channel = 28
|
|
fine = 0
|
|
|
|
[CH29 29]
|
|
channel = 29
|
|
fine = 0
|
|
|
|
[CH30 30]
|
|
channel = 30
|
|
fine = 0
|
|
|
|
[CH31 31]
|
|
channel = 31
|
|
fine = 0
|
|
|
|
[CH32 32]
|
|
channel = 32
|
|
fine = 0
|
|
|
|
[CH33 33]
|
|
channel = 33
|
|
fine = 0
|
|
|
|
[CH34 34]
|
|
channel = 34
|
|
fine = 0
|
|
|
|
[CH35 35]
|
|
channel = 35
|
|
fine = 0
|
|
|
|
[CH36 36]
|
|
channel = 36
|
|
fine = 0
|
|
|
|
[CH37 37]
|
|
channel = 37
|
|
fine = 0
|
|
|
|
[CH38 38]
|
|
channel = 38
|
|
fine = 0
|
|
|
|
[CH39 39]
|
|
channel = 39
|
|
fine = 0
|
|
|
|
[CH40 40]
|
|
channel = 40
|
|
fine = 0
|
|
|
|
[CH41 41]
|
|
channel = 41
|
|
fine = 0
|
|
|
|
[CH42 42]
|
|
channel = 42
|
|
fine = 0
|
|
|
|
[CH43 43]
|
|
channel = 43
|
|
fine = 0
|
|
|
|
[CH44 44]
|
|
channel = 44
|
|
fine = 0
|
|
|
|
[CH45 45]
|
|
channel = 45
|
|
fine = 0
|
|
|
|
[CH46 46]
|
|
channel = 46
|
|
fine = 0
|
|
|
|
[CH47 47]
|
|
channel = 47
|
|
fine = 0
|
|
|
|
[CH48 48]
|
|
channel = 48
|
|
fine = 0
|
|
|
|
[CH49 49]
|
|
channel = 49
|
|
fine = 0
|
|
|
|
[CH50 50]
|
|
channel = 50
|
|
fine = 0
|
|
|
|
[CH51 51]
|
|
channel = 51
|
|
fine = 0
|
|
|
|
[CH52 52]
|
|
channel = 52
|
|
fine = 0
|
|
|
|
[CH53 53]
|
|
channel = 53
|
|
fine = 0
|
|
|
|
[CH54 54]
|
|
channel = 54
|
|
fine = 0
|
|
|
|
[CH55 55]
|
|
channel = 55
|
|
fine = 0
|
|
|
|
[CH56 56]
|
|
channel = 56
|
|
fine = 0
|
|
|
|
[CH57 57]
|
|
channel = 57
|
|
fine = 0
|
|
|
|
[CH58 58]
|
|
channel = 58
|
|
fine = 0
|
|
|
|
[CH59 59]
|
|
channel = 59
|
|
fine = 0
|
|
|
|
</verb>
|
|
<p>
|
|
<sect1>Using cron to record your favorite program.
|
|
<p>
|
|
You may want to verify vcr will record your program before setting up cron to
|
|
record your programs. You can test this by doing "vcr -t 2m test.avi", then
|
|
try to play back that two-minute sample using aviplay. Note that you will need to add
|
|
'/usr/local/bin' to your path and '/usr/local/lib' to your ld library path for this
|
|
to work properly. It was also suggested that you can use 'at' to record your
|
|
program as well, this may be useful for times when you just want to record a
|
|
program once at a specific time, but not regularly. Here is a sample shell
|
|
script that can be called from cron:
|
|
|
|
<sect2>Sample cron shell script
|
|
<p>
|
|
This is a very simple script that merely switches to a channel and records
|
|
sixty minutes of a program to a date oriented filename. Place this in $HOME/bin
|
|
of the user who will actually do the recording - since I am going to run it at
|
|
6pm, I'll call it recordshow6pm.sh.
|
|
<p>
|
|
<verb>
|
|
#!/bin/sh
|
|
LD_LIBRARY_PATH=/usr/local/lib
|
|
export LD_LIBRARY_PATH
|
|
PATH=/usr/local/bin:$PATH
|
|
export PATH
|
|
|
|
DATE=`date +%m%d%y`
|
|
FILENAME=/path/to/myshow-6pm-$DATE.avi
|
|
v4lctl setstation 3
|
|
vcr -t 60m $FILENAME
|
|
</verb>
|
|
<p>
|
|
<sect2>Calling the script from cron
|
|
<p>
|
|
Now it's time to call it from cron, monday through friday at 6pm. To do this,
|
|
run the crontab -e command as the correct user and enter the following line:
|
|
<verb>
|
|
00 18 * * 1-5 /home/username/bin/recordshow6pm.sh
|
|
</verb>
|
|
<p>
|
|
|
|
<sect2>Calling the script from at
|
|
<p>
|
|
If you'd rather call the script from at, for one-time execution, you may instead do this:
|
|
<verb>
|
|
at -f /home/username/bin/recordshow6pm.sh 18:00
|
|
</verb>
|
|
<p>
|
|
|
|
<sect>Further Information
|
|
<p>
|
|
<nidx>VCRHOWTO!information resources</nidx>
|
|
In this section, you'll find more information on additional utilities or ideas for making a VCR
|
|
work under Linux.
|
|
<p>
|
|
|
|
<sect1>MyVCR Wrapper Program proposal
|
|
<p>
|
|
We need a wrapper program that provides us with the ability to do the following things (from a main menu)
|
|
<itemize>
|
|
<item>Archive recorded shows to CDR/CDRW/DVDRAM
|
|
<item>Play Recorded shows (From hard disk or prompt for the media!)
|
|
<item>Set record times for recording shows - use tvguide.com as a source for showtimes. A program
|
|
that accesses tvguide.com for showtimes is: <url url="http://http://www.cherrynebula.net/tvguide.php" name="tvguide.com perl program">
|
|
<item>Be fully configurable to used preferred recorder/player.
|
|
<item>See <url url="http://www.s.netic.de/gfiala/" name="Kvdr"> as a possible place to start.
|
|
</itemize>
|
|
<p>
|
|
|
|
<sect1>Alternate Recorders
|
|
<p>
|
|
<itemize>
|
|
<item><url url="http://mars.tuwien.ac.at/~roman/nuppelvideo" name="Slow-CPU Capture Program">
|
|
<item>
|
|
</itemize>
|
|
<p>
|
|
|
|
<sect1>Recording Results
|
|
<p>
|
|
<itemize>
|
|
<item>Serge Wroclawski - 200mhz CPU is not fast enough.
|
|
<item>Brian Hayward - 900mhz Duron is fast enough.
|
|
<item>Stephen Moore - 500mhz Celeron CPU is not fast enough.
|
|
</itemize>
|
|
<p>
|
|
|
|
<sect1>Other Suggested Ideas
|
|
<p>
|
|
<itemize>
|
|
<item>Describe recording from FM Tuner (radio) card and piping it to oggvorbiz or mp3encoder.
|
|
<item>Cable Descramblers: <url url="http://fscktv.fortyoz.org/" name="fscktv"> and
|
|
<url url="http://linux.davecentral.com/cgi-bin/homepage.pl?6158" name="CableTV">.
|
|
<item>Figure out how to implement <url url="http://www.righto.com/papers/vcr.html" name="VCR+">
|
|
<item>Encode audio as mp3 instead of PCM. This is reported to shrink 1hr of video from 420mb to
|
|
about 140mb! remenyi (at) ace-net.com.au suggested <url url="http://www186.pair.com/vdub" name="Virtual Dub">
|
|
Unfortunately this is a windows program, if anyone can provide instructions on how to do this under
|
|
linux, I will include it.
|
|
<item>Check out the <url url="http://www.cadsoft.de/people/kls/vdr/index.htm" name="Video Disk Recorder Project"> -
|
|
build your own digital satellite receiver.
|
|
<item>Check out the <url url="http://linuxtv.org/" name="LinuxTV project">.
|
|
<item>A Menu Driven Video Recorder: <url url="http://www.s.netic.de/gfiala/" name="Kvdr">
|
|
</itemize>
|
|
<p>
|
|
|
|
<sect>Getting Help
|
|
<p>
|
|
<nidx>VCRHOWTO!assistance, obtaining</nidx>
|
|
Feel free to contact me if you have any questions. For product specific
|
|
questions, you may also make use of resources for the specific application.
|
|
As always, read the documentation for each product before contacting someone.
|
|
I may be contacted at <url url="mailto:twivel@slothmud.org" name="twivel@slothmud.org">.
|
|
|
|
|
|
<sect>Concluding Remarks
|
|
<p>
|
|
<nidx>VCRHOWTO!conclusion</nidx>
|
|
I hope this document has been helpful. If you have any ideas or improvements
|
|
to this document, please feel free to contact me.
|
|
|
|
<sect>Questions and Answers
|
|
<p>
|
|
<nidx>VCRHOWTO!FAQ</nidx>
|
|
<nidx>VCRHOWTO!frequently asked questions</nidx>
|
|
|
|
This is just a collection of what I believe are the most common
|
|
questions people might have. Give me more feedback and I will
|
|
turn this section into a proper FAQ.
|
|
|
|
<itemize>
|
|
|
|
<item>Q:Why don't I get audio when playing back recorded programs?
|
|
<p>
|
|
A: This could be due to several things. In order for audio recording to work,
|
|
you must have the tuner card send output to the 'line-in' on your sound card.
|
|
You must also use the mixer to enable the line-in on the sound card (if you hear
|
|
sound while recording the show, it is probably enabled). I used to have my tuner
|
|
card sound sent to my stereo receiver instead of the sound card, which was why I
|
|
didn't get sound. Finally, it may be that the sound was recored properly, but your
|
|
sound device is in use by another program (esd, licq, xmms, etc).
|
|
|
|
<item>Q: Why is my video very jumpy?
|
|
<p>
|
|
A: This may be due to a slow CPU. I currently haven't determined the exact
|
|
requirements for recording with this method, I'm hoping user feedback will help
|
|
me figure out what CPU is indeed required. I have a Duron 700 that seems to work
|
|
fine, but I've heard that people with a 200-300mhz processor are unable to get
|
|
smooth video.
|
|
|
|
<item>Q: Why is the audio/video out of sync?
|
|
<p>
|
|
A: This may be due to an incorrect FPS setting for your video type. For NTSC
|
|
you will want to use 29.97. For PAL you will want to use 25. I still don't
|
|
get perfect audio/video syncronization - but I can live with it. Hopefully this
|
|
will improve over time.
|
|
|
|
</itemize>
|
|
|
|
</article>
|