~ubuntu-branches/ubuntu/lucid/recordmydesktop/lucid

« back to all changes in this revision

Viewing changes to doc/recordmydesktop.1

  • Committer: Bazaar Package Importer
  • Author(s): José L. Redrejo Rodríguez
  • Date: 2006-11-25 10:56:54 UTC
  • Revision ID: james.westby@ubuntu.com-20061125105654-zme0x5ytxzkyn45m
Tags: upstream-0.3.0r2
Import upstream version 0.3.0r2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.TH "RECORDMYDESKTOP" 1 "13/7/2006" "Linux"
 
2
 
 
3
 
 
4
.SH NAME
 
5
recordMyDesktop \- record desktop sessions to an Ogg\-Theora\-Vorbis file.
 
6
 
 
7
 
 
8
.SH SYNOPSIS
 
9
 
 
10
.B        recordmydesktop
 
11
[
 
12
.B
 
13
Options
 
14
]^
 
15
.B
 
16
filename
 
17
.br
 
18
.br
 
19
.SH DESCRIPTION
 
20
.PP
 
21
        recordMyDesktop produces a file(default out.ogg) that contains a video and audio recording
 
22
.br
 
23
of a linux desktop session. The default behavior of recording is to mark areas that have changed(through libxdamage)
 
24
.br
 
25
and update the frame. This behavior can be changed (option
 
26
.B
 
27
\-\-full\-shots
 
28
) to produce a more accurate result
 
29
.br
 
30
or capture windows that do not generate events on change(windows with accelerated 3d context)
 
31
.br
 
32
but this will notably increase the workload. In this case, enabling the
 
33
.B
 
34
\-\-with\-shared
 
35
option is recommended
 
36
.br
 
37
(by default this option is switched on or off at every frame, according to the size of the area to be aquired).
 
38
.br
 
39
.br
 
40
recordMyDesktop doesn't have a commandline interface.
 
41
.br
 
42
After startup, it can be controled only through the following signals:
 
43
.br
 
44
.br
 
45
.B
 
46
SIGUSR1
 
47
causes the program to pause if it's currently recording, and vice-versa.
 
48
.br
 
49
.B
 
50
SIGTERM
 
51
causes normal termination of the recording.
 
52
.br
 
53
.B
 
54
SIGINT
 
55
also causes normal termination.
 
56
.br
 
57
.B
 
58
SIGABRT
 
59
terminates the program and removes the specified output file.
 
60
.br
 
61
.br
 
62
.br
 
63
A typical scenario of recording can be a command as simple as:
 
64
.br
 
65
.B
 
66
~$ recordmydesktop
 
67
.br
 
68
which will produce a fullscreen recording named out.ogg
 
69
.br
 
70
while a command like:
 
71
.br
 
72
.B
 
73
~$ recordmydesktop foo.ogg
 
74
.br
 
75
will write output to foo.ogg
 
76
.br
 
77
.br
 
78
Since version 0.3, encoding will happen right after the recording finishes.
 
79
.br
 
80
While this behavior saves a lot of CPU, you can revert to the old one by entering the \-\-on\-the\-fly\-encoding switch.
 
81
.br
 
82
.br
 
83
To specify a region for recording you can type this:
 
84
.br
 
85
.B
 
86
~$ recordmydesktop -x X_pos -y Y_pos -width WIDTH -height HEIGHT -o foo.ogg
 
87
.br
 
88
where X_pos and Y_pos specify the offset in pixels from the upper left
 
89
.br
 
90
corner of your screen and WIDTH and HEIGHT the size of the window to be recorded(again in pixels).
 
91
.br
 
92
If the area extends beyond your current resolution, you will be notified appropriately and nothing will happen.
 
93
.br
 
94
Notice also, that if any option is entered you have to specify the output file with the \-o switch.
 
95
.br
 
96
If you try to save under a filename that already exists, the name will be post-fixed with a number (incremented if that name exists already)
 
97
.br
 
98
.br
 
99
.B
 
100
To normally end a recording you can press ctl-c.
 
101
.br
 
102
(which will send a
 
103
.B
 
104
SIGINT
 
105
to the program).
 
106
.br
 
107
.br
 
108
For further manipulation of the end result look at the
 
109
.B
 
110
OPTIONS
 
111
and
 
112
.B
 
113
NOTES
 
114
sections.
 
115
.br
 
116
.br
 
117
.br
 
118
.SH EXIT STATUS
 
119
0 is success
 
120
.br
 
121
Non-zero means an error occurred, which is printed in stderr.
 
122
.br
 
123
.br
 
124
The following error codes indicate the nature of the error:
 
125
.br
 
126
1 Error while parsing the arguments.
 
127
.br
 
128
2 Initializing the encoder failed(either vorbis or theora).
 
129
.br
 
130
3 Could not open/configure sound card.
 
131
.br
 
132
4 Xdamage extension not present.
 
133
.br
 
134
5 Shared memory extension not present.
 
135
.br
 
136
6 Xfixes extension not present.
 
137
.br
 
138
7 XInitThreads failed.
 
139
.br
 
140
8 No $DISPLAY environment variable and none specified as argument.
 
141
.br
 
142
9 Cannot connect to Xserver.
 
143
.br
 
144
10 Color depth is not 24bpp.
 
145
.br
 
146
11 Improper window specification.
 
147
.br
 
148
12 Cannot attach shared memory to proccess.
 
149
.br
 
150
13 Cannot open file for writting.
 
151
.br
 
152
.br
 
153
.SH OPTIONS
 
154
.PP
 
155
.B
 
156
Generic Options:
 
157
.br
 
158
.TP
 
159
.B
 
160
    \-h or \-\-help
 
161
    Print help summary and exit.
 
162
.br
 
163
.TP
 
164
.B
 
165
    \-\-version
 
166
    Print program version and exit.
 
167
.br
 
168
.PP
 
169
.br
 
170
.B
 
171
Image Options:
 
172
.br
 
173
.TP
 
174
.B
 
175
    \-windowid id_of_window
 
176
    id of window to be recorded.
 
177
.br
 
178
.TP
 
179
.B
 
180
    \-display DISPLAY
 
181
    Display to connect to.
 
182
.br
 
183
.TP
 
184
.B
 
185
    \-x X
 
186
    Offset in x direction.
 
187
.br
 
188
.TP
 
189
.B
 
190
    \-y Y
 
191
    Offset in y direction.
 
192
.br
 
193
.TP
 
194
.B
 
195
    \-width N
 
196
    Width of recorded window.
 
197
.br
 
198
.TP
 
199
.B
 
200
    \-height N
 
201
    Height of recorded window.
 
202
.br
 
203
.TP
 
204
.B
 
205
.br
 
206
.br
 
207
.TP
 
208
.B
 
209
    \-dummy\-cursor color
 
210
    Draw a dummy cursor, instead of the normal one.Value of color can be "black" or "white".
 
211
.br
 
212
.TP
 
213
.B
 
214
    \-\-no\-cursor
 
215
    Disable drawing of the cursor.
 
216
.br
 
217
.TP
 
218
.B
 
219
    \-\-with\-shared
 
220
    Enable usage of MIT\-shared memory extension at all times.
 
221
.br
 
222
.TP
 
223
.B
 
224
    \-\-no\-cond\-shared
 
225
    Do not use the MIT\-shared memory extension when aquiring large areas.
 
226
.br
 
227
.TP
 
228
.B
 
229
     \-shared\-threshold n
 
230
     Threshold over which shared memory is used(default 75).
 
231
.br
 
232
.TP
 
233
.B
 
234
    \-\-full\-shots
 
235
    Take full screenshot at every frame(Not recomended!).
 
236
.br
 
237
.TP
 
238
.B
 
239
    \-\-quick\-subsampling
 
240
    Do subsampling of the chroma planes by discarding extra pixels.
 
241
.br
 
242
.TP
 
243
.B
 
244
    \-fps N(number>0.0)
 
245
    A positive number denoting desired framerate.
 
246
.br
 
247
.br
 
248
.PP
 
249
.B
 
250
Sound Options:
 
251
.br
 
252
.TP
 
253
.B
 
254
    \-channels N(number>0)
 
255
    A positive number denoting desired sound channels in recording.
 
256
.br
 
257
.TP
 
258
.B
 
259
    \-freq N(number>0)
 
260
    A positive number denoting desired sound frequency.
 
261
.br
 
262
.TP
 
263
.B
 
264
    \-device SOUND_DEVICE
 
265
    Sound device(default hw0:0).
 
266
.br
 
267
.TP
 
268
.B
 
269
    \-\-no\-sound
 
270
    Do not record sound.
 
271
.br
 
272
.PP
 
273
.br
 
274
.B
 
275
Encoding Options:
 
276
.br
 
277
.TP
 
278
.B
 
279
    \-\-on\-the\-fly\-encoding
 
280
    Encode the audio-video data, while recording.
 
281
.br
 
282
.TP
 
283
.B
 
284
    \-v_quality n
 
285
    A number from 0 to 63 for desired encoded video quality(default 63).
 
286
.br
 
287
.TP
 
288
.B
 
289
    \-v_bitrate n
 
290
    A number from 45000 to 2000000 for desired encoded video bitrate(default 45000).
 
291
.br
 
292
.TP
 
293
.B
 
294
    \-\-drop\-frames
 
295
    Allow theora encoder to drop frames(this can significantly lower proccessing times).
 
296
.br
 
297
.TP
 
298
.B
 
299
    \-s_quality n
 
300
    Desired audio quality(\-1 to 10).
 
301
.br
 
302
.PP
 
303
.br
 
304
.B
 
305
Misc Options:
 
306
.br
 
307
.TP
 
308
.B
 
309
    \-\-no\-wm\-check
 
310
    When a 3d compositing window manager is detected the program will function as if the
 
311
    \-\-full\-shots and \-\-with\-shared options have been specified. This option disables that
 
312
    behavior alltogether.
 
313
.br
 
314
.TP
 
315
.B
 
316
    \-\-zero\-compression
 
317
    Image data are always cached uncompressed.
 
318
.br
 
319
.TP
 
320
.B
 
321
    \-workdir DIR
 
322
    Location where a temporary directory will be created to hold project files(default $HOME).
 
323
.br
 
324
.TP
 
325
.B
 
326
    \-delay n[H|h|M|m]
 
327
    Number of secs(default),minutes or hours before capture starts(number can be float).
 
328
.br
 
329
.TP
 
330
.B
 
331
    \-\-overwrite
 
332
    If there is already a file with the same name, delete it.
 
333
    Default action is to add a number postfix to the new file.
 
334
    For example when not specifying a name, if out.ogg exists,
 
335
    the new file will be out.ogg.1 and if that exists too, out.ogg.2
 
336
    and so on (no ad-infinitum though, more like ad-short-integer...)
 
337
.br
 
338
.TP
 
339
.B
 
340
    \-o filename
 
341
    Name of recorded video(default out.ogg).
 
342
 
 
343
 
 
344
 
 
345
.PP
 
346
.br
 
347
If no other option is specified, filename can be given without the \-o switch.
 
348
.br
 
349
.br
 
350
.SH USAGE
 
351
.TP
 
352
.B        recordmydesktop
 
353
.br
 
354
[\-h| \-\-help| \-\-version| \-delay n[H|h|M|m]| \-windowid id_of_window|
 
355
.br
 
356
\-display DISPLAY| \-x X| \-y Y|\-width N| \-height N| \-fps N(number>0)| \-\-on\-the\-fly\-encoding|
 
357
.br
 
358
\-v_quality n| \-s_quality n| \-v_bitrate n| \-\-no\-framedrop| \-dummy\-cursor color|
 
359
.br
 
360
\-\-no\-cursor| \-freq N(number>0)| \-channels N(number>0)| \-device SOUND_DEVICE|
 
361
.br
 
362
\-\-no\-sound| \-\-with\-shared| \-\-no\-cond\-shared| \-shared\-threshold n| \-\-full\-shots|
 
363
.br
 
364
\-\-quick\-subsampling| \-workdir DIR| \-\-zero\-compression| \-\-no\-wm\-check| \-\-overwrite| \-o filename]^filename
 
365
.br
 
366
.br
 
367
.br
 
368
.br
 
369
.SH ENVIRONMENT
 
370
.TP
 
371
.B
 
372
DISPLAY
 
373
.br
 
374
Display environment variable, specifying X server to connect to.
 
375
.br
 
376
.SH NOTES
 
377
.br
 
378
    Recording a window using the \-windowid option, doesn't track the window itself, but the region that it covers.
 
379
.br
 
380
Also when using that option the \-x,\-y,\-width and \-height options are relative to the specified window area.
 
381
.br
 
382
An easy way to find out the id of a window, is by using the
 
383
.B
 
384
xwininfo
 
385
program.
 
386
.br
 
387
Running a command like :
 
388
.br
 
389
.B
 
390
xwininfo |grep "Window id:"|sed \-e "s/xwininfo\\:\\ Window id:\\ // ;s/\\ \.*//"
 
391
.br
 
392
will give you only the id of the window(which should look like this: 0x4800005)
 
393
.br
 
394
More conviniently you can put all that in the command that launches recordMyDesktop like this:
 
395
.br
 
396
.B
 
397
~$recordmydesktop -windowid $(xwininfo |grep "Window id:"|sed \-e "s/xwininfo\\:\\ Window id:\\ // ;s/\\ \.*//" )
 
398
.br
 
399
.br
 
400
    Also, the lower quality you select on a video recording (
 
401
.B
 
402
-v_quality
 
403
option), the highest CPU-power that you will need.
 
404
.br
 
405
So
 
406
.B
 
407
if you are doing the encoding on the fly
 
408
,it's better to start with default values and manipulate
 
409
the end\-result with another program.
 
410
.br
 
411
An excellent converter is
 
412
.B
 
413
ffmpeg2theora
 
414
, which despite its name is also a theora to theora converter.
 
415
.br
 
416
Changing the quality of a recordng with it,can be as simple as :
 
417
.br
 
418
.B
 
419
ffmpeg2theora infile.ogg \-v 3 \-a 4 \-o outfile.ogg
 
420
.br
 
421
It can even perform resizing on the size of the recording, or change the overall duration.
 
422
.br
 
423
.br
 
424
.SH BUGS
 
425
Does not record 3d windows, if \-\-full\-shots isn't specified.
 
426
.br
 
427
Saving 65536 files with the same name, will result in upredictable behavior,
 
428
.br
 
429
which might manifest as an endless loop, or a segmentation fault.
 
430
.br
 
431
.SH AUTHORS
 
432
John Varouhakis(johnvarouhakis@gmail.com)
 
433
.br
 
434
.SH SEE ALSO
 
435
.BR xwininfo(1)
 
436
.br
 
437
.BR ffmpeg2theora(1)
 
438
.br
 
 
b'\\ No newline at end of file'