screencast.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 22 Feb 2016 12:46:36 +0200
changeset 1905 fba288d59662
parent 1635 b2a2555a4368
child 1912 8b81a8f0f692
permissions -rw-r--r--
Include only local subsections into TOC. This prevent duplication of TOC when build single page HTML document. Also this make unnecessary CSS hack to hide document title as top level section.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1334
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 916
diff changeset
     1
.. -*- coding: utf-8; -*-
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 916
diff changeset
     2
.. include:: HEADER.rst
913
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
     3
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
     4
============
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
     5
 Screncast.
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
     6
============
912
b9eab34a4ce1 Take proper file name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 597
diff changeset
     7
.. contents::
1905
fba288d59662 Include only local subsections into TOC. This prevent duplication of
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1635
diff changeset
     8
   :local:
377
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
914
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    10
VLC.
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    11
====
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    12
::
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    13
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    14
  $ cvlc screen:// --screen-mouse-image cursor.png --screen-fps=12 \
916
f96040b5d018 Reindent code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 915
diff changeset
    15
    --screen-width=1680 --screen-height=1050 --no-sout-audio --sout \
f96040b5d018 Reindent code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 915
diff changeset
    16
    "#transcode{venc=theora,quality:10,scale=0.75,fps=12}:duplicate{dst=std{access=file,mux=ogg,dst=desktop.ogg}}}"
914
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    17
916
f96040b5d018 Reindent code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 915
diff changeset
    18
  $ cvlc screen:// --screen-fps=12 --screen-mouse-image=e:/home/.icon/cursor.png --no-sout-audio --sout \
f96040b5d018 Reindent code
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 915
diff changeset
    19
    "#transcode{venc=x264,quality:100,scale=1,fps=12}:duplicate{dst=std{access=file,mux=mp4,dst=desktop.ogg}}}"
915
fab4d33f24c0 Add x264 example.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 914
diff changeset
    20
914
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    21
Available options:
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    22
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    23
  screen-caching <integer>
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    24
                Time in milliseconds.
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    25
  screen-fps <integer>
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    26
                Capture frames per second (0 default).
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    27
  screen-top <integer>
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    28
                The top edge coordinate of the subscreen.
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    29
  screen-left <integer>
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    30
                The left edge coordinate of the subscreen.
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    31
  screen-width <integer>
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    32
                The width of the subscreen.
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    33
  screen-height <integer>
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    34
                The height of the subscreen.
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    35
  screen-mouse-image <filename>
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    36
                Mouse pointer image to use.
e6f53a520f24 VLC for screencast.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 913
diff changeset
    37
912
b9eab34a4ce1 Take proper file name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 597
diff changeset
    38
vnc2flv.
b9eab34a4ce1 Take proper file name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 597
diff changeset
    39
========
378
1aeb77e1b4be Added vnc2flv and ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 377
diff changeset
    40
1aeb77e1b4be Added vnc2flv and ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 377
diff changeset
    41
In order to rrecord require VNC server running on host.
1aeb77e1b4be Added vnc2flv and ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 377
diff changeset
    42
1aeb77e1b4be Added vnc2flv and ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 377
diff changeset
    43
  http://www.unixuser.org/~euske/python/vnc2flv/index.html
1aeb77e1b4be Added vnc2flv and ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 377
diff changeset
    44
                home page
1aeb77e1b4be Added vnc2flv and ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 377
diff changeset
    45
1519
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    46
libav.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    47
======
913
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
    48
::
378
1aeb77e1b4be Added vnc2flv and ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 377
diff changeset
    49
1519
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    50
  $ sudo apt-get install libav-tools
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    51
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    52
  $ avconv -f x11grab -s cif -r 25 -i :0.0 /tmp/out.mpg
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    53
  $ avconv -f x11grab -s cif -r 25 -i :0.0+10,20 /tmp/out.mpg
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    54
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    55
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    56
ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    57
=======
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    58
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    59
Only video::
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    60
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    61
  $ ffmpeg -f x11grab -r 25 -s cif -i :0.0 out.mpg
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    62
  $ ffmpeg -f x11grab -r 25 -s 1024x768 -i :0.0 out.mpg
378
1aeb77e1b4be Added vnc2flv and ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 377
diff changeset
    63
1519
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    64
Video with audio::
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    65
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    66
  $ ffmpeg -f oss -i /dev/audio -f x11grab -s cif -r 3 -ab 11 -i :0.0 out.mp4
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    67
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    68
Oprsions description:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    69
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    70
 * ``-r`` frames per second
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    71
 * ``-s`` resolution
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    72
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    73
recordMyDesktop.
913
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
    74
================
1519
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    75
::
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1356
diff changeset
    76
1635
b2a2555a4368 recordMyDesktop.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1520
diff changeset
    77
  $ recordmydesktop --no-sound --windowid $(xwininfo | awk '/Window id:/ {print $4}')
913
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
    78
912
b9eab34a4ce1 Take proper file name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 597
diff changeset
    79
Screenshort movies.
b9eab34a4ce1 Take proper file name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 597
diff changeset
    80
===================
377
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
1356
6760780a620b Screenshort movie by mencoder.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
    82
Screenshort movie by mencoder.
6760780a620b Screenshort movie by mencoder.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
    83
------------------------------
6760780a620b Screenshort movie by mencoder.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
    84
::
6760780a620b Screenshort movie by mencoder.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
    85
6760780a620b Screenshort movie by mencoder.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
    86
  $ mencoder "mf://*.jpg" -mf fps=30 -o output.avi
6760780a620b Screenshort movie by mencoder.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
    87
1520
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    88
Screenshort movie by ffmpeg.
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    89
----------------------------
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    90
::
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    91
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    92
  mplayer -ao null -ss 0:0:33 -endpos 2 eagles.avi -vo jpeg:outdir=~/dir
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    93
  mplayer -ao null -ss 0:0:33 -endpos 2 eagles.avi -vo png:z=9:outdir=~/dir
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    94
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    95
Here:
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    96
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    97
 * ``-ss`` tells mplayer where you begin
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    98
 * ``-endpos`` tells mplayer where to stop (minutes)
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
    99
 * ``z=9`` sets compression level
c029267830ff Screenshort movie by ffmpeg.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1519
diff changeset
   100
912
b9eab34a4ce1 Take proper file name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 597
diff changeset
   101
ImageMagic and shell script.
b9eab34a4ce1 Take proper file name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 597
diff changeset
   102
----------------------------
913
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
   103
::
377
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   104
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   105
  #!/bin/bash
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   106
  let iter=1
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   107
  while [ "$iter" -le "$stop" ]; do
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   108
    import $iter.png
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   109
    sleep 1
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   110
    let x+=1
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   111
  done
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   112
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   113
If you interesting in capturing specific window - by 'xwininfo' find,
913
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
   114
intereesting your window id (hex value) and use command::
377
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   115
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   116
  import -window $windowid $iter.png
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   117
913
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
   118
To quick view result run::
377
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   119
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   120
  $ cd $img_dir
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   121
  $ animate -delay 20 *.png
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   122
  ^C
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   123
913
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
   124
To compound image together::
377
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   125
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   126
  $ convert -delay 20 *.png capture.mng  # license free, multi-image file format
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   127
  $ convert -delay 20 *.png capture.gif
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   128
913
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
   129
You can add text to pictures before compound theirs::
377
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   130
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   131
  $ mogrify -fill yellow -draw 'Rectangle 10,10 150,30' -fill black -pointsize 14 \
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   132
     -draw 'text 15,25 "by http://example.com"' $iter.png
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   133
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   134
If screen capturing slow for you use MIFF file format.
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   135
913
f7cb11596372 Fix reStructedText error.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 912
diff changeset
   136
Use root flag to capture all screen::
377
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   137
3716a7f903f0 About screen capturing.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   138
  $ import -window root $iter.png
379
4b3846dd6a01 Added link.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 378
diff changeset
   139
4b3846dd6a01 Added link.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 378
diff changeset
   140
  http://linuxdevcenter.com/pub/a/linux/2004/03/04/screen_capture_movies.html
4b3846dd6a01 Added link.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 378
diff changeset
   141
                Making Screen-Capture Movies by Robert Bernier
912
b9eab34a4ce1 Take proper file name.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 597
diff changeset
   142