Grab X11 input and create an MPEG at 25 fps with the resolution 800x600
Proper screencast with audio using ffmpeg and x264, as per http://verb3k.wordpress.com/2010/01/26/how-to-do-proper-screencasts-on-linux/
You will have to use the sound preferences (record) to choose the audio source and set it to internal.
Yet another x11grab using ffmpeg. I also added mic input to the capturing video stream using alsa. Yet I need to find out how to capture audio which is currently playing. Show Sample Output
gorecord foo.mp4
I've tried all of the screen recorders available for Linux and this is easily the best. xvidcap segfaults; VNC is too much hassle. There are alternatives of this command already here that I am just too lazy to reply to. Messing with the frames per second option, -r, 25 seems to be the best. Any lower and the video will look like a flipbook, if it records at all - -r 10 won't - any faster is the same, oddly enough.
Edit: CLF doesn't like my long command to add audio, so here it is in the description.
goaddaudio()
{
if [ $# != 3 ]; then
echo 'goaddaudio < audio > < src video > < dst video >'
return
fi
f=goaddaudio$RANDOM
ffmpeg -i "$2" &> $f
d=$( grep Duration $f | awk '{print $2}' | tr -d ',' ) &&
rm $f &&
ffmpeg -i "$1" -i "$2" -r 25 -ab 192k -ar 44100 -sameq -t $d "$3"
}
requires ffmpeg & xwininfo to be installed replace hw:0,0 with pulse if you like using pulseaudio press q to quit
The script gets the dimensions and position of a window and calls ffmpeg to record audio and video of that window. It saves it to a file named output.mkv Show Sample Output
Play with the framerate option '-r' to scale back bandwidth usage. The '-s' option is the captured screan area, not the rescaled size. If you want to rescale add a second '-s' option after '-i :0'. Rescaling smaller will also decrease bandwidth.
Since ffmpeg on Ubuntu is deprecated, now there is avconv. Please note that the screen area here is set with a predefined format "-s wxga" that is corresponding to "-s 1366x768") There is also the option to add a title in the metadata of the resulting video.
This will grab the image from desktop, starting with the upper-left corner at x=100, y=200 with a width and height of 1024?768.
A video capture command which can be assigned to a keyboard shortcut.
This is identical to the original command, but allows you to specify an offset if you have multiple monitors. In this case you'll record a 1366x768 window that's offset by 1366 pixels in the x axis and 0 pixels in the y axis. Note also that the -sameq option has been replaced by -qscale - at least in ffmpeg version 1.2.1 on Fedora 19.
sxga ==> 1280x1024
vga ==> 800x600
------------------------------------------------
xwininfo -root | grep geometry
------------------------------------------------
More stealthy ffmpeg method. The imagemagick 'import' method causes a system beep.
Now we can capture only a specific window (we have to chose by clicking on it) ffmpeg complains about "Frame size must be a multiple of 2" so we calculate the upper even number with (g)awk trickery. We remove the grep, we are already using (g)awk here ....why losing time with grep !!! ;) Show Sample Output
Since ffmpeg on Ubuntu is deprecated, now there is avconv. Please note that the screen area here is set with a predefined format "-s wxga" that is corresponding to "-s 1366x768") There is also the option to add a title in the metadata of the resulting video.
to view on another box:
nc <server address> <port> | ffplay -
use -r to adjust FPS and -q to adjust compression. use on trusted network only as nc is unencrypted.
needed: ffmpeg apt-get install libxvidcore-dev libx264-dev
commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.
Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.
» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10
Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):
Subscribe to the feed for: