I had to create a video and tried couple of applications on Ubuntu 13.10 to record my desktop session. A little Googling suggested RecordMyDesktop and Istanbul as being the best in the business, however, due to some reasons (probably due to Unity interface) both didn’t work for me.
In the end I have to come up with a command line option (proving it to be my best friend). If by any means, you’re facing the same issue, just try to use ffmpeg with switches as under:
ffmpeg -y -f alsa -ac 2 -i pulse -f x11grab -r 25 -s 1920×1080 -i :0.0 -vcodec libx264 -vpre lossless_ultrafast -crf 22 -acodec libmp3lame -ar 44100 -ab 126k -threads 3 ~/Desktop/screencast.mkv
And if you’re a bit more curious about the CLI Switches, here are the details so that you can modify it as per your own requirement:
Overwrite output files without asking.
‘-f fmt (input/output)’
Force input or output file format. The format is normally auto detected for input files and guessed from the file extension for output files, so this option is not needed in most cases.
‘-ac[:stream_specifier] channels (input/output,per-stream)’
Set the number of audio channels. For output streams it is set by default to the number of input audio channels. For input streams this option only makes sense for audio grabbing devices and raw demuxers and is mapped to the corresponding demuxer options.
‘-i input file’
Input file name
Set frame rate (Hz value, fraction or abbreviation)
‘-o Output file’
Output file name
‘-vcodec codec (output)’
Set the video codec. This is an alias for
‘-vpre codec (output)’
Preset Codec Suboptions
Enables constant quality mode, and selects the quality (x264)
‘-acodec codec (input/output)’
Set the audio codec. This is an alias for
‘-ar[:stream_specifier] freq (input/output,per-stream)’
Set the audio sampling frequency. For output streams it is set by default to the frequency of the corresponding input stream. For input streams this option only makes sense for audio grabbing devices and raw demuxers and is mapped to the corresponding demuxer options.
Set bitrate (may be deprecated in your version, use -b instead in this case)
Update: After playing with couple of options, I used this one to avoid large file sizes. I didn’t need any voice though.
ffmpeg -y -f alsa -ac 2 -i pulse -f x11grab -r 17 -s 1920×1080 -i :0.0 -vcodec libx264 -crf 11 -acodec libmp3lame -ar 2250 -ab 163k -threads 3 ~/Desktop/screencast2.mkv